在Power
Shell语言规范中,语法有一个名为“Primary Expression”的术语.
primary-expression: value member-access element-access invocation-expression post-increment-expression post-decrement-expression
在语义上,什么是用于描述的主要表达?
最佳答案 据我了解,这有两个部分:
>正式语法分解表达式之类的东西,因此运算符优先级是隐式的.
例如.如果语法有
expression:
value
expression * expression
expression + expression
…
需要有一个单独的机制来定义*具有更高的优先级.这个
当使用工具将语法直接转换为tokeniser / parser时,这一点变得非常重要
>有许多不同的特定规则(考虑PowerShell中的运算符数量)使用较少的规则将更难理解,因为每个规则都会很长.
1我怀疑PowerShell不是这种情况,因为它是高度上下文敏感的(表达式与命令模式,然后考虑调用非内置的可执行文件).但是这种跨语言的语法往往有很多共同之处,所以风格也可以被延续(不要重新发明轮子).