diff --git a/examples/java/calc/Calc.y b/examples/java/calc/Calc.y index edccb94c..948c7f1c 100644 --- a/examples/java/calc/Calc.y +++ b/examples/java/calc/Calc.y @@ -19,19 +19,17 @@ } %code { - public static void main(String[] args) throws IOException - { - CalcLexer l = new CalcLexer (System.in); - Calc p = new Calc (l); + public static void main(String[] args) throws IOException { + CalcLexer l = new CalcLexer(System.in); + Calc p = new Calc(l); for (String arg : args) - if (arg.equals ("-p")) - p.setDebugLevel (1); - if (!p.parse ()) - System.exit (1); + if (arg.equals("-p")) + p.setDebugLevel(1); + if (!p.parse()) + System.exit(1); } - static String i18n(String s) - { + static String i18n(String s) { return s; } } @@ -67,7 +65,7 @@ input: line: EOL -| exp EOL { System.out.println ($exp); } +| exp EOL { System.out.println($exp); } | error EOL ; @@ -75,15 +73,15 @@ exp: NUM { $$ = $1; } | exp "=" exp { - if ($1.intValue () != $3.intValue ()) - yyerror (@$, "calc: error: " + $1 + " != " + $3); + if ($1.intValue() != $3.intValue()) + yyerror(@$, "calc: error: " + $1 + " != " + $3); } | exp "+" exp { $$ = $1 + $3; } | exp "-" exp { $$ = $1 - $3; } | exp "*" exp { $$ = $1 * $3; } | exp "/" exp { $$ = $1 / $3; } | "-" exp %prec NEG { $$ = -$2; } -| exp "^" exp { $$ = (int) Math.pow ($1, $3); } +| exp "^" exp { $$ = (int) Math.pow($1, $3); } | "(" exp ")" { $$ = $2; } | "(" error ")" { $$ = 1111; } | "!" { $$ = 0; return YYERROR; } @@ -96,98 +94,94 @@ class CalcLexer implements Calc.Lexer { StreamTokenizer st; PositionReader reader; - public CalcLexer (InputStream is) - { - reader = new PositionReader (new InputStreamReader (is)); - st = new StreamTokenizer (reader); - st.resetSyntax (); - st.eolIsSignificant (true); - st.wordChars ('0', '9'); + public CalcLexer(InputStream is) { + reader = new PositionReader(new InputStreamReader(is)); + st = new StreamTokenizer(reader); + st.resetSyntax(); + st.eolIsSignificant(true); + st.wordChars('0', '9'); } - Position start = new Position (1, 0); - Position end = new Position (1, 0); + Position start = new Position(1, 0); + Position end = new Position(1, 0); - public Position getStartPos () { - return new Position (start); + public Position getStartPos() { + return new Position(start); } - public Position getEndPos () { - return new Position (end); + public Position getEndPos() { + return new Position(end); } - public void reportSyntaxError (Calc.Context ctx) - { - System.err.print (ctx.getLocation () + ": syntax error"); + public void reportSyntaxError(Calc.Context ctx) { + System.err.print(ctx.getLocation() + ": syntax error"); { final int TOKENMAX = 10; Calc.SymbolKind[] arg = new Calc.SymbolKind[TOKENMAX]; - int n = ctx.getExpectedTokens (arg, TOKENMAX); + int n = ctx.getExpectedTokens(arg, TOKENMAX); for (int i = 0; i < n; ++i) - System.err.print ((i == 0 ? ": expected " : " or ") - + ctx.yysymbolName (arg[i])); + System.err.print((i == 0 ? ": expected " : " or ") + + ctx.yysymbolName(arg[i])); } { - Calc.SymbolKind lookahead = ctx.getToken (); + Calc.SymbolKind lookahead = ctx.getToken(); if (lookahead != null) - System.err.print (" before " + ctx.yysymbolName (lookahead)); + System.err.print(" before " + ctx.yysymbolName(lookahead)); } - System.err.println (""); + System.err.println(""); } - public void yyerror (Calc.Location l, String s) - { + public void yyerror(Calc.Location l, String s) { if (l == null) - System.err.println (s); + System.err.println(s); else - System.err.println (l + ": " + s); + System.err.println(l + ": " + s); } Integer yylval; - public Object getLVal () { + public Object getLVal() { return yylval; } - public int yylex () throws IOException { - start.set (reader.getPosition ()); - int ttype = st.nextToken (); - end.set (reader.getPosition ()); - switch (ttype) - { - case StreamTokenizer.TT_EOF: - return EOF; - case StreamTokenizer.TT_EOL: - end.line += 1; - end.column = 0; - return EOL; - case StreamTokenizer.TT_WORD: - yylval = new Integer (st.sval); - end.set (reader.getPreviousPosition ()); - return NUM; - case ' ': case '\t': - return yylex (); - case '!': - return BANG; - case '+': - return PLUS; - case '-': - return MINUS; - case '*': - return STAR; - case '/': - return SLASH; - case '^': - return CARET; - case '(': - return LPAREN; - case ')': - return RPAREN; - case '=': - return EQUAL; - default: - throw new AssertionError ("invalid character: " + ttype); - } + public int yylex() throws IOException { + start.set(reader.getPosition()); + int ttype = st.nextToken(); + end.set(reader.getPosition()); + switch (ttype) { + case StreamTokenizer.TT_EOF: + return EOF; + case StreamTokenizer.TT_EOL: + end.line += 1; + end.column = 0; + return EOL; + case StreamTokenizer.TT_WORD: + yylval = new Integer(st.sval); + end.set(reader.getPreviousPosition()); + return NUM; + case ' ': case '\t': + return yylex(); + case '!': + return BANG; + case '+': + return PLUS; + case '-': + return MINUS; + case '*': + return STAR; + case '/': + return SLASH; + case '^': + return CARET; + case '(': + return LPAREN; + case ')': + return RPAREN; + case '=': + return EQUAL; + default: + throw new AssertionError("invalid character: " + ttype); + } } } @@ -196,67 +190,59 @@ class Position { public int line = 1; public int column = 1; - public Position () - { + public Position() { line = 1; column = 1; } - public Position (int l, int t) - { + public Position(int l, int t) { line = l; column = t; } - public Position (Position p) - { + public Position(Position p) { line = p.line; column = p.column; } - public void set (Position p) - { + public void set(Position p) { line = p.line; column = p.column; } - public boolean equals (Position l) - { + public boolean equals(Position l) { return l.line == line && l.column == column; } - public String toString () - { - return Integer.toString (line) + "." + Integer.toString (column); + public String toString() { + return Integer.toString(line) + "." + Integer.toString(column); } - public int line () - { + public int line() { return line; } - public int column () - { + public int column() { return column; } } class PositionReader extends BufferedReader { - private Position position = new Position (); + private Position position = new Position(); // Position before the latest call to "read", i.e. position // of the last character of the current token. - private Position previousPosition = new Position (); + private Position previousPosition = new Position(); - public PositionReader (Reader reader) { - super (reader); + public PositionReader(Reader reader) { + super(reader); } - public int read () throws IOException { - previousPosition.set (position); - int res = super.read (); + public int read() throws IOException { + previousPosition.set(position); + int res = super.read(); if (res > -1) { - char c = (char)res; + char c = (char) res; if (c == '\r' || c == '\n') { position.line += 1; position.column = 1; @@ -267,11 +253,11 @@ class PositionReader extends BufferedReader { return res; } - public Position getPosition () { + public Position getPosition() { return position; } - public Position getPreviousPosition () { + public Position getPreviousPosition() { return previousPosition; } } diff --git a/examples/java/simple/Calc.y b/examples/java/simple/Calc.y index 7ed7024c..59df5758 100644 --- a/examples/java/simple/Calc.y +++ b/examples/java/simple/Calc.y @@ -14,12 +14,11 @@ } %code { - public static void main (String[] args) throws IOException - { - CalcLexer l = new CalcLexer (System.in); - Calc p = new Calc (l); - if (!p.parse ()) - System.exit (1); + public static void main(String[] args) throws IOException { + CalcLexer l = new CalcLexer(System.in); + Calc p = new Calc(l); + if (!p.parse()) + System.exit(1); } } @@ -42,7 +41,7 @@ input: line: '\n' -| exp '\n' { System.out.println ($exp); } +| exp '\n' { System.out.println($exp); } | error '\n' ; @@ -50,15 +49,15 @@ exp: NUM { $$ = $1; } | exp '=' exp { - if ($1.intValue () != $3.intValue ()) - yyerror ("calc: error: " + $1 + " != " + $3); + if ($1.intValue() != $3.intValue()) + yyerror("calc: error: " + $1 + " != " + $3); } | exp '+' exp { $$ = $1 + $3; } | exp '-' exp { $$ = $1 - $3; } | exp '*' exp { $$ = $1 * $3; } | exp '/' exp { $$ = $1 / $3; } | '-' exp %prec NEG { $$ = -$2; } -| exp '^' exp { $$ = (int) Math.pow ($1, $3); } +| exp '^' exp { $$ = (int) Math.pow($1, $3); } | '(' exp ')' { $$ = $2; } | '(' error ')' { $$ = 1111; } | '!' { $$ = 0; return YYERROR; } @@ -71,40 +70,37 @@ class CalcLexer implements Calc.Lexer { StreamTokenizer st; - public CalcLexer (InputStream is) - { - st = new StreamTokenizer (new InputStreamReader (is)); - st.resetSyntax (); - st.eolIsSignificant (true); - st.whitespaceChars ('\t', '\t'); - st.whitespaceChars (' ', ' '); - st.wordChars ('0', '9'); + public CalcLexer(InputStream is) { + st = new StreamTokenizer(new InputStreamReader(is)); + st.resetSyntax(); + st.eolIsSignificant(true); + st.whitespaceChars('\t', '\t'); + st.whitespaceChars(' ', ' '); + st.wordChars('0', '9'); } - public void yyerror (String s) - { - System.err.println (s); + public void yyerror(String s) { + System.err.println(s); } Integer yylval; - public Object getLVal () { + public Object getLVal() { return yylval; } - public int yylex () throws IOException { - int ttype = st.nextToken (); - switch (ttype) - { - case StreamTokenizer.TT_EOF: - return EOF; - case StreamTokenizer.TT_EOL: - return (int) '\n'; - case StreamTokenizer.TT_WORD: - yylval = new Integer (st.sval); - return NUM; - default: - return ttype; - } + public int yylex() throws IOException { + int ttype = st.nextToken(); + switch (ttype) { + case StreamTokenizer.TT_EOF: + return EOF; + case StreamTokenizer.TT_EOL: + return (int) '\n'; + case StreamTokenizer.TT_WORD: + yylval = new Integer(st.sval); + return NUM; + default: + return ttype; + } } }