编程语言是通过语法定义的,例如 Java 在 JLS 中定义,见这里
这是一个最小的“压缩”语法,没有使用两次:结果是 - 对我来说 - 无用的语法描述,如MethodDeclaratorRest,它附加到MethodOrFieldDecl,如您在此处看到的,我称之为“最小,压缩方法”
方法或字段声明:
类型标识符 MethodOrFieldRest
MethodOrFieldRest:
VariableDeclaratorRest
MethodDeclaratorRest
MethodDeclaratorRest:
FormalParameters {[]} [抛出 QualifiedIdentifierList] ( MethodBody | ; )
这通常没问题,但我希望有一个像下面这样的语法,其中列出了MethodDeclaration类型的所有必要信息,我称之为“自上而下的方法”:
方法声明:
[Javadoc] {扩展修饰符}
[ ]
( 类型 | void ) 标识符 (
[ 形式参数
{ , 形式参数 } ] ) {[ ] }
[ 抛出 TypeName { , TypeName } ] ( 块 | ; )
搜索“自上而下的语法方法”,我找到了 Pete Jinks 的网站,使用“最小,压缩的方法”:这里
现在,我想使用“自上而下的方法”对编程语言 C 进行语法定义。