infix-to-RPN working
git-svn-id: svn://anubis/gvsu@114 45c1a28c-8058-47b2-ae61-ca45b979098e
This commit is contained in:
parent
daae9b09b4
commit
7d4e578674
@ -11,7 +11,7 @@ $(PARSER): $(GRAMMAR)
|
||||
|
||||
.PHONY: prog
|
||||
prog:
|
||||
javac $(PKGPATH)/Evaluator.java
|
||||
javac $(PKGPATH)/*.java
|
||||
|
||||
.PHONY: run
|
||||
run:
|
||||
|
@ -1,20 +1,15 @@
|
||||
|
||||
package jholtrop.gvsu.cs675.bottomup;
|
||||
|
||||
import jholtrop.gvsu.cs675.bottomup.analysis.*;
|
||||
import jholtrop.gvsu.cs675.bottomup.node.*;
|
||||
import jholtrop.gvsu.cs675.bottomup.lexer.Lexer;
|
||||
import jholtrop.gvsu.cs675.bottomup.parser.Parser;
|
||||
import java.io.*;
|
||||
|
||||
public class Evaluator
|
||||
public class Evaluator extends DepthFirstAdapter
|
||||
{
|
||||
public static void main(String[] args)
|
||||
{
|
||||
Evaluator e = new Evaluator();
|
||||
e.evaluate();
|
||||
}
|
||||
|
||||
void evaluate()
|
||||
{
|
||||
try
|
||||
{
|
||||
@ -23,10 +18,37 @@ public class Evaluator
|
||||
new InputStreamReader(System.in), 1024)));
|
||||
|
||||
Start tree = p.parse();
|
||||
|
||||
tree.apply(new Evaluator());
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
System.out.println("Error: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
public void caseTNumber(TNumber num)
|
||||
{
|
||||
System.out.print(num.getText() + " ");
|
||||
}
|
||||
|
||||
public void outAAdditionExpr(AAdditionExpr e)
|
||||
{
|
||||
System.out.print("+ ");
|
||||
}
|
||||
|
||||
public void outASubtractionExpr(ASubtractionExpr e)
|
||||
{
|
||||
System.out.print("- ");
|
||||
}
|
||||
|
||||
public void outAMultiplicationTerm(AMultiplicationTerm e)
|
||||
{
|
||||
System.out.print("* ");
|
||||
}
|
||||
|
||||
public void outADivisionTerm(ADivisionTerm e)
|
||||
{
|
||||
System.out.print("/ ");
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user