Я пытаюсь создать анализатор miniJava, но у меня возникли проблемы с поиском способа анализа объявлений методов, которые не имеют формальных параметров. например, public int getNumber()
Код, который у меня есть сейчас, работает для параметров одного или нескольких, но я не уверен, как вернуть пустой формальный объект, поскольку проблема явно связана со строкой, возвращающей ноль. Есть ли способ вообще пропустить оператор return и ничего не возвращать?
public Formal nt_FormalList() :
{
Type t;
Token s;
LinkedList<Formal> fl = new LinkedList<Formal>();
Formal f;
}
{
t = nt_Type() s = <IDENTIFIER> (f = nt_FormalRest() {fl.add(f);})*
{ return new Formal(t, s.image); }
| {}
{ return null; }
}
.....
public class Formal {
public final Type t;
public final String i;
public Formal(Type at, String ai) {
t = at;
i = ai;
}