Mercurial > hg > Members > nobuyasu > SampleSource
diff Bison-Flex/BasicCompiler-MemoryBase/EUC/script-parser.output @ 0:db40c85cad7a default tip
upload sample source
author | nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 09 May 2011 03:11:59 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Bison-Flex/BasicCompiler-MemoryBase/EUC/script-parser.output Mon May 09 03:11:59 2011 +0900 @@ -0,0 +1,1303 @@ +文法 + + 0 $accept: unit "end of file" + + 1 unit: states + 2 | unit states + + 3 states: statement "\n" + 4 | "\n" + + 5 statement: "end" + 6 | assign + 7 | "if" comp_expr "then" + 8 | "else" + 9 | "endif" + 10 | "for" assign "to" expr "step" expr + 11 | "for" assign "to" expr + 12 | "next" + 13 | "while" comp_expr + 14 | "wend" + 15 | "print" args + 16 | error + + 17 assign: value '=' expr + + 18 comp_expr: expr "==" expr + 19 | expr "!=" expr + 20 | expr '>' expr + 21 | expr ">=" expr + 22 | expr '<' expr + 23 | expr "<=" expr + + 24 expr: expr '-' expr + 25 | expr '+' expr + 26 | expr '*' expr + 27 | expr '/' expr + 28 | expr '%' expr + 29 | '-' expr + 30 | '(' expr ')' + 31 | value + 32 | "ival" + 33 | "rand" '(' expr ')' + + 34 value: "identifier" + + 35 args: expr + 36 | args ',' expr + + +出現位置の規則による終端 + +"end of file" (0) 0 +'%' (37) 28 +'(' (40) 30 33 +')' (41) 30 33 +'*' (42) 26 +'+' (43) 25 +',' (44) 36 +'-' (45) 24 29 +'/' (47) 27 +'<' (60) 22 +'=' (61) 17 +'>' (62) 20 +error (256) 16 +"ival" (258) 32 +"identifier" (259) 34 +"==" (260) 18 +"!=" (261) 19 +">=" (262) 21 +"<=" (263) 23 +"\n" (264) 3 4 +"if" (265) 7 +"then" (266) 7 +"else" (267) 8 +"endif" (268) 9 +"for" (269) 10 11 +"to" (270) 10 11 +"next" (271) 12 +"while" (272) 13 +"wend" (273) 14 +"end" (274) 5 +"rand" (275) 33 +"print" (276) 15 +NEG (277) +"step" (278) 10 + + +出現位置の規則による非終端 + +$accept (35) + 左辺: 0 +unit (36) + 左辺: 1 2, 右辺: 0 2 +states (37) + 左辺: 3 4, 右辺: 1 2 +statement (38) + 左辺: 5 6 7 8 9 10 11 12 13 14 15 16, 右辺: 3 +assign (39) + 左辺: 17, 右辺: 6 10 11 +comp_expr (40) + 左辺: 18 19 20 21 22 23, 右辺: 7 13 +expr (41) + 左辺: 24 25 26 27 28 29 30 31 32 33, 右辺: 10 11 17 18 19 20 + 21 22 23 24 25 26 27 28 29 30 33 35 36 +value (42) + 左辺: 34, 右辺: 17 31 +args (43) + 左辺: 35 36, 右辺: 15 36 + + +状態 0 + + 0 $accept: . unit "end of file" + 1 unit: . states + 2 | . unit states + 3 states: . statement "\n" + 4 | . "\n" + 5 statement: . "end" + 6 | . assign + 7 | . "if" comp_expr "then" + 8 | . "else" + 9 | . "endif" + 10 | . "for" assign "to" expr "step" expr + 11 | . "for" assign "to" expr + 12 | . "next" + 13 | . "while" comp_expr + 14 | . "wend" + 15 | . "print" args + 16 | . error + 17 assign: . value '=' expr + 34 value: . "identifier" + + error shift, and go to state 1 + "identifier" shift, and go to state 2 + "\n" shift, and go to state 3 + "if" shift, and go to state 4 + "else" shift, and go to state 5 + "endif" shift, and go to state 6 + "for" shift, and go to state 7 + "next" shift, and go to state 8 + "while" shift, and go to state 9 + "wend" shift, and go to state 10 + "end" shift, and go to state 11 + "print" shift, and go to state 12 + + unit go to state 13 + states go to state 14 + statement go to state 15 + assign go to state 16 + value go to state 17 + + +状態 1 + + 16 statement: error . + + $default reduce using rule 16 (statement) + + +状態 2 + + 34 value: "identifier" . + + $default reduce using rule 34 (value) + + +状態 3 + + 4 states: "\n" . + + $default reduce using rule 4 (states) + + +状態 4 + + 7 statement: "if" . comp_expr "then" + 18 comp_expr: . expr "==" expr + 19 | . expr "!=" expr + 20 | . expr '>' expr + 21 | . expr ">=" expr + 22 | . expr '<' expr + 23 | . expr "<=" expr + 24 expr: . expr '-' expr + 25 | . expr '+' expr + 26 | . expr '*' expr + 27 | . expr '/' expr + 28 | . expr '%' expr + 29 | . '-' expr + 30 | . '(' expr ')' + 31 | . value + 32 | . "ival" + 33 | . "rand" '(' expr ')' + 34 value: . "identifier" + + "ival" shift, and go to state 18 + "identifier" shift, and go to state 2 + "rand" shift, and go to state 19 + '-' shift, and go to state 20 + '(' shift, and go to state 21 + + comp_expr go to state 22 + expr go to state 23 + value go to state 24 + + +状態 5 + + 8 statement: "else" . + + $default reduce using rule 8 (statement) + + +状態 6 + + 9 statement: "endif" . + + $default reduce using rule 9 (statement) + + +状態 7 + + 10 statement: "for" . assign "to" expr "step" expr + 11 | "for" . assign "to" expr + 17 assign: . value '=' expr + 34 value: . "identifier" + + "identifier" shift, and go to state 2 + + assign go to state 25 + value go to state 17 + + +状態 8 + + 12 statement: "next" . + + $default reduce using rule 12 (statement) + + +状態 9 + + 13 statement: "while" . comp_expr + 18 comp_expr: . expr "==" expr + 19 | . expr "!=" expr + 20 | . expr '>' expr + 21 | . expr ">=" expr + 22 | . expr '<' expr + 23 | . expr "<=" expr + 24 expr: . expr '-' expr + 25 | . expr '+' expr + 26 | . expr '*' expr + 27 | . expr '/' expr + 28 | . expr '%' expr + 29 | . '-' expr + 30 | . '(' expr ')' + 31 | . value + 32 | . "ival" + 33 | . "rand" '(' expr ')' + 34 value: . "identifier" + + "ival" shift, and go to state 18 + "identifier" shift, and go to state 2 + "rand" shift, and go to state 19 + '-' shift, and go to state 20 + '(' shift, and go to state 21 + + comp_expr go to state 26 + expr go to state 23 + value go to state 24 + + +状態 10 + + 14 statement: "wend" . + + $default reduce using rule 14 (statement) + + +状態 11 + + 5 statement: "end" . + + $default reduce using rule 5 (statement) + + +状態 12 + + 15 statement: "print" . args + 24 expr: . expr '-' expr + 25 | . expr '+' expr + 26 | . expr '*' expr + 27 | . expr '/' expr + 28 | . expr '%' expr + 29 | . '-' expr + 30 | . '(' expr ')' + 31 | . value + 32 | . "ival" + 33 | . "rand" '(' expr ')' + 34 value: . "identifier" + 35 args: . expr + 36 | . args ',' expr + + "ival" shift, and go to state 18 + "identifier" shift, and go to state 2 + "rand" shift, and go to state 19 + '-' shift, and go to state 20 + '(' shift, and go to state 21 + + expr go to state 27 + value go to state 24 + args go to state 28 + + +状態 13 + + 0 $accept: unit . "end of file" + 2 unit: unit . states + 3 states: . statement "\n" + 4 | . "\n" + 5 statement: . "end" + 6 | . assign + 7 | . "if" comp_expr "then" + 8 | . "else" + 9 | . "endif" + 10 | . "for" assign "to" expr "step" expr + 11 | . "for" assign "to" expr + 12 | . "next" + 13 | . "while" comp_expr + 14 | . "wend" + 15 | . "print" args + 16 | . error + 17 assign: . value '=' expr + 34 value: . "identifier" + + "end of file" shift, and go to state 29 + error shift, and go to state 1 + "identifier" shift, and go to state 2 + "\n" shift, and go to state 3 + "if" shift, and go to state 4 + "else" shift, and go to state 5 + "endif" shift, and go to state 6 + "for" shift, and go to state 7 + "next" shift, and go to state 8 + "while" shift, and go to state 9 + "wend" shift, and go to state 10 + "end" shift, and go to state 11 + "print" shift, and go to state 12 + + states go to state 30 + statement go to state 15 + assign go to state 16 + value go to state 17 + + +状態 14 + + 1 unit: states . + + $default reduce using rule 1 (unit) + + +状態 15 + + 3 states: statement . "\n" + + "\n" shift, and go to state 31 + + +状態 16 + + 6 statement: assign . + + $default reduce using rule 6 (statement) + + +状態 17 + + 17 assign: value . '=' expr + + '=' shift, and go to state 32 + + +状態 18 + + 32 expr: "ival" . + + $default reduce using rule 32 (expr) + + +状態 19 + + 33 expr: "rand" . '(' expr ')' + + '(' shift, and go to state 33 + + +状態 20 + + 24 expr: . expr '-' expr + 25 | . expr '+' expr + 26 | . expr '*' expr + 27 | . expr '/' expr + 28 | . expr '%' expr + 29 | . '-' expr + 29 | '-' . expr + 30 | . '(' expr ')' + 31 | . value + 32 | . "ival" + 33 | . "rand" '(' expr ')' + 34 value: . "identifier" + + "ival" shift, and go to state 18 + "identifier" shift, and go to state 2 + "rand" shift, and go to state 19 + '-' shift, and go to state 20 + '(' shift, and go to state 21 + + expr go to state 34 + value go to state 24 + + +状態 21 + + 24 expr: . expr '-' expr + 25 | . expr '+' expr + 26 | . expr '*' expr + 27 | . expr '/' expr + 28 | . expr '%' expr + 29 | . '-' expr + 30 | . '(' expr ')' + 30 | '(' . expr ')' + 31 | . value + 32 | . "ival" + 33 | . "rand" '(' expr ')' + 34 value: . "identifier" + + "ival" shift, and go to state 18 + "identifier" shift, and go to state 2 + "rand" shift, and go to state 19 + '-' shift, and go to state 20 + '(' shift, and go to state 21 + + expr go to state 35 + value go to state 24 + + +状態 22 + + 7 statement: "if" comp_expr . "then" + + "then" shift, and go to state 36 + + +状態 23 + + 18 comp_expr: expr . "==" expr + 19 | expr . "!=" expr + 20 | expr . '>' expr + 21 | expr . ">=" expr + 22 | expr . '<' expr + 23 | expr . "<=" expr + 24 expr: expr . '-' expr + 25 | expr . '+' expr + 26 | expr . '*' expr + 27 | expr . '/' expr + 28 | expr . '%' expr + + "==" shift, and go to state 37 + "!=" shift, and go to state 38 + ">=" shift, and go to state 39 + "<=" shift, and go to state 40 + '+' shift, and go to state 41 + '-' shift, and go to state 42 + '*' shift, and go to state 43 + '/' shift, and go to state 44 + '%' shift, and go to state 45 + '>' shift, and go to state 46 + '<' shift, and go to state 47 + + +状態 24 + + 31 expr: value . + + $default reduce using rule 31 (expr) + + +状態 25 + + 10 statement: "for" assign . "to" expr "step" expr + 11 | "for" assign . "to" expr + + "to" shift, and go to state 48 + + +状態 26 + + 13 statement: "while" comp_expr . + + $default reduce using rule 13 (statement) + + +状態 27 + + 24 expr: expr . '-' expr + 25 | expr . '+' expr + 26 | expr . '*' expr + 27 | expr . '/' expr + 28 | expr . '%' expr + 35 args: expr . ["\n", ','] + + '+' shift, and go to state 41 + '-' shift, and go to state 42 + '*' shift, and go to state 43 + '/' shift, and go to state 44 + '%' shift, and go to state 45 + + $default reduce using rule 35 (args) + + +状態 28 + + 15 statement: "print" args . ["\n"] + 36 args: args . ',' expr + + ',' shift, and go to state 49 + + $default reduce using rule 15 (statement) + + +状態 29 + + 0 $accept: unit "end of file" . + + $default accept + + +状態 30 + + 2 unit: unit states . + + $default reduce using rule 2 (unit) + + +状態 31 + + 3 states: statement "\n" . + + $default reduce using rule 3 (states) + + +状態 32 + + 17 assign: value '=' . expr + 24 expr: . expr '-' expr + 25 | . expr '+' expr + 26 | . expr '*' expr + 27 | . expr '/' expr + 28 | . expr '%' expr + 29 | . '-' expr + 30 | . '(' expr ')' + 31 | . value + 32 | . "ival" + 33 | . "rand" '(' expr ')' + 34 value: . "identifier" + + "ival" shift, and go to state 18 + "identifier" shift, and go to state 2 + "rand" shift, and go to state 19 + '-' shift, and go to state 20 + '(' shift, and go to state 21 + + expr go to state 50 + value go to state 24 + + +状態 33 + + 24 expr: . expr '-' expr + 25 | . expr '+' expr + 26 | . expr '*' expr + 27 | . expr '/' expr + 28 | . expr '%' expr + 29 | . '-' expr + 30 | . '(' expr ')' + 31 | . value + 32 | . "ival" + 33 | . "rand" '(' expr ')' + 33 | "rand" '(' . expr ')' + 34 value: . "identifier" + + "ival" shift, and go to state 18 + "identifier" shift, and go to state 2 + "rand" shift, and go to state 19 + '-' shift, and go to state 20 + '(' shift, and go to state 21 + + expr go to state 51 + value go to state 24 + + +状態 34 + + 24 expr: expr . '-' expr + 25 | expr . '+' expr + 26 | expr . '*' expr + 27 | expr . '/' expr + 28 | expr . '%' expr + 29 | '-' expr . ["==", "!=", ">=", "<=", "\n", "then", "to", '+', '-', '*', '/', '%', "step", '>', '<', ')', ','] + + $default reduce using rule 29 (expr) + + Conflict between rule 29 and token '+' resolved as reduce ('+' < NEG). + Conflict between rule 29 and token '-' resolved as reduce ('-' < NEG). + Conflict between rule 29 and token '*' resolved as reduce ('*' < NEG). + Conflict between rule 29 and token '/' resolved as reduce ('/' < NEG). + Conflict between rule 29 and token '%' resolved as reduce ('%' < NEG). + + +状態 35 + + 24 expr: expr . '-' expr + 25 | expr . '+' expr + 26 | expr . '*' expr + 27 | expr . '/' expr + 28 | expr . '%' expr + 30 | '(' expr . ')' + + '+' shift, and go to state 41 + '-' shift, and go to state 42 + '*' shift, and go to state 43 + '/' shift, and go to state 44 + '%' shift, and go to state 45 + ')' shift, and go to state 52 + + +状態 36 + + 7 statement: "if" comp_expr "then" . + + $default reduce using rule 7 (statement) + + +状態 37 + + 18 comp_expr: expr "==" . expr + 24 expr: . expr '-' expr + 25 | . expr '+' expr + 26 | . expr '*' expr + 27 | . expr '/' expr + 28 | . expr '%' expr + 29 | . '-' expr + 30 | . '(' expr ')' + 31 | . value + 32 | . "ival" + 33 | . "rand" '(' expr ')' + 34 value: . "identifier" + + "ival" shift, and go to state 18 + "identifier" shift, and go to state 2 + "rand" shift, and go to state 19 + '-' shift, and go to state 20 + '(' shift, and go to state 21 + + expr go to state 53 + value go to state 24 + + +状態 38 + + 19 comp_expr: expr "!=" . expr + 24 expr: . expr '-' expr + 25 | . expr '+' expr + 26 | . expr '*' expr + 27 | . expr '/' expr + 28 | . expr '%' expr + 29 | . '-' expr + 30 | . '(' expr ')' + 31 | . value + 32 | . "ival" + 33 | . "rand" '(' expr ')' + 34 value: . "identifier" + + "ival" shift, and go to state 18 + "identifier" shift, and go to state 2 + "rand" shift, and go to state 19 + '-' shift, and go to state 20 + '(' shift, and go to state 21 + + expr go to state 54 + value go to state 24 + + +状態 39 + + 21 comp_expr: expr ">=" . expr + 24 expr: . expr '-' expr + 25 | . expr '+' expr + 26 | . expr '*' expr + 27 | . expr '/' expr + 28 | . expr '%' expr + 29 | . '-' expr + 30 | . '(' expr ')' + 31 | . value + 32 | . "ival" + 33 | . "rand" '(' expr ')' + 34 value: . "identifier" + + "ival" shift, and go to state 18 + "identifier" shift, and go to state 2 + "rand" shift, and go to state 19 + '-' shift, and go to state 20 + '(' shift, and go to state 21 + + expr go to state 55 + value go to state 24 + + +状態 40 + + 23 comp_expr: expr "<=" . expr + 24 expr: . expr '-' expr + 25 | . expr '+' expr + 26 | . expr '*' expr + 27 | . expr '/' expr + 28 | . expr '%' expr + 29 | . '-' expr + 30 | . '(' expr ')' + 31 | . value + 32 | . "ival" + 33 | . "rand" '(' expr ')' + 34 value: . "identifier" + + "ival" shift, and go to state 18 + "identifier" shift, and go to state 2 + "rand" shift, and go to state 19 + '-' shift, and go to state 20 + '(' shift, and go to state 21 + + expr go to state 56 + value go to state 24 + + +状態 41 + + 24 expr: . expr '-' expr + 25 | . expr '+' expr + 25 | expr '+' . expr + 26 | . expr '*' expr + 27 | . expr '/' expr + 28 | . expr '%' expr + 29 | . '-' expr + 30 | . '(' expr ')' + 31 | . value + 32 | . "ival" + 33 | . "rand" '(' expr ')' + 34 value: . "identifier" + + "ival" shift, and go to state 18 + "identifier" shift, and go to state 2 + "rand" shift, and go to state 19 + '-' shift, and go to state 20 + '(' shift, and go to state 21 + + expr go to state 57 + value go to state 24 + + +状態 42 + + 24 expr: . expr '-' expr + 24 | expr '-' . expr + 25 | . expr '+' expr + 26 | . expr '*' expr + 27 | . expr '/' expr + 28 | . expr '%' expr + 29 | . '-' expr + 30 | . '(' expr ')' + 31 | . value + 32 | . "ival" + 33 | . "rand" '(' expr ')' + 34 value: . "identifier" + + "ival" shift, and go to state 18 + "identifier" shift, and go to state 2 + "rand" shift, and go to state 19 + '-' shift, and go to state 20 + '(' shift, and go to state 21 + + expr go to state 58 + value go to state 24 + + +状態 43 + + 24 expr: . expr '-' expr + 25 | . expr '+' expr + 26 | . expr '*' expr + 26 | expr '*' . expr + 27 | . expr '/' expr + 28 | . expr '%' expr + 29 | . '-' expr + 30 | . '(' expr ')' + 31 | . value + 32 | . "ival" + 33 | . "rand" '(' expr ')' + 34 value: . "identifier" + + "ival" shift, and go to state 18 + "identifier" shift, and go to state 2 + "rand" shift, and go to state 19 + '-' shift, and go to state 20 + '(' shift, and go to state 21 + + expr go to state 59 + value go to state 24 + + +状態 44 + + 24 expr: . expr '-' expr + 25 | . expr '+' expr + 26 | . expr '*' expr + 27 | . expr '/' expr + 27 | expr '/' . expr + 28 | . expr '%' expr + 29 | . '-' expr + 30 | . '(' expr ')' + 31 | . value + 32 | . "ival" + 33 | . "rand" '(' expr ')' + 34 value: . "identifier" + + "ival" shift, and go to state 18 + "identifier" shift, and go to state 2 + "rand" shift, and go to state 19 + '-' shift, and go to state 20 + '(' shift, and go to state 21 + + expr go to state 60 + value go to state 24 + + +状態 45 + + 24 expr: . expr '-' expr + 25 | . expr '+' expr + 26 | . expr '*' expr + 27 | . expr '/' expr + 28 | . expr '%' expr + 28 | expr '%' . expr + 29 | . '-' expr + 30 | . '(' expr ')' + 31 | . value + 32 | . "ival" + 33 | . "rand" '(' expr ')' + 34 value: . "identifier" + + "ival" shift, and go to state 18 + "identifier" shift, and go to state 2 + "rand" shift, and go to state 19 + '-' shift, and go to state 20 + '(' shift, and go to state 21 + + expr go to state 61 + value go to state 24 + + +状態 46 + + 20 comp_expr: expr '>' . expr + 24 expr: . expr '-' expr + 25 | . expr '+' expr + 26 | . expr '*' expr + 27 | . expr '/' expr + 28 | . expr '%' expr + 29 | . '-' expr + 30 | . '(' expr ')' + 31 | . value + 32 | . "ival" + 33 | . "rand" '(' expr ')' + 34 value: . "identifier" + + "ival" shift, and go to state 18 + "identifier" shift, and go to state 2 + "rand" shift, and go to state 19 + '-' shift, and go to state 20 + '(' shift, and go to state 21 + + expr go to state 62 + value go to state 24 + + +状態 47 + + 22 comp_expr: expr '<' . expr + 24 expr: . expr '-' expr + 25 | . expr '+' expr + 26 | . expr '*' expr + 27 | . expr '/' expr + 28 | . expr '%' expr + 29 | . '-' expr + 30 | . '(' expr ')' + 31 | . value + 32 | . "ival" + 33 | . "rand" '(' expr ')' + 34 value: . "identifier" + + "ival" shift, and go to state 18 + "identifier" shift, and go to state 2 + "rand" shift, and go to state 19 + '-' shift, and go to state 20 + '(' shift, and go to state 21 + + expr go to state 63 + value go to state 24 + + +状態 48 + + 10 statement: "for" assign "to" . expr "step" expr + 11 | "for" assign "to" . expr + 24 expr: . expr '-' expr + 25 | . expr '+' expr + 26 | . expr '*' expr + 27 | . expr '/' expr + 28 | . expr '%' expr + 29 | . '-' expr + 30 | . '(' expr ')' + 31 | . value + 32 | . "ival" + 33 | . "rand" '(' expr ')' + 34 value: . "identifier" + + "ival" shift, and go to state 18 + "identifier" shift, and go to state 2 + "rand" shift, and go to state 19 + '-' shift, and go to state 20 + '(' shift, and go to state 21 + + expr go to state 64 + value go to state 24 + + +状態 49 + + 24 expr: . expr '-' expr + 25 | . expr '+' expr + 26 | . expr '*' expr + 27 | . expr '/' expr + 28 | . expr '%' expr + 29 | . '-' expr + 30 | . '(' expr ')' + 31 | . value + 32 | . "ival" + 33 | . "rand" '(' expr ')' + 34 value: . "identifier" + 36 args: args ',' . expr + + "ival" shift, and go to state 18 + "identifier" shift, and go to state 2 + "rand" shift, and go to state 19 + '-' shift, and go to state 20 + '(' shift, and go to state 21 + + expr go to state 65 + value go to state 24 + + +状態 50 + + 17 assign: value '=' expr . ["\n", "to"] + 24 expr: expr . '-' expr + 25 | expr . '+' expr + 26 | expr . '*' expr + 27 | expr . '/' expr + 28 | expr . '%' expr + + '+' shift, and go to state 41 + '-' shift, and go to state 42 + '*' shift, and go to state 43 + '/' shift, and go to state 44 + '%' shift, and go to state 45 + + $default reduce using rule 17 (assign) + + +状態 51 + + 24 expr: expr . '-' expr + 25 | expr . '+' expr + 26 | expr . '*' expr + 27 | expr . '/' expr + 28 | expr . '%' expr + 33 | "rand" '(' expr . ')' + + '+' shift, and go to state 41 + '-' shift, and go to state 42 + '*' shift, and go to state 43 + '/' shift, and go to state 44 + '%' shift, and go to state 45 + ')' shift, and go to state 66 + + +状態 52 + + 30 expr: '(' expr ')' . + + $default reduce using rule 30 (expr) + + +状態 53 + + 18 comp_expr: expr "==" expr . ["\n", "then"] + 24 expr: expr . '-' expr + 25 | expr . '+' expr + 26 | expr . '*' expr + 27 | expr . '/' expr + 28 | expr . '%' expr + + '+' shift, and go to state 41 + '-' shift, and go to state 42 + '*' shift, and go to state 43 + '/' shift, and go to state 44 + '%' shift, and go to state 45 + + $default reduce using rule 18 (comp_expr) + + +状態 54 + + 19 comp_expr: expr "!=" expr . ["\n", "then"] + 24 expr: expr . '-' expr + 25 | expr . '+' expr + 26 | expr . '*' expr + 27 | expr . '/' expr + 28 | expr . '%' expr + + '+' shift, and go to state 41 + '-' shift, and go to state 42 + '*' shift, and go to state 43 + '/' shift, and go to state 44 + '%' shift, and go to state 45 + + $default reduce using rule 19 (comp_expr) + + +状態 55 + + 21 comp_expr: expr ">=" expr . ["\n", "then"] + 24 expr: expr . '-' expr + 25 | expr . '+' expr + 26 | expr . '*' expr + 27 | expr . '/' expr + 28 | expr . '%' expr + + '+' shift, and go to state 41 + '-' shift, and go to state 42 + '*' shift, and go to state 43 + '/' shift, and go to state 44 + '%' shift, and go to state 45 + + $default reduce using rule 21 (comp_expr) + + +状態 56 + + 23 comp_expr: expr "<=" expr . ["\n", "then"] + 24 expr: expr . '-' expr + 25 | expr . '+' expr + 26 | expr . '*' expr + 27 | expr . '/' expr + 28 | expr . '%' expr + + '+' shift, and go to state 41 + '-' shift, and go to state 42 + '*' shift, and go to state 43 + '/' shift, and go to state 44 + '%' shift, and go to state 45 + + $default reduce using rule 23 (comp_expr) + + +状態 57 + + 24 expr: expr . '-' expr + 25 | expr . '+' expr ["==", "!=", ">=", "<=", "\n", "then", "to", '+', '-', "step", '>', '<', ')', ','] + 25 | expr '+' expr . ["==", "!=", ">=", "<=", "\n", "then", "to", '+', '-', "step", '>', '<', ')', ','] + 26 | expr . '*' expr + 27 | expr . '/' expr + 28 | expr . '%' expr + + '*' shift, and go to state 43 + '/' shift, and go to state 44 + '%' shift, and go to state 45 + + $default reduce using rule 25 (expr) + + Conflict between rule 25 and token '+' resolved as reduce (%left '+'). + Conflict between rule 25 and token '-' resolved as reduce (%left '-'). + Conflict between rule 25 and token '*' resolved as shift ('+' < '*'). + Conflict between rule 25 and token '/' resolved as shift ('+' < '/'). + Conflict between rule 25 and token '%' resolved as shift ('+' < '%'). + + +状態 58 + + 24 expr: expr . '-' expr ["==", "!=", ">=", "<=", "\n", "then", "to", '+', '-', "step", '>', '<', ')', ','] + 24 | expr '-' expr . ["==", "!=", ">=", "<=", "\n", "then", "to", '+', '-', "step", '>', '<', ')', ','] + 25 | expr . '+' expr + 26 | expr . '*' expr + 27 | expr . '/' expr + 28 | expr . '%' expr + + '*' shift, and go to state 43 + '/' shift, and go to state 44 + '%' shift, and go to state 45 + + $default reduce using rule 24 (expr) + + Conflict between rule 24 and token '+' resolved as reduce (%left '+'). + Conflict between rule 24 and token '-' resolved as reduce (%left '-'). + Conflict between rule 24 and token '*' resolved as shift ('-' < '*'). + Conflict between rule 24 and token '/' resolved as shift ('-' < '/'). + Conflict between rule 24 and token '%' resolved as shift ('-' < '%'). + + +状態 59 + + 24 expr: expr . '-' expr + 25 | expr . '+' expr + 26 | expr . '*' expr ["==", "!=", ">=", "<=", "\n", "then", "to", '+', '-', '*', '/', '%', "step", '>', '<', ')', ','] + 26 | expr '*' expr . ["==", "!=", ">=", "<=", "\n", "then", "to", '+', '-', '*', '/', '%', "step", '>', '<', ')', ','] + 27 | expr . '/' expr + 28 | expr . '%' expr + + $default reduce using rule 26 (expr) + + Conflict between rule 26 and token '+' resolved as reduce ('+' < '*'). + Conflict between rule 26 and token '-' resolved as reduce ('-' < '*'). + Conflict between rule 26 and token '*' resolved as reduce (%left '*'). + Conflict between rule 26 and token '/' resolved as reduce (%left '/'). + Conflict between rule 26 and token '%' resolved as reduce (%left '%'). + + +状態 60 + + 24 expr: expr . '-' expr + 25 | expr . '+' expr + 26 | expr . '*' expr + 27 | expr . '/' expr ["==", "!=", ">=", "<=", "\n", "then", "to", '+', '-', '*', '/', '%', "step", '>', '<', ')', ','] + 27 | expr '/' expr . ["==", "!=", ">=", "<=", "\n", "then", "to", '+', '-', '*', '/', '%', "step", '>', '<', ')', ','] + 28 | expr . '%' expr + + $default reduce using rule 27 (expr) + + Conflict between rule 27 and token '+' resolved as reduce ('+' < '/'). + Conflict between rule 27 and token '-' resolved as reduce ('-' < '/'). + Conflict between rule 27 and token '*' resolved as reduce (%left '*'). + Conflict between rule 27 and token '/' resolved as reduce (%left '/'). + Conflict between rule 27 and token '%' resolved as reduce (%left '%'). + + +状態 61 + + 24 expr: expr . '-' expr + 25 | expr . '+' expr + 26 | expr . '*' expr + 27 | expr . '/' expr + 28 | expr . '%' expr ["==", "!=", ">=", "<=", "\n", "then", "to", '+', '-', '*', '/', '%', "step", '>', '<', ')', ','] + 28 | expr '%' expr . ["==", "!=", ">=", "<=", "\n", "then", "to", '+', '-', '*', '/', '%', "step", '>', '<', ')', ','] + + $default reduce using rule 28 (expr) + + Conflict between rule 28 and token '+' resolved as reduce ('+' < '%'). + Conflict between rule 28 and token '-' resolved as reduce ('-' < '%'). + Conflict between rule 28 and token '*' resolved as reduce (%left '*'). + Conflict between rule 28 and token '/' resolved as reduce (%left '/'). + Conflict between rule 28 and token '%' resolved as reduce (%left '%'). + + +状態 62 + + 20 comp_expr: expr '>' expr . ["\n", "then"] + 24 expr: expr . '-' expr + 25 | expr . '+' expr + 26 | expr . '*' expr + 27 | expr . '/' expr + 28 | expr . '%' expr + + '+' shift, and go to state 41 + '-' shift, and go to state 42 + '*' shift, and go to state 43 + '/' shift, and go to state 44 + '%' shift, and go to state 45 + + $default reduce using rule 20 (comp_expr) + + +状態 63 + + 22 comp_expr: expr '<' expr . ["\n", "then"] + 24 expr: expr . '-' expr + 25 | expr . '+' expr + 26 | expr . '*' expr + 27 | expr . '/' expr + 28 | expr . '%' expr + + '+' shift, and go to state 41 + '-' shift, and go to state 42 + '*' shift, and go to state 43 + '/' shift, and go to state 44 + '%' shift, and go to state 45 + + $default reduce using rule 22 (comp_expr) + + +状態 64 + + 10 statement: "for" assign "to" expr . "step" expr + 11 | "for" assign "to" expr . ["\n"] + 24 expr: expr . '-' expr + 25 | expr . '+' expr + 26 | expr . '*' expr + 27 | expr . '/' expr + 28 | expr . '%' expr + + '+' shift, and go to state 41 + '-' shift, and go to state 42 + '*' shift, and go to state 43 + '/' shift, and go to state 44 + '%' shift, and go to state 45 + "step" shift, and go to state 67 + + $default reduce using rule 11 (statement) + + +状態 65 + + 24 expr: expr . '-' expr + 25 | expr . '+' expr + 26 | expr . '*' expr + 27 | expr . '/' expr + 28 | expr . '%' expr + 36 args: args ',' expr . ["\n", ','] + + '+' shift, and go to state 41 + '-' shift, and go to state 42 + '*' shift, and go to state 43 + '/' shift, and go to state 44 + '%' shift, and go to state 45 + + $default reduce using rule 36 (args) + + +状態 66 + + 33 expr: "rand" '(' expr ')' . + + $default reduce using rule 33 (expr) + + +状態 67 + + 10 statement: "for" assign "to" expr "step" . expr + 24 expr: . expr '-' expr + 25 | . expr '+' expr + 26 | . expr '*' expr + 27 | . expr '/' expr + 28 | . expr '%' expr + 29 | . '-' expr + 30 | . '(' expr ')' + 31 | . value + 32 | . "ival" + 33 | . "rand" '(' expr ')' + 34 value: . "identifier" + + "ival" shift, and go to state 18 + "identifier" shift, and go to state 2 + "rand" shift, and go to state 19 + '-' shift, and go to state 20 + '(' shift, and go to state 21 + + expr go to state 68 + value go to state 24 + + +状態 68 + + 10 statement: "for" assign "to" expr "step" expr . ["\n"] + 24 expr: expr . '-' expr + 25 | expr . '+' expr + 26 | expr . '*' expr + 27 | expr . '/' expr + 28 | expr . '%' expr + + '+' shift, and go to state 41 + '-' shift, and go to state 42 + '*' shift, and go to state 43 + '/' shift, and go to state 44 + '%' shift, and go to state 45 + + $default reduce using rule 10 (statement)