smarter Makefile, fixed grammar
git-svn-id: svn://anubis/gvsu@113 45c1a28c-8058-47b2-ae61-ca45b979098e
This commit is contained in:
parent
b6a5a19e1e
commit
daae9b09b4
@ -1,12 +1,13 @@
|
|||||||
|
|
||||||
PKG := jholtrop.gvsu.cs675.bottomup
|
PKG := jholtrop.gvsu.cs675.bottomup
|
||||||
PKGPATH := $(subst .,/,$(PKG))
|
PKGPATH := $(subst .,/,$(PKG))
|
||||||
|
PARSER := $(PKGPATH)/parser/Parser.java
|
||||||
|
GRAMMAR := arithmetic.grammar
|
||||||
|
|
||||||
all: sablecc prog
|
all: $(PARSER) prog
|
||||||
|
|
||||||
.PHONY: sablecc
|
$(PARSER): $(GRAMMAR)
|
||||||
sablecc:
|
sablecc $(GRAMMAR)
|
||||||
sablecc arithmetic.grammar
|
|
||||||
|
|
||||||
.PHONY: prog
|
.PHONY: prog
|
||||||
prog:
|
prog:
|
||||||
|
@ -3,7 +3,7 @@ Package jholtrop.gvsu.cs675.bottomup;
|
|||||||
|
|
||||||
Tokens
|
Tokens
|
||||||
blank = (' ' | 9 | 10 | 13);
|
blank = (' ' | 9 | 10 | 13);
|
||||||
number = ['0' .. '9']+ ('.' ['0' .. '9']+)?;
|
number = ['0' .. '9']+;
|
||||||
plus = '+';
|
plus = '+';
|
||||||
minus = '-';
|
minus = '-';
|
||||||
multiply = '*';
|
multiply = '*';
|
||||||
@ -22,7 +22,8 @@ Productions
|
|||||||
|
|
||||||
term =
|
term =
|
||||||
{multiplication} term multiply factor |
|
{multiplication} term multiply factor |
|
||||||
{division} term divide factor;
|
{division} term divide factor |
|
||||||
|
{factor} factor;
|
||||||
|
|
||||||
factor =
|
factor =
|
||||||
{number} number |
|
{number} number |
|
||||||
|
@ -26,7 +26,7 @@ public class Evaluator
|
|||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
System.out.println(e.getMessage());
|
System.out.println("Error: " + e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user