As mentioned in the docs,Go中的语法是使用扩展的巴科斯-诺尔形式(EBNF)指定的:
Production = production_name "=" [ Expression ] "." .
Expression = Alternative { "|" Alternative } .
Alternative = Term { Term } .
Term = production_name | token [ "…" token ] | Group | Option | Repetition .
Group = "(" Expression ")" .
Option = "[" Expression "]" .
Repetition = "{" Expression "}" .
我正在尝试理解Go语法是如何定义的,如何使用这些语法规则分解/派生/理解表达式i++
和i+=1
。为了说明的目的,如何一步一步地替换这些产生式规则?
发布于 2020-06-08 13:42:49
表达式i++
使用IncDec statements的语法规则
IncDecStmt = Expression ( "++" | "--" ) .
在这里,production_name
将是IncDecStmt
,Term
将是"++"
或"--"
。
https://stackoverflow.com/questions/62263232
复制