script ޥɤ 1997ǯ0402 () 2240ʬ40 ǵưޤ
banjou has logged on console from local at 22:13.
[22:40]banjou@tuba:~/java/Java_CUP/classes/java_cup/simple_calc % less typescrip 
t[A[65C[K[13C t
[K[A[66Cava java_cup.M ain -dump < pa

parser.class  parser.cup    parser.java   

[22:40]banjou@tuba:~/java/Java_CUP/classes/java_cup/simple_calc % ava java_cup.M 
ain -dump < parser.cup 

ava: Command not found.
[22:41]banjou@tuba:~/java/Java_CUP/classes/java_cup/simple_calc % ava java_cup.M 
ain -dump < parser.cup[A[44C[13C[13D[4hj[4l[12C.a
[4hM[4la[A[65C[12C.M

===== Terminals =====
SEMI EOF DIVIDE NUMBER error 
MINUS TIMES LPAREN RPAREN MOD 
PLUS 

===== Non terminals =====
$START expr_list factor expr term 
NT$0 expr_part 

===== Productions =====
factor ::= LPAREN expr RPAREN 
factor ::= MINUS factor 
factor ::= NUMBER 
term ::= factor 
term ::= term MOD factor 
term ::= term DIVIDE factor 
term ::= term TIMES factor 
expr ::= term 
expr ::= expr MINUS term 
expr ::= expr PLUS term 
expr_part ::= expr NT$0 SEMI 
NT$0 ::= 
expr_list ::= expr_part 
$START ::= expr_list EOF 
expr_list ::= expr_list expr_part 

===== Viable Prefix Recognizer =====
START lalr_state [0]: {
  [factor ::= (*) LPAREN expr RPAREN , {SEMI PLUS MINUS TIMES DIVIDE MOD }]
  [term ::= (*) factor , {SEMI PLUS MINUS TIMES DIVIDE MOD }]
  [term ::= (*) term TIMES factor , {SEMI PLUS MINUS TIMES DIVIDE MOD }]
  [expr ::= (*) expr PLUS term , {SEMI PLUS MINUS }]
  [expr_list ::= (*) expr_part , {EOF MINUS LPAREN NUMBER }]
  [factor ::= (*) MINUS factor , {SEMI PLUS MINUS TIMES DIVIDE MOD }]
  [term ::= (*) term MOD factor , {SEMI PLUS MINUS TIMES DIVIDE MOD }]
  [expr ::= (*) term , {SEMI PLUS MINUS }]
  [expr_part ::= (*) expr NT$0 SEMI , {EOF MINUS LPAREN NUMBER }]
  [$START ::= (*) expr_list EOF , {EOF }]
  [factor ::= (*) NUMBER , {SEMI PLUS MINUS TIMES DIVIDE MOD }]
  [term ::= (*) term DIVIDE factor , {SEMI PLUS MINUS TIMES DIVIDE MOD }]
  [expr ::= (*) expr MINUS term , {SEMI PLUS MINUS }]
  [expr_list ::= (*) expr_list expr_part , {EOF MINUS LPAREN NUMBER }]
}
transition on LPAREN to state [8]
transition on term to state [7]
transition on expr_list to state [6]
transition on expr to state [5]
transition on expr_part to state [4]
transition on NUMBER to state [3]
transition on factor to state [2]
transition on MINUS to state [1]

-------------------
lalr_state [1]: {
  [factor ::= MINUS (*) factor , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
  [factor ::= (*) MINUS factor , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
  [factor ::= (*) NUMBER , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
  [factor ::= (*) LPAREN expr RPAREN , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
}
transition on LPAREN to state [8]
transition on NUMBER to state [3]
transition on factor to state [25]
transition on MINUS to state [1]

-------------------
lalr_state [2]: {
  [term ::= factor (*) , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
}

-------------------
lalr_state [3]: {
  [factor ::= NUMBER (*) , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
}

-------------------
lalr_state [4]: {
  [expr_list ::= expr_part (*) , {EOF MINUS LPAREN NUMBER }]
}

-------------------
lalr_state [5]: {
  [expr ::= expr (*) PLUS term , {SEMI PLUS MINUS }]
  [expr_part ::= expr (*) NT$0 SEMI , {EOF MINUS LPAREN NUMBER }]
  [expr ::= expr (*) MINUS term , {SEMI PLUS MINUS }]
  [NT$0 ::= (*) , {SEMI }]
}
transition on PLUS to state [12]
transition on NT$0 to state [23]
transition on MINUS to state [10]

-------------------
lalr_state [6]: {
  [factor ::= (*) LPAREN expr RPAREN , {SEMI PLUS MINUS TIMES DIVIDE MOD }]
  [term ::= (*) factor , {SEMI PLUS MINUS TIMES DIVIDE MOD }]
  [term ::= (*) term TIMES factor , {SEMI PLUS MINUS TIMES DIVIDE MOD }]
  [expr ::= (*) expr PLUS term , {SEMI PLUS MINUS }]
  [factor ::= (*) MINUS factor , {SEMI PLUS MINUS TIMES DIVIDE MOD }]
  [term ::= (*) term MOD factor , {SEMI PLUS MINUS TIMES DIVIDE MOD }]
  [expr ::= (*) term , {SEMI PLUS MINUS }]
  [$START ::= expr_list (*) EOF , {EOF }]
  [expr_part ::= (*) expr NT$0 SEMI , {EOF MINUS LPAREN NUMBER }]
  [factor ::= (*) NUMBER , {SEMI PLUS MINUS TIMES DIVIDE MOD }]
  [term ::= (*) term DIVIDE factor , {SEMI PLUS MINUS TIMES DIVIDE MOD }]
  [expr ::= (*) expr MINUS term , {SEMI PLUS MINUS }]
  [expr_list ::= expr_list (*) expr_part , {EOF MINUS LPAREN NUMBER }]
}
transition on LPAREN to state [8]
transition on term to state [7]
transition on expr to state [5]
transition on EOF to state [22]
transition on NUMBER to state [3]
transition on expr_part to state [21]
transition on factor to state [2]
transition on MINUS to state [1]

-------------------
lalr_state [7]: {
  [term ::= term (*) MOD factor , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
  [expr ::= term (*) , {SEMI PLUS MINUS RPAREN }]
  [term ::= term (*) DIVIDE factor , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
  [term ::= term (*) TIMES factor , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
}
transition on DIVIDE to state [16]
transition on TIMES to state [15]
transition on MOD to state [14]

-------------------
lalr_state [8]: {
  [factor ::= LPAREN (*) expr RPAREN , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
  [factor ::= (*) LPAREN expr RPAREN , {PLUS MINUS TIMES DIVIDE MOD RPAREN }]
  [term ::= (*) factor , {PLUS MINUS TIMES DIVIDE MOD RPAREN }]
  [term ::= (*) term TIMES factor , {PLUS MINUS TIMES DIVIDE MOD RPAREN }]
  [expr ::= (*) expr PLUS term , {PLUS MINUS RPAREN }]
  [factor ::= (*) MINUS factor , {PLUS MINUS TIMES DIVIDE MOD RPAREN }]
  [term ::= (*) term MOD factor , {PLUS MINUS TIMES DIVIDE MOD RPAREN }]
  [expr ::= (*) term , {PLUS MINUS RPAREN }]
  [factor ::= (*) NUMBER , {PLUS MINUS TIMES DIVIDE MOD RPAREN }]
  [term ::= (*) term DIVIDE factor , {PLUS MINUS TIMES DIVIDE MOD RPAREN }]
  [expr ::= (*) expr MINUS term , {PLUS MINUS RPAREN }]
}
transition on LPAREN to state [8]
transition on term to state [7]
transition on expr to state [9]
transition on NUMBER to state [3]
transition on factor to state [2]
transition on MINUS to state [1]

-------------------
lalr_state [9]: {
  [expr ::= expr (*) PLUS term , {PLUS MINUS RPAREN }]
  [expr ::= expr (*) MINUS term , {PLUS MINUS RPAREN }]
  [factor ::= LPAREN expr (*) RPAREN , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
}
transition on PLUS to state [12]
transition on RPAREN to state [11]
transition on MINUS to state [10]

-------------------
lalr_state [10]: {
  [term ::= (*) term TIMES factor , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
  [factor ::= (*) MINUS factor , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
  [term ::= (*) term MOD factor , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
  [factor ::= (*) NUMBER , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
  [expr ::= expr MINUS (*) term , {SEMI PLUS MINUS RPAREN }]
  [term ::= (*) term DIVIDE factor , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
  [factor ::= (*) LPAREN expr RPAREN , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
  [term ::= (*) factor , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
}
transition on LPAREN to state [8]
transition on term to state [20]
transition on NUMBER to state [3]
transition on MINUS to state [1]
transition on factor to state [2]

-------------------
lalr_state [11]: {
  [factor ::= LPAREN expr RPAREN (*) , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
}

-------------------
lalr_state [12]: {
  [term ::= (*) term TIMES factor , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
  [factor ::= (*) MINUS factor , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
  [term ::= (*) term MOD factor , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
  [factor ::= (*) NUMBER , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
  [term ::= (*) term DIVIDE factor , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
  [factor ::= (*) LPAREN expr RPAREN , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
  [term ::= (*) factor , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
  [expr ::= expr PLUS (*) term , {SEMI PLUS MINUS RPAREN }]
}
transition on LPAREN to state [8]
transition on term to state [13]
transition on NUMBER to state [3]
transition on MINUS to state [1]
transition on factor to state [2]

-------------------
lalr_state [13]: {
  [term ::= term (*) MOD factor , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
  [term ::= term (*) DIVIDE factor , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
  [expr ::= expr PLUS term (*) , {SEMI PLUS MINUS RPAREN }]
  [term ::= term (*) TIMES factor , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
}
transition on DIVIDE to state [16]
transition on TIMES to state [15]
transition on MOD to state [14]

-------------------
lalr_state [14]: {
  [term ::= term MOD (*) factor , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
  [factor ::= (*) MINUS factor , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
  [factor ::= (*) NUMBER , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
  [factor ::= (*) LPAREN expr RPAREN , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
}
transition on LPAREN to state [8]
transition on NUMBER to state [3]
transition on factor to state [19]
transition on MINUS to state [1]

-------------------
lalr_state [15]: {
  [factor ::= (*) MINUS factor , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
  [factor ::= (*) NUMBER , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
  [factor ::= (*) LPAREN expr RPAREN , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
  [term ::= term TIMES (*) factor , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
}
transition on LPAREN to state [8]
transition on NUMBER to state [3]
transition on MINUS to state [1]
transition on factor to state [18]

-------------------
lalr_state [16]: {
  [factor ::= (*) MINUS factor , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
  [term ::= term DIVIDE (*) factor , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
  [factor ::= (*) NUMBER , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
  [factor ::= (*) LPAREN expr RPAREN , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
}
transition on LPAREN to state [8]
transition on NUMBER to state [3]
transition on MINUS to state [1]
transition on factor to state [17]

-------------------
lalr_state [17]: {
  [term ::= term DIVIDE factor (*) , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
}

-------------------
lalr_state [18]: {
  [term ::= term TIMES factor (*) , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
}

-------------------
lalr_state [19]: {
  [term ::= term MOD factor (*) , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
}

-------------------
lalr_state [20]: {
  [term ::= term (*) MOD factor , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
  [expr ::= expr MINUS term (*) , {SEMI PLUS MINUS RPAREN }]
  [term ::= term (*) DIVIDE factor , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
  [term ::= term (*) TIMES factor , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
}
transition on DIVIDE to state [16]
transition on TIMES to state [15]
transition on MOD to state [14]

-------------------
lalr_state [21]: {
  [expr_list ::= expr_list expr_part (*) , {EOF MINUS LPAREN NUMBER }]
}

-------------------
lalr_state [22]: {
  [$START ::= expr_list EOF (*) , {EOF }]
}

-------------------
lalr_state [23]: {
  [expr_part ::= expr NT$0 (*) SEMI , {EOF MINUS LPAREN NUMBER }]
}
transition on SEMI to state [24]

-------------------
lalr_state [24]: {
  [expr_part ::= expr NT$0 SEMI (*) , {EOF MINUS LPAREN NUMBER }]
}

-------------------
lalr_state [25]: {
  [factor ::= MINUS factor (*) , {SEMI PLUS MINUS TIMES DIVIDE MOD RPAREN }]
}

-------------------
-------- ACTION_TABLE --------
From state #0
4:SHIFT(1) 8:SHIFT(8) 10:SHIFT(3) 
From state #1
4:SHIFT(1) 8:SHIFT(8) 10:SHIFT(3) 
From state #2
2:REDUCE(11) 3:REDUCE(11) 4:REDUCE(11) 
5:REDUCE(11) 6:REDUCE(11) 7:REDUCE(11) 
9:REDUCE(11) 
From state #3
2:REDUCE(12) 3:REDUCE(12) 4:REDUCE(12) 
5:REDUCE(12) 6:REDUCE(12) 7:REDUCE(12) 
9:REDUCE(12) 
From state #4
0:REDUCE(2) 4:REDUCE(2) 8:REDUCE(2) 
10:REDUCE(2) 
From state #5
2:REDUCE(3) 3:SHIFT(12) 4:SHIFT(10) 
From state #6
0:SHIFT(22) 4:SHIFT(1) 8:SHIFT(8) 
10:SHIFT(3) 
From state #7
2:REDUCE(7) 3:REDUCE(7) 4:REDUCE(7) 
5:SHIFT(15) 6:SHIFT(16) 7:SHIFT(14) 
9:REDUCE(7) 
From state #8
4:SHIFT(1) 8:SHIFT(8) 10:SHIFT(3) 
From state #9
3:SHIFT(12) 4:SHIFT(10) 9:SHIFT(11) 
From state #10
4:SHIFT(1) 8:SHIFT(8) 10:SHIFT(3) 
From state #11
2:REDUCE(14) 3:REDUCE(14) 4:REDUCE(14) 
5:REDUCE(14) 6:REDUCE(14) 7:REDUCE(14) 
9:REDUCE(14) 
From state #12
4:SHIFT(1) 8:SHIFT(8) 10:SHIFT(3) 
From state #13
2:REDUCE(5) 3:REDUCE(5) 4:REDUCE(5) 
5:SHIFT(15) 6:SHIFT(16) 7:SHIFT(14) 
9:REDUCE(5) 
From state #14
4:SHIFT(1) 8:SHIFT(8) 10:SHIFT(3) 
From state #15
4:SHIFT(1) 8:SHIFT(8) 10:SHIFT(3) 
From state #16
4:SHIFT(1) 8:SHIFT(8) 10:SHIFT(3) 
From state #17
2:REDUCE(9) 3:REDUCE(9) 4:REDUCE(9) 
5:REDUCE(9) 6:REDUCE(9) 7:REDUCE(9) 
9:REDUCE(9) 
From state #18
2:REDUCE(8) 3:REDUCE(8) 4:REDUCE(8) 
5:REDUCE(8) 6:REDUCE(8) 7:REDUCE(8) 
9:REDUCE(8) 
From state #19
2:REDUCE(10) 3:REDUCE(10) 4:REDUCE(10) 
5:REDUCE(10) 6:REDUCE(10) 7:REDUCE(10) 
9:REDUCE(10) 
From state #20
2:REDUCE(6) 3:REDUCE(6) 4:REDUCE(6) 
5:SHIFT(15) 6:SHIFT(16) 7:SHIFT(14) 
9:REDUCE(6) 
From state #21
0:REDUCE(0) 4:REDUCE(0) 8:REDUCE(0) 
10:REDUCE(0) 
From state #22
0:REDUCE(1) 
From state #23
2:SHIFT(24) 
From state #24
0:REDUCE(4) 4:REDUCE(4) 8:REDUCE(4) 
10:REDUCE(4) 
From state #25
2:REDUCE(13) 3:REDUCE(13) 4:REDUCE(13) 
5:REDUCE(13) 6:REDUCE(13) 7:REDUCE(13) 
9:REDUCE(13) 
------------------------------
-------- REDUCE_TABLE --------
From state #0
1:62:43:5
4:75:2
From state #1
5:25
From state #2
From state #3
From state #4
From state #5
6:23
From state #6
2:213:54:7
5:2
From state #7
From state #8
3:94:75:2
From state #9
From state #10
4:205:2
From state #11
From state #12
4:135:2
From state #13
From state #14
5:19
From state #15
5:18
From state #16
5:17
From state #17
From state #18
From state #19
From state #20
From state #21
From state #22
From state #23
From state #24
From state #25
-----------------------------
------- CUP v0.9e Parser Generation Summary -------
  0 errors and 0 warnings
  11 terminals, 7 non terminals, and 15 productions declared, 
  producing 26 unique parse states.
  0 terminals declared but not used.
  0 non terminals declared but not used.
  0 productions never reduced.
  0 conflicts detected (0 expected).
  Code written to "parser.java", and "sym.java".
---------------------------------------------------- (v0.9e)
[22:41]banjou@tuba:~/java/Java_CUP/classes/java_cup/simple_calc % ^Dexit

script ޥɤ 1997ǯ0402 () 2241ʬ17 ǽλޤ 
