package a.b.c;

import org.antlr.runtime.ANTLRStringStream;
import org.antlr.runtime.CharStream;
import org.antlr.runtime.CommonTokenStream;
import org.antlr.runtime.RecognitionException;
import org.antlr.runtime.TokenStream;
import org.antlr.runtime.tree.CommonTreeNodeStream;

import a.b.c.Sample4Parser.evaluator_return;

public class Test4 {
	public static void main(String[] args) throws RecognitionException {
		//CharStream stream = new ANTLRStringStream("--4   *(3 + 5)*7*5");
		CharStream stream = new ANTLRStringStream("-5 - - + (-4)");
		//->(- (NEGATION 5) (NEGATION (NEGATION 4)))
		//CharStream stream = new ANTLRStringStream("-5 - - + -4");		
		//->(- (NEGATION 5) (NEGATION NEGATION 4))
		Sample4Lexer lexer = new Sample4Lexer(stream);
		TokenStream tokenStream = new CommonTokenStream(lexer);
		Sample4Parser parser = new Sample4Parser(tokenStream);
		evaluator_return evaluator = parser.evaluator();
		System.out.println(evaluator.tree.toStringTree());
		CommonTreeNodeStream nodeStream = new CommonTreeNodeStream(evaluator.tree);
		EvaluatorWalker walker = new EvaluatorWalker(nodeStream);
		int result = walker.evaluator();
		System.out.println("ok - result is = " + result);
	}
}