如何为Ada这样的简单编程语言扩展抽象语法分析器Java类



我需要编写一个语法分析器Java类。为此,我应该扩展提供的抽象语法分析器java类。

我知道这应该很直接,但我已经花了相当长的时间试图开始,只是觉得。。。卡住了。

这是为我提供的抽象类。

public abstract class AbstractSyntaxAnalyser
{
LexicalAnalyser lex ;
Token nextToken ;
Generate myGenerate = null;

public abstract void _statementPart_() throws IOException, CompilationException;

public abstract void acceptTerminal(int symbol) throws IOException, CompilationException;

public void parse( PrintStream ps ) throws IOException
{
ps.println( lex.getFilename() );
myGenerate = new Generate();
try {
nextToken = lex.getNextToken() ;
_statementPart_() ;
acceptTerminal(Token.eofSymbol) ;
myGenerate.reportSuccess() ;
ps.println( "OKn" );
}
catch( CompilationException ex )
{
ps.println( "Compilation Exception" );
ps.println( ex.toTraceString() );
ps.println( "STOPn" );
}
}
}

作为一名新的Java用户,我非常感谢关于如何推动这个项目的帮助和指导,因为这只是一大堆事情中的第一步,我似乎无法取得任何进展。。

祝你一切顺利!

要扩展该类,需要提供所有抽象方法的实现。一个无所作为的例子是

public class MySyntaxAnalyzer extends AbstractSyntaxAnalyzer{
public void _statementPart_() throws IOException, CompilationException{
}
public void acceptTerminal(int symbol) throws IOException, CompilationException{    
}
}

最新更新