package edu.uva.softwarecons.util;
import edu.uva.softwarecons.grammar.QuestionnaireLexer;
import edu.uva.softwarecons.grammar.QuestionnaireParser;
import org.antlr.v4.runtime.ANTLRInputStream;
import org.antlr.v4.runtime.CommonTokenStream;
import org.antlr.v4.runtime.tree.ParseTree;
import java.io.IOException;
import java.io.InputStream;
/**
* Falconlabs
*
* @author Santiago Carrillo
* Date: 2/19/14
*/
public class ParserBuilder
{
private QuestionnaireParser parser;
public ParseTree buildParseTree( String inputText )
{
return getParseTree( new ANTLRInputStream( inputText ) );
}
public ParseTree buildParseTree( InputStream inputStream )
throws IOException
{
return getParseTree( new ANTLRInputStream( inputStream ) );
}
private ParseTree getParseTree( ANTLRInputStream input )
{
QuestionnaireLexer lexer = new QuestionnaireLexer( input );
CommonTokenStream tokens = new CommonTokenStream( lexer );
parser = new QuestionnaireParser( tokens );
return parser.questionnaire();
}
public QuestionnaireParser getParser()
{
return parser;
}
}