2015-03-08 4 views
0

im пытается сделать парсинг miniJava, но им не удалось выяснить способ анализа разметки методов, которые не имеют формальных параметров. ect public int getNumber() Код, который у меня сейчас работает для параметров одного или нескольких, но я не уверен, как вернуть пустой формальный объект, так как явно проблема заключается в том, что строка возвращает нуль. Есть ли способ пропустить утверждение возврата вообще и ничего не вернуть?javacc java.lang.NullPointerException

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

ответ

0

Я хотел бы предложить, что вы возвращаете список формалей из nt_FormalList.