如何编写模仿Java方法声明的BNF语法?
这就是我所拥有的:
<call> ::= <return-type> <method-identifier>(<parameter-list>);
<return-type> ::= void | <type>
<type> ::= byte | short | int | long | float | double | boolean | char
<parameter-list> ::= <parameter> | <parameter>,<parameter-list>
<parameter> ::= <type> <parameter-identifier>
我有正确的想法吗?这是BNF的正确形式吗?对于任何事情都不会实现,我只是想绕过这个想法。
答案 0 :(得分:3)
我认为你正朝着一个好方向前进。但是,type
不允许类名(在Java中,您可以将对象作为参数传递)。并且您缺少throws
块,并且它不允许数组。
为什么不与the actual BNF grammar for Java进行比较?