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