Грамматика BNF, имитирующая объявления методов Java - PullRequest
0 голосов
/ 29 февраля 2012

Как мне написать BNF грамматику, имитирующую объявления методов Java?

Вот что у меня есть:

<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>

Есть ли у меня правильная идея?Это правильная форма для БНФ?Это ни к чему не приведет, я просто пытаюсь обдумать идею.

1 Ответ

3 голосов
/ 29 февраля 2012

Я думаю, вы идете в правильном направлении. Однако type не допускает имен классов (в Java вы можете передавать объекты в качестве параметров). И вам не хватает блока throws, и он не допускает массивы.

Почему бы вам не сравнить с фактической грамматикой BNF для Java ?

...