GNU Bison XML Automaton Report

input grammar: parser.yy

Table of Contents

Reductions

Nonterminals useless in grammar

Terminals unused in grammar

"abs" "ceiling" "floor" "log2" "loge" "log10" "max" "min" "mod" "pow" "sign" "sin"

Rules useless in grammar

Conflicts

Grammar

0 $acceptmeta_start $end 1 meta_startcircle_list $end 2 | exp $end 3 circle_listcircle 4 | circle_list circle 5 circle"[" "]" assignments 6 assignmentsassign 7 | assignments assign 8 assign"identifier" "=" "number" 9 | "identifier" "=" "-" "number" 10 | "identifier" "=" "quoted_string" 11 exp"number" 12 | "note" 13 | "-" "number" 14 | "not" exp 15 | "identifier" 16 | exp "+" exp 17 | exp "-" exp 18 | exp "*" exp 19 | exp "/" exp 20 | exp "comparison" exp 21 | exp "and" exp 22 | exp "or" exp 23 | "oneargfunc" "(" exp ")" 24 | "twoargfunc" "(" exp "," exp ")" 25 | "limit" "(" exp "," exp "," exp ")" 26 | "scale" "(" exp "," exp "," exp "," exp "," exp ")" 27 | exp "?" exp ":" exp 28 | "(" exp ")"

Terminals, with rules where they appear

Nonterminals, with rules where they appear

Automaton

State 0

0 $accept meta_start $end 1 meta_start circle_list $end 2 | exp $end 3 circle_list circle 4 | circle_list circle 5 circle "[" "]" assignments 11 exp "number" 12 | "note" 13 | "-" "number" 14 | "not" exp 15 | "identifier" 16 | exp "+" exp 17 | exp "-" exp 18 | exp "*" exp 19 | exp "/" exp 20 | exp "comparison" exp 21 | exp "and" exp 22 | exp "or" exp 23 | "oneargfunc" "(" exp ")" 24 | "twoargfunc" "(" exp "," exp ")" 25 | "limit" "(" exp "," exp "," exp ")" 26 | "scale" "(" exp "," exp "," exp "," exp "," exp ")" 27 | exp "?" exp ":" exp 28 | "(" exp ")" "limit" shift, and go to state 1 "not" shift, and go to state 2 "scale" shift, and go to state 3 "-" shift, and go to state 4 "(" shift, and go to state 5 "[" shift, and go to state 6 "identifier" shift, and go to state 7 "number" shift, and go to state 8 "note" shift, and go to state 9 "oneargfunc" shift, and go to state 10 "twoargfunc" shift, and go to state 11 meta_start go to state 12 circle_list go to state 13 circle go to state 14 exp go to state 15

State 1

25 exp"limit" "(" exp "," exp "," exp ")" "(" shift, and go to state 16

State 2

11 exp "number" 12 | "note" 13 | "-" "number" 14 | "not" exp 14 | "not" exp 15 | "identifier" 16 | exp "+" exp 17 | exp "-" exp 18 | exp "*" exp 19 | exp "/" exp 20 | exp "comparison" exp 21 | exp "and" exp 22 | exp "or" exp 23 | "oneargfunc" "(" exp ")" 24 | "twoargfunc" "(" exp "," exp ")" 25 | "limit" "(" exp "," exp "," exp ")" 26 | "scale" "(" exp "," exp "," exp "," exp "," exp ")" 27 | exp "?" exp ":" exp 28 | "(" exp ")" "limit" shift, and go to state 1 "not" shift, and go to state 2 "scale" shift, and go to state 3 "-" shift, and go to state 4 "(" shift, and go to state 5 "identifier" shift, and go to state 7 "number" shift, and go to state 8 "note" shift, and go to state 9 "oneargfunc" shift, and go to state 10 "twoargfunc" shift, and go to state 11 exp go to state 17

State 3

26 exp"scale" "(" exp "," exp "," exp "," exp "," exp ")" "(" shift, and go to state 18

State 4

13 exp"-" "number" "number" shift, and go to state 19

State 5

11 exp "number" 12 | "note" 13 | "-" "number" 14 | "not" exp 15 | "identifier" 16 | exp "+" exp 17 | exp "-" exp 18 | exp "*" exp 19 | exp "/" exp 20 | exp "comparison" exp 21 | exp "and" exp 22 | exp "or" exp 23 | "oneargfunc" "(" exp ")" 24 | "twoargfunc" "(" exp "," exp ")" 25 | "limit" "(" exp "," exp "," exp ")" 26 | "scale" "(" exp "," exp "," exp "," exp "," exp ")" 27 | exp "?" exp ":" exp 28 | "(" exp ")" 28 | "(" exp ")" "limit" shift, and go to state 1 "not" shift, and go to state 2 "scale" shift, and go to state 3 "-" shift, and go to state 4 "(" shift, and go to state 5 "identifier" shift, and go to state 7 "number" shift, and go to state 8 "note" shift, and go to state 9 "oneargfunc" shift, and go to state 10 "twoargfunc" shift, and go to state 11 exp go to state 20

State 6

5 circle"[" "]" assignments "]" shift, and go to state 21

State 7

15 exp"identifier" $default reduce using rule 15 (exp)

State 8

11 exp"number" $default reduce using rule 11 (exp)

State 9

12 exp"note" $default reduce using rule 12 (exp)

State 10

23 exp"oneargfunc" "(" exp ")" "(" shift, and go to state 22

State 11

24 exp"twoargfunc" "(" exp "," exp ")" "(" shift, and go to state 23

State 12

0 $acceptmeta_start $end $end shift, and go to state 24

State 13

1 meta_startcircle_list $end 4 circle_listcircle_list circle 5 circle "[" "]" assignments $end shift, and go to state 25 "[" shift, and go to state 6 circle go to state 26

State 14

3 circle_listcircle $default reduce using rule 3 (circle_list)

State 15

2 meta_startexp $end 16 expexp "+" exp 17 | exp "-" exp 18 | exp "*" exp 19 | exp "/" exp 20 | exp "comparison" exp 21 | exp "and" exp 22 | exp "or" exp 27 | exp "?" exp ":" exp $end shift, and go to state 27 "and" shift, and go to state 28 "or" shift, and go to state 29 "-" shift, and go to state 30 "+" shift, and go to state 31 "*" shift, and go to state 32 "/" shift, and go to state 33 "?" shift, and go to state 34 "comparison" shift, and go to state 35

State 16

11 exp "number" 12 | "note" 13 | "-" "number" 14 | "not" exp 15 | "identifier" 16 | exp "+" exp 17 | exp "-" exp 18 | exp "*" exp 19 | exp "/" exp 20 | exp "comparison" exp 21 | exp "and" exp 22 | exp "or" exp 23 | "oneargfunc" "(" exp ")" 24 | "twoargfunc" "(" exp "," exp ")" 25 | "limit" "(" exp "," exp "," exp ")" 25 | "limit" "(" exp "," exp "," exp ")" 26 | "scale" "(" exp "," exp "," exp "," exp "," exp ")" 27 | exp "?" exp ":" exp 28 | "(" exp ")" "limit" shift, and go to state 1 "not" shift, and go to state 2 "scale" shift, and go to state 3 "-" shift, and go to state 4 "(" shift, and go to state 5 "identifier" shift, and go to state 7 "number" shift, and go to state 8 "note" shift, and go to state 9 "oneargfunc" shift, and go to state 10 "twoargfunc" shift, and go to state 11 exp go to state 36

State 17

14 exp"not" exp [$end, "and", "or", "-", "+", "*", "/", ")", ",", "?", ":", "comparison"] 16 | exp "+" exp 17 | exp "-" exp 18 | exp "*" exp 19 | exp "/" exp 20 | exp "comparison" exp 21 | exp "and" exp 22 | exp "or" exp 27 | exp "?" exp ":" exp $default reduce using rule 14 (exp) Conflict between rule 14 and token "and" resolved as reduce ("and" < NEG). Conflict between rule 14 and token "or" resolved as reduce ("or" < NEG). Conflict between rule 14 and token "-" resolved as reduce ("-" < NEG). Conflict between rule 14 and token "+" resolved as reduce ("+" < NEG). Conflict between rule 14 and token "*" resolved as reduce ("*" < NEG). Conflict between rule 14 and token "/" resolved as reduce ("/" < NEG). Conflict between rule 14 and token "?" resolved as reduce ("?" < NEG). Conflict between rule 14 and token "comparison" resolved as reduce ("comparison" < NEG).

State 18

11 exp "number" 12 | "note" 13 | "-" "number" 14 | "not" exp 15 | "identifier" 16 | exp "+" exp 17 | exp "-" exp 18 | exp "*" exp 19 | exp "/" exp 20 | exp "comparison" exp 21 | exp "and" exp 22 | exp "or" exp 23 | "oneargfunc" "(" exp ")" 24 | "twoargfunc" "(" exp "," exp ")" 25 | "limit" "(" exp "," exp "," exp ")" 26 | "scale" "(" exp "," exp "," exp "," exp "," exp ")" 26 | "scale" "(" exp "," exp "," exp "," exp "," exp ")" 27 | exp "?" exp ":" exp 28 | "(" exp ")" "limit" shift, and go to state 1 "not" shift, and go to state 2 "scale" shift, and go to state 3 "-" shift, and go to state 4 "(" shift, and go to state 5 "identifier" shift, and go to state 7 "number" shift, and go to state 8 "note" shift, and go to state 9 "oneargfunc" shift, and go to state 10 "twoargfunc" shift, and go to state 11 exp go to state 37

State 19

13 exp"-" "number" $default reduce using rule 13 (exp)

State 20

16 expexp "+" exp 17 | exp "-" exp 18 | exp "*" exp 19 | exp "/" exp 20 | exp "comparison" exp 21 | exp "and" exp 22 | exp "or" exp 27 | exp "?" exp ":" exp 28 | "(" exp ")" "and" shift, and go to state 28 "or" shift, and go to state 29 "-" shift, and go to state 30 "+" shift, and go to state 31 "*" shift, and go to state 32 "/" shift, and go to state 33 ")" shift, and go to state 38 "?" shift, and go to state 34 "comparison" shift, and go to state 35

State 21

5 circle"[" "]" assignments 6 assignments assign 7 | assignments assign 8 assign "identifier" "=" "number" 9 | "identifier" "=" "-" "number" 10 | "identifier" "=" "quoted_string" "identifier" shift, and go to state 39 assignments go to state 40 assign go to state 41

State 22

11 exp "number" 12 | "note" 13 | "-" "number" 14 | "not" exp 15 | "identifier" 16 | exp "+" exp 17 | exp "-" exp 18 | exp "*" exp 19 | exp "/" exp 20 | exp "comparison" exp 21 | exp "and" exp 22 | exp "or" exp 23 | "oneargfunc" "(" exp ")" 23 | "oneargfunc" "(" exp ")" 24 | "twoargfunc" "(" exp "," exp ")" 25 | "limit" "(" exp "," exp "," exp ")" 26 | "scale" "(" exp "," exp "," exp "," exp "," exp ")" 27 | exp "?" exp ":" exp 28 | "(" exp ")" "limit" shift, and go to state 1 "not" shift, and go to state 2 "scale" shift, and go to state 3 "-" shift, and go to state 4 "(" shift, and go to state 5 "identifier" shift, and go to state 7 "number" shift, and go to state 8 "note" shift, and go to state 9 "oneargfunc" shift, and go to state 10 "twoargfunc" shift, and go to state 11 exp go to state 42

State 23

11 exp "number" 12 | "note" 13 | "-" "number" 14 | "not" exp 15 | "identifier" 16 | exp "+" exp 17 | exp "-" exp 18 | exp "*" exp 19 | exp "/" exp 20 | exp "comparison" exp 21 | exp "and" exp 22 | exp "or" exp 23 | "oneargfunc" "(" exp ")" 24 | "twoargfunc" "(" exp "," exp ")" 24 | "twoargfunc" "(" exp "," exp ")" 25 | "limit" "(" exp "," exp "," exp ")" 26 | "scale" "(" exp "," exp "," exp "," exp "," exp ")" 27 | exp "?" exp ":" exp 28 | "(" exp ")" "limit" shift, and go to state 1 "not" shift, and go to state 2 "scale" shift, and go to state 3 "-" shift, and go to state 4 "(" shift, and go to state 5 "identifier" shift, and go to state 7 "number" shift, and go to state 8 "note" shift, and go to state 9 "oneargfunc" shift, and go to state 10 "twoargfunc" shift, and go to state 11 exp go to state 43

State 24

0 $acceptmeta_start $end $default accept

State 25

1 meta_startcircle_list $end $default reduce using rule 1 (meta_start)

State 26

4 circle_listcircle_list circle $default reduce using rule 4 (circle_list)

State 27

2 meta_startexp $end $default reduce using rule 2 (meta_start)

State 28

11 exp "number" 12 | "note" 13 | "-" "number" 14 | "not" exp 15 | "identifier" 16 | exp "+" exp 17 | exp "-" exp 18 | exp "*" exp 19 | exp "/" exp 20 | exp "comparison" exp 21 | exp "and" exp 21 | exp "and" exp 22 | exp "or" exp 23 | "oneargfunc" "(" exp ")" 24 | "twoargfunc" "(" exp "," exp ")" 25 | "limit" "(" exp "," exp "," exp ")" 26 | "scale" "(" exp "," exp "," exp "," exp "," exp ")" 27 | exp "?" exp ":" exp 28 | "(" exp ")" "limit" shift, and go to state 1 "not" shift, and go to state 2 "scale" shift, and go to state 3 "-" shift, and go to state 4 "(" shift, and go to state 5 "identifier" shift, and go to state 7 "number" shift, and go to state 8 "note" shift, and go to state 9 "oneargfunc" shift, and go to state 10 "twoargfunc" shift, and go to state 11 exp go to state 44

State 29

11 exp "number" 12 | "note" 13 | "-" "number" 14 | "not" exp 15 | "identifier" 16 | exp "+" exp 17 | exp "-" exp 18 | exp "*" exp 19 | exp "/" exp 20 | exp "comparison" exp 21 | exp "and" exp 22 | exp "or" exp 22 | exp "or" exp 23 | "oneargfunc" "(" exp ")" 24 | "twoargfunc" "(" exp "," exp ")" 25 | "limit" "(" exp "," exp "," exp ")" 26 | "scale" "(" exp "," exp "," exp "," exp "," exp ")" 27 | exp "?" exp ":" exp 28 | "(" exp ")" "limit" shift, and go to state 1 "not" shift, and go to state 2 "scale" shift, and go to state 3 "-" shift, and go to state 4 "(" shift, and go to state 5 "identifier" shift, and go to state 7 "number" shift, and go to state 8 "note" shift, and go to state 9 "oneargfunc" shift, and go to state 10 "twoargfunc" shift, and go to state 11 exp go to state 45

State 30

11 exp "number" 12 | "note" 13 | "-" "number" 14 | "not" exp 15 | "identifier" 16 | exp "+" exp 17 | exp "-" exp 17 | exp "-" exp 18 | exp "*" exp 19 | exp "/" exp 20 | exp "comparison" exp 21 | exp "and" exp 22 | exp "or" exp 23 | "oneargfunc" "(" exp ")" 24 | "twoargfunc" "(" exp "," exp ")" 25 | "limit" "(" exp "," exp "," exp ")" 26 | "scale" "(" exp "," exp "," exp "," exp "," exp ")" 27 | exp "?" exp ":" exp 28 | "(" exp ")" "limit" shift, and go to state 1 "not" shift, and go to state 2 "scale" shift, and go to state 3 "-" shift, and go to state 4 "(" shift, and go to state 5 "identifier" shift, and go to state 7 "number" shift, and go to state 8 "note" shift, and go to state 9 "oneargfunc" shift, and go to state 10 "twoargfunc" shift, and go to state 11 exp go to state 46

State 31

11 exp "number" 12 | "note" 13 | "-" "number" 14 | "not" exp 15 | "identifier" 16 | exp "+" exp 16 | exp "+" exp 17 | exp "-" exp 18 | exp "*" exp 19 | exp "/" exp 20 | exp "comparison" exp 21 | exp "and" exp 22 | exp "or" exp 23 | "oneargfunc" "(" exp ")" 24 | "twoargfunc" "(" exp "," exp ")" 25 | "limit" "(" exp "," exp "," exp ")" 26 | "scale" "(" exp "," exp "," exp "," exp "," exp ")" 27 | exp "?" exp ":" exp 28 | "(" exp ")" "limit" shift, and go to state 1 "not" shift, and go to state 2 "scale" shift, and go to state 3 "-" shift, and go to state 4 "(" shift, and go to state 5 "identifier" shift, and go to state 7 "number" shift, and go to state 8 "note" shift, and go to state 9 "oneargfunc" shift, and go to state 10 "twoargfunc" shift, and go to state 11 exp go to state 47

State 32

11 exp "number" 12 | "note" 13 | "-" "number" 14 | "not" exp 15 | "identifier" 16 | exp "+" exp 17 | exp "-" exp 18 | exp "*" exp 18 | exp "*" exp 19 | exp "/" exp 20 | exp "comparison" exp 21 | exp "and" exp 22 | exp "or" exp 23 | "oneargfunc" "(" exp ")" 24 | "twoargfunc" "(" exp "," exp ")" 25 | "limit" "(" exp "," exp "," exp ")" 26 | "scale" "(" exp "," exp "," exp "," exp "," exp ")" 27 | exp "?" exp ":" exp 28 | "(" exp ")" "limit" shift, and go to state 1 "not" shift, and go to state 2 "scale" shift, and go to state 3 "-" shift, and go to state 4 "(" shift, and go to state 5 "identifier" shift, and go to state 7 "number" shift, and go to state 8 "note" shift, and go to state 9 "oneargfunc" shift, and go to state 10 "twoargfunc" shift, and go to state 11 exp go to state 48

State 33

11 exp "number" 12 | "note" 13 | "-" "number" 14 | "not" exp 15 | "identifier" 16 | exp "+" exp 17 | exp "-" exp 18 | exp "*" exp 19 | exp "/" exp 19 | exp "/" exp 20 | exp "comparison" exp 21 | exp "and" exp 22 | exp "or" exp 23 | "oneargfunc" "(" exp ")" 24 | "twoargfunc" "(" exp "," exp ")" 25 | "limit" "(" exp "," exp "," exp ")" 26 | "scale" "(" exp "," exp "," exp "," exp "," exp ")" 27 | exp "?" exp ":" exp 28 | "(" exp ")" "limit" shift, and go to state 1 "not" shift, and go to state 2 "scale" shift, and go to state 3 "-" shift, and go to state 4 "(" shift, and go to state 5 "identifier" shift, and go to state 7 "number" shift, and go to state 8 "note" shift, and go to state 9 "oneargfunc" shift, and go to state 10 "twoargfunc" shift, and go to state 11 exp go to state 49

State 34

11 exp "number" 12 | "note" 13 | "-" "number" 14 | "not" exp 15 | "identifier" 16 | exp "+" exp 17 | exp "-" exp 18 | exp "*" exp 19 | exp "/" exp 20 | exp "comparison" exp 21 | exp "and" exp 22 | exp "or" exp 23 | "oneargfunc" "(" exp ")" 24 | "twoargfunc" "(" exp "," exp ")" 25 | "limit" "(" exp "," exp "," exp ")" 26 | "scale" "(" exp "," exp "," exp "," exp "," exp ")" 27 | exp "?" exp ":" exp 27 | exp "?" exp ":" exp 28 | "(" exp ")" "limit" shift, and go to state 1 "not" shift, and go to state 2 "scale" shift, and go to state 3 "-" shift, and go to state 4 "(" shift, and go to state 5 "identifier" shift, and go to state 7 "number" shift, and go to state 8 "note" shift, and go to state 9 "oneargfunc" shift, and go to state 10 "twoargfunc" shift, and go to state 11 exp go to state 50

State 35

11 exp "number" 12 | "note" 13 | "-" "number" 14 | "not" exp 15 | "identifier" 16 | exp "+" exp 17 | exp "-" exp 18 | exp "*" exp 19 | exp "/" exp 20 | exp "comparison" exp 20 | exp "comparison" exp 21 | exp "and" exp 22 | exp "or" exp 23 | "oneargfunc" "(" exp ")" 24 | "twoargfunc" "(" exp "," exp ")" 25 | "limit" "(" exp "," exp "," exp ")" 26 | "scale" "(" exp "," exp "," exp "," exp "," exp ")" 27 | exp "?" exp ":" exp 28 | "(" exp ")" "limit" shift, and go to state 1 "not" shift, and go to state 2 "scale" shift, and go to state 3 "-" shift, and go to state 4 "(" shift, and go to state 5 "identifier" shift, and go to state 7 "number" shift, and go to state 8 "note" shift, and go to state 9 "oneargfunc" shift, and go to state 10 "twoargfunc" shift, and go to state 11 exp go to state 51

State 36

16 expexp "+" exp 17 | exp "-" exp 18 | exp "*" exp 19 | exp "/" exp 20 | exp "comparison" exp 21 | exp "and" exp 22 | exp "or" exp 25 | "limit" "(" exp "," exp "," exp ")" 27 | exp "?" exp ":" exp "and" shift, and go to state 28 "or" shift, and go to state 29 "-" shift, and go to state 30 "+" shift, and go to state 31 "*" shift, and go to state 32 "/" shift, and go to state 33 "," shift, and go to state 52 "?" shift, and go to state 34 "comparison" shift, and go to state 35

State 37

16 expexp "+" exp 17 | exp "-" exp 18 | exp "*" exp 19 | exp "/" exp 20 | exp "comparison" exp 21 | exp "and" exp 22 | exp "or" exp 26 | "scale" "(" exp "," exp "," exp "," exp "," exp ")" 27 | exp "?" exp ":" exp "and" shift, and go to state 28 "or" shift, and go to state 29 "-" shift, and go to state 30 "+" shift, and go to state 31 "*" shift, and go to state 32 "/" shift, and go to state 33 "," shift, and go to state 53 "?" shift, and go to state 34 "comparison" shift, and go to state 35

State 38

28 exp"(" exp ")" $default reduce using rule 28 (exp)

State 39

8 assign"identifier" "=" "number" 9 | "identifier" "=" "-" "number" 10 | "identifier" "=" "quoted_string" "=" shift, and go to state 54

State 40

5 circle"[" "]" assignments [$end, "["] 7 assignmentsassignments assign 8 assign "identifier" "=" "number" 9 | "identifier" "=" "-" "number" 10 | "identifier" "=" "quoted_string" "identifier" shift, and go to state 39 $default reduce using rule 5 (circle) assign go to state 55

State 41

6 assignmentsassign $default reduce using rule 6 (assignments)

State 42

16 expexp "+" exp 17 | exp "-" exp 18 | exp "*" exp 19 | exp "/" exp 20 | exp "comparison" exp 21 | exp "and" exp 22 | exp "or" exp 23 | "oneargfunc" "(" exp ")" 27 | exp "?" exp ":" exp "and" shift, and go to state 28 "or" shift, and go to state 29 "-" shift, and go to state 30 "+" shift, and go to state 31 "*" shift, and go to state 32 "/" shift, and go to state 33 ")" shift, and go to state 56 "?" shift, and go to state 34 "comparison" shift, and go to state 35

State 43

16 expexp "+" exp 17 | exp "-" exp 18 | exp "*" exp 19 | exp "/" exp 20 | exp "comparison" exp 21 | exp "and" exp 22 | exp "or" exp 24 | "twoargfunc" "(" exp "," exp ")" 27 | exp "?" exp ":" exp "and" shift, and go to state 28 "or" shift, and go to state 29 "-" shift, and go to state 30 "+" shift, and go to state 31 "*" shift, and go to state 32 "/" shift, and go to state 33 "," shift, and go to state 57 "?" shift, and go to state 34 "comparison" shift, and go to state 35

State 44

16 expexp "+" exp 17 | exp "-" exp 18 | exp "*" exp 19 | exp "/" exp 20 | exp "comparison" exp 21 | exp "and" exp 21 | exp "and" exp [$end, "and", "or", ")", ",", "?", ":"] 22 | exp "or" exp 27 | exp "?" exp ":" exp "-" shift, and go to state 30 "+" shift, and go to state 31 "*" shift, and go to state 32 "/" shift, and go to state 33 "comparison" shift, and go to state 35 $default reduce using rule 21 (exp) Conflict between rule 21 and token "and" resolved as reduce (%left "and"). Conflict between rule 21 and token "or" resolved as reduce ("or" < "and"). Conflict between rule 21 and token "-" resolved as shift ("and" < "-"). Conflict between rule 21 and token "+" resolved as shift ("and" < "+"). Conflict between rule 21 and token "*" resolved as shift ("and" < "*"). Conflict between rule 21 and token "/" resolved as shift ("and" < "/"). Conflict between rule 21 and token "?" resolved as reduce ("?" < "and"). Conflict between rule 21 and token "comparison" resolved as shift ("and" < "comparison").

State 45

16 expexp "+" exp 17 | exp "-" exp 18 | exp "*" exp 19 | exp "/" exp 20 | exp "comparison" exp 21 | exp "and" exp 22 | exp "or" exp 22 | exp "or" exp [$end, "or", ")", ",", "?", ":"] 27 | exp "?" exp ":" exp "and" shift, and go to state 28 "-" shift, and go to state 30 "+" shift, and go to state 31 "*" shift, and go to state 32 "/" shift, and go to state 33 "comparison" shift, and go to state 35 $default reduce using rule 22 (exp) Conflict between rule 22 and token "and" resolved as shift ("or" < "and"). Conflict between rule 22 and token "or" resolved as reduce (%left "or"). Conflict between rule 22 and token "-" resolved as shift ("or" < "-"). Conflict between rule 22 and token "+" resolved as shift ("or" < "+"). Conflict between rule 22 and token "*" resolved as shift ("or" < "*"). Conflict between rule 22 and token "/" resolved as shift ("or" < "/"). Conflict between rule 22 and token "?" resolved as reduce ("?" < "or"). Conflict between rule 22 and token "comparison" resolved as shift ("or" < "comparison").

State 46

16 expexp "+" exp 17 | exp "-" exp 17 | exp "-" exp [$end, "and", "or", "-", "+", ")", ",", "?", ":", "comparison"] 18 | exp "*" exp 19 | exp "/" exp 20 | exp "comparison" exp 21 | exp "and" exp 22 | exp "or" exp 27 | exp "?" exp ":" exp "*" shift, and go to state 32 "/" shift, and go to state 33 $default reduce using rule 17 (exp) Conflict between rule 17 and token "and" resolved as reduce ("and" < "-"). Conflict between rule 17 and token "or" resolved as reduce ("or" < "-"). Conflict between rule 17 and token "-" resolved as reduce (%left "-"). Conflict between rule 17 and token "+" resolved as reduce (%left "+"). Conflict between rule 17 and token "*" resolved as shift ("-" < "*"). Conflict between rule 17 and token "/" resolved as shift ("-" < "/"). Conflict between rule 17 and token "?" resolved as reduce ("?" < "-"). Conflict between rule 17 and token "comparison" resolved as reduce ("comparison" < "-").

State 47

16 expexp "+" exp 16 | exp "+" exp [$end, "and", "or", "-", "+", ")", ",", "?", ":", "comparison"] 17 | exp "-" exp 18 | exp "*" exp 19 | exp "/" exp 20 | exp "comparison" exp 21 | exp "and" exp 22 | exp "or" exp 27 | exp "?" exp ":" exp "*" shift, and go to state 32 "/" shift, and go to state 33 $default reduce using rule 16 (exp) Conflict between rule 16 and token "and" resolved as reduce ("and" < "+"). Conflict between rule 16 and token "or" resolved as reduce ("or" < "+"). Conflict between rule 16 and token "-" resolved as reduce (%left "-"). Conflict between rule 16 and token "+" resolved as reduce (%left "+"). Conflict between rule 16 and token "*" resolved as shift ("+" < "*"). Conflict between rule 16 and token "/" resolved as shift ("+" < "/"). Conflict between rule 16 and token "?" resolved as reduce ("?" < "+"). Conflict between rule 16 and token "comparison" resolved as reduce ("comparison" < "+").

State 48

16 expexp "+" exp 17 | exp "-" exp 18 | exp "*" exp 18 | exp "*" exp [$end, "and", "or", "-", "+", "*", "/", ")", ",", "?", ":", "comparison"] 19 | exp "/" exp 20 | exp "comparison" exp 21 | exp "and" exp 22 | exp "or" exp 27 | exp "?" exp ":" exp $default reduce using rule 18 (exp) Conflict between rule 18 and token "and" resolved as reduce ("and" < "*"). Conflict between rule 18 and token "or" resolved as reduce ("or" < "*"). Conflict between rule 18 and token "-" resolved as reduce ("-" < "*"). Conflict between rule 18 and token "+" resolved as reduce ("+" < "*"). Conflict between rule 18 and token "*" resolved as reduce (%left "*"). Conflict between rule 18 and token "/" resolved as reduce (%left "/"). Conflict between rule 18 and token "?" resolved as reduce ("?" < "*"). Conflict between rule 18 and token "comparison" resolved as reduce ("comparison" < "*").

State 49

16 expexp "+" exp 17 | exp "-" exp 18 | exp "*" exp 19 | exp "/" exp 19 | exp "/" exp [$end, "and", "or", "-", "+", "*", "/", ")", ",", "?", ":", "comparison"] 20 | exp "comparison" exp 21 | exp "and" exp 22 | exp "or" exp 27 | exp "?" exp ":" exp $default reduce using rule 19 (exp) Conflict between rule 19 and token "and" resolved as reduce ("and" < "/"). Conflict between rule 19 and token "or" resolved as reduce ("or" < "/"). Conflict between rule 19 and token "-" resolved as reduce ("-" < "/"). Conflict between rule 19 and token "+" resolved as reduce ("+" < "/"). Conflict between rule 19 and token "*" resolved as reduce (%left "*"). Conflict between rule 19 and token "/" resolved as reduce (%left "/"). Conflict between rule 19 and token "?" resolved as reduce ("?" < "/"). Conflict between rule 19 and token "comparison" resolved as reduce ("comparison" < "/").

State 50

16 expexp "+" exp 17 | exp "-" exp 18 | exp "*" exp 19 | exp "/" exp 20 | exp "comparison" exp 21 | exp "and" exp 22 | exp "or" exp 27 | exp "?" exp ":" exp 27 | exp "?" exp ":" exp "and" shift, and go to state 28 "or" shift, and go to state 29 "-" shift, and go to state 30 "+" shift, and go to state 31 "*" shift, and go to state 32 "/" shift, and go to state 33 "?" shift, and go to state 34 ":" shift, and go to state 58 "comparison" shift, and go to state 35

State 51

16 expexp "+" exp 17 | exp "-" exp 18 | exp "*" exp 19 | exp "/" exp 20 | exp "comparison" exp 20 | exp "comparison" exp [$end, "and", "or", ")", ",", "?", ":", "comparison"] 21 | exp "and" exp 22 | exp "or" exp 27 | exp "?" exp ":" exp "-" shift, and go to state 30 "+" shift, and go to state 31 "*" shift, and go to state 32 "/" shift, and go to state 33 $default reduce using rule 20 (exp) Conflict between rule 20 and token "and" resolved as reduce ("and" < "comparison"). Conflict between rule 20 and token "or" resolved as reduce ("or" < "comparison"). Conflict between rule 20 and token "-" resolved as shift ("comparison" < "-"). Conflict between rule 20 and token "+" resolved as shift ("comparison" < "+"). Conflict between rule 20 and token "*" resolved as shift ("comparison" < "*"). Conflict between rule 20 and token "/" resolved as shift ("comparison" < "/"). Conflict between rule 20 and token "?" resolved as reduce ("?" < "comparison"). Conflict between rule 20 and token "comparison" resolved as reduce (%left "comparison").

State 52

11 exp "number" 12 | "note" 13 | "-" "number" 14 | "not" exp 15 | "identifier" 16 | exp "+" exp 17 | exp "-" exp 18 | exp "*" exp 19 | exp "/" exp 20 | exp "comparison" exp 21 | exp "and" exp 22 | exp "or" exp 23 | "oneargfunc" "(" exp ")" 24 | "twoargfunc" "(" exp "," exp ")" 25 | "limit" "(" exp "," exp "," exp ")" 25 | "limit" "(" exp "," exp "," exp ")" 26 | "scale" "(" exp "," exp "," exp "," exp "," exp ")" 27 | exp "?" exp ":" exp 28 | "(" exp ")" "limit" shift, and go to state 1 "not" shift, and go to state 2 "scale" shift, and go to state 3 "-" shift, and go to state 4 "(" shift, and go to state 5 "identifier" shift, and go to state 7 "number" shift, and go to state 8 "note" shift, and go to state 9 "oneargfunc" shift, and go to state 10 "twoargfunc" shift, and go to state 11 exp go to state 59

State 53

11 exp "number" 12 | "note" 13 | "-" "number" 14 | "not" exp 15 | "identifier" 16 | exp "+" exp 17 | exp "-" exp 18 | exp "*" exp 19 | exp "/" exp 20 | exp "comparison" exp 21 | exp "and" exp 22 | exp "or" exp 23 | "oneargfunc" "(" exp ")" 24 | "twoargfunc" "(" exp "," exp ")" 25 | "limit" "(" exp "," exp "," exp ")" 26 | "scale" "(" exp "," exp "," exp "," exp "," exp ")" 26 | "scale" "(" exp "," exp "," exp "," exp "," exp ")" 27 | exp "?" exp ":" exp 28 | "(" exp ")" "limit" shift, and go to state 1 "not" shift, and go to state 2 "scale" shift, and go to state 3 "-" shift, and go to state 4 "(" shift, and go to state 5 "identifier" shift, and go to state 7 "number" shift, and go to state 8 "note" shift, and go to state 9 "oneargfunc" shift, and go to state 10 "twoargfunc" shift, and go to state 11 exp go to state 60

State 54

8 assign"identifier" "=" "number" 9 | "identifier" "=" "-" "number" 10 | "identifier" "=" "quoted_string" "-" shift, and go to state 61 "quoted_string" shift, and go to state 62 "number" shift, and go to state 63

State 55

7 assignmentsassignments assign $default reduce using rule 7 (assignments)

State 56

23 exp"oneargfunc" "(" exp ")" $default reduce using rule 23 (exp)

State 57

11 exp "number" 12 | "note" 13 | "-" "number" 14 | "not" exp 15 | "identifier" 16 | exp "+" exp 17 | exp "-" exp 18 | exp "*" exp 19 | exp "/" exp 20 | exp "comparison" exp 21 | exp "and" exp 22 | exp "or" exp 23 | "oneargfunc" "(" exp ")" 24 | "twoargfunc" "(" exp "," exp ")" 24 | "twoargfunc" "(" exp "," exp ")" 25 | "limit" "(" exp "," exp "," exp ")" 26 | "scale" "(" exp "," exp "," exp "," exp "," exp ")" 27 | exp "?" exp ":" exp 28 | "(" exp ")" "limit" shift, and go to state 1 "not" shift, and go to state 2 "scale" shift, and go to state 3 "-" shift, and go to state 4 "(" shift, and go to state 5 "identifier" shift, and go to state 7 "number" shift, and go to state 8 "note" shift, and go to state 9 "oneargfunc" shift, and go to state 10 "twoargfunc" shift, and go to state 11 exp go to state 64

State 58

11 exp "number" 12 | "note" 13 | "-" "number" 14 | "not" exp 15 | "identifier" 16 | exp "+" exp 17 | exp "-" exp 18 | exp "*" exp 19 | exp "/" exp 20 | exp "comparison" exp 21 | exp "and" exp 22 | exp "or" exp 23 | "oneargfunc" "(" exp ")" 24 | "twoargfunc" "(" exp "," exp ")" 25 | "limit" "(" exp "," exp "," exp ")" 26 | "scale" "(" exp "," exp "," exp "," exp "," exp ")" 27 | exp "?" exp ":" exp 27 | exp "?" exp ":" exp 28 | "(" exp ")" "limit" shift, and go to state 1 "not" shift, and go to state 2 "scale" shift, and go to state 3 "-" shift, and go to state 4 "(" shift, and go to state 5 "identifier" shift, and go to state 7 "number" shift, and go to state 8 "note" shift, and go to state 9 "oneargfunc" shift, and go to state 10 "twoargfunc" shift, and go to state 11 exp go to state 65

State 59

16 expexp "+" exp 17 | exp "-" exp 18 | exp "*" exp 19 | exp "/" exp 20 | exp "comparison" exp 21 | exp "and" exp 22 | exp "or" exp 25 | "limit" "(" exp "," exp "," exp ")" 27 | exp "?" exp ":" exp "and" shift, and go to state 28 "or" shift, and go to state 29 "-" shift, and go to state 30 "+" shift, and go to state 31 "*" shift, and go to state 32 "/" shift, and go to state 33 "," shift, and go to state 66 "?" shift, and go to state 34 "comparison" shift, and go to state 35

State 60

16 expexp "+" exp 17 | exp "-" exp 18 | exp "*" exp 19 | exp "/" exp 20 | exp "comparison" exp 21 | exp "and" exp 22 | exp "or" exp 26 | "scale" "(" exp "," exp "," exp "," exp "," exp ")" 27 | exp "?" exp ":" exp "and" shift, and go to state 28 "or" shift, and go to state 29 "-" shift, and go to state 30 "+" shift, and go to state 31 "*" shift, and go to state 32 "/" shift, and go to state 33 "," shift, and go to state 67 "?" shift, and go to state 34 "comparison" shift, and go to state 35

State 61

9 assign"identifier" "=" "-" "number" "number" shift, and go to state 68

State 62

10 assign"identifier" "=" "quoted_string" $default reduce using rule 10 (assign)

State 63

8 assign"identifier" "=" "number" $default reduce using rule 8 (assign)

State 64

16 expexp "+" exp 17 | exp "-" exp 18 | exp "*" exp 19 | exp "/" exp 20 | exp "comparison" exp 21 | exp "and" exp 22 | exp "or" exp 24 | "twoargfunc" "(" exp "," exp ")" 27 | exp "?" exp ":" exp "and" shift, and go to state 28 "or" shift, and go to state 29 "-" shift, and go to state 30 "+" shift, and go to state 31 "*" shift, and go to state 32 "/" shift, and go to state 33 ")" shift, and go to state 69 "?" shift, and go to state 34 "comparison" shift, and go to state 35

State 65

16 expexp "+" exp 17 | exp "-" exp 18 | exp "*" exp 19 | exp "/" exp 20 | exp "comparison" exp 21 | exp "and" exp 22 | exp "or" exp 27 | exp "?" exp ":" exp 27 | exp "?" exp ":" exp [$end, ")", ",", ":"] "and" shift, and go to state 28 "or" shift, and go to state 29 "-" shift, and go to state 30 "+" shift, and go to state 31 "*" shift, and go to state 32 "/" shift, and go to state 33 "?" shift, and go to state 34 "comparison" shift, and go to state 35 $default reduce using rule 27 (exp) Conflict between rule 27 and token "and" resolved as shift (":" < "and"). Conflict between rule 27 and token "or" resolved as shift (":" < "or"). Conflict between rule 27 and token "-" resolved as shift (":" < "-"). Conflict between rule 27 and token "+" resolved as shift (":" < "+"). Conflict between rule 27 and token "*" resolved as shift (":" < "*"). Conflict between rule 27 and token "/" resolved as shift (":" < "/"). Conflict between rule 27 and token "?" resolved as shift (%right "?"). Conflict between rule 27 and token "comparison" resolved as shift (":" < "comparison").

State 66

11 exp "number" 12 | "note" 13 | "-" "number" 14 | "not" exp 15 | "identifier" 16 | exp "+" exp 17 | exp "-" exp 18 | exp "*" exp 19 | exp "/" exp 20 | exp "comparison" exp 21 | exp "and" exp 22 | exp "or" exp 23 | "oneargfunc" "(" exp ")" 24 | "twoargfunc" "(" exp "," exp ")" 25 | "limit" "(" exp "," exp "," exp ")" 25 | "limit" "(" exp "," exp "," exp ")" 26 | "scale" "(" exp "," exp "," exp "," exp "," exp ")" 27 | exp "?" exp ":" exp 28 | "(" exp ")" "limit" shift, and go to state 1 "not" shift, and go to state 2 "scale" shift, and go to state 3 "-" shift, and go to state 4 "(" shift, and go to state 5 "identifier" shift, and go to state 7 "number" shift, and go to state 8 "note" shift, and go to state 9 "oneargfunc" shift, and go to state 10 "twoargfunc" shift, and go to state 11 exp go to state 70

State 67

11 exp "number" 12 | "note" 13 | "-" "number" 14 | "not" exp 15 | "identifier" 16 | exp "+" exp 17 | exp "-" exp 18 | exp "*" exp 19 | exp "/" exp 20 | exp "comparison" exp 21 | exp "and" exp 22 | exp "or" exp 23 | "oneargfunc" "(" exp ")" 24 | "twoargfunc" "(" exp "," exp ")" 25 | "limit" "(" exp "," exp "," exp ")" 26 | "scale" "(" exp "," exp "," exp "," exp "," exp ")" 26 | "scale" "(" exp "," exp "," exp "," exp "," exp ")" 27 | exp "?" exp ":" exp 28 | "(" exp ")" "limit" shift, and go to state 1 "not" shift, and go to state 2 "scale" shift, and go to state 3 "-" shift, and go to state 4 "(" shift, and go to state 5 "identifier" shift, and go to state 7 "number" shift, and go to state 8 "note" shift, and go to state 9 "oneargfunc" shift, and go to state 10 "twoargfunc" shift, and go to state 11 exp go to state 71

State 68

9 assign"identifier" "=" "-" "number" $default reduce using rule 9 (assign)

State 69

24 exp"twoargfunc" "(" exp "," exp ")" $default reduce using rule 24 (exp)

State 70

16 expexp "+" exp 17 | exp "-" exp 18 | exp "*" exp 19 | exp "/" exp 20 | exp "comparison" exp 21 | exp "and" exp 22 | exp "or" exp 25 | "limit" "(" exp "," exp "," exp ")" 27 | exp "?" exp ":" exp "and" shift, and go to state 28 "or" shift, and go to state 29 "-" shift, and go to state 30 "+" shift, and go to state 31 "*" shift, and go to state 32 "/" shift, and go to state 33 ")" shift, and go to state 72 "?" shift, and go to state 34 "comparison" shift, and go to state 35

State 71

16 expexp "+" exp 17 | exp "-" exp 18 | exp "*" exp 19 | exp "/" exp 20 | exp "comparison" exp 21 | exp "and" exp 22 | exp "or" exp 26 | "scale" "(" exp "," exp "," exp "," exp "," exp ")" 27 | exp "?" exp ":" exp "and" shift, and go to state 28 "or" shift, and go to state 29 "-" shift, and go to state 30 "+" shift, and go to state 31 "*" shift, and go to state 32 "/" shift, and go to state 33 "," shift, and go to state 73 "?" shift, and go to state 34 "comparison" shift, and go to state 35

State 72

25 exp"limit" "(" exp "," exp "," exp ")" $default reduce using rule 25 (exp)

State 73

11 exp "number" 12 | "note" 13 | "-" "number" 14 | "not" exp 15 | "identifier" 16 | exp "+" exp 17 | exp "-" exp 18 | exp "*" exp 19 | exp "/" exp 20 | exp "comparison" exp 21 | exp "and" exp 22 | exp "or" exp 23 | "oneargfunc" "(" exp ")" 24 | "twoargfunc" "(" exp "," exp ")" 25 | "limit" "(" exp "," exp "," exp ")" 26 | "scale" "(" exp "," exp "," exp "," exp "," exp ")" 26 | "scale" "(" exp "," exp "," exp "," exp "," exp ")" 27 | exp "?" exp ":" exp 28 | "(" exp ")" "limit" shift, and go to state 1 "not" shift, and go to state 2 "scale" shift, and go to state 3 "-" shift, and go to state 4 "(" shift, and go to state 5 "identifier" shift, and go to state 7 "number" shift, and go to state 8 "note" shift, and go to state 9 "oneargfunc" shift, and go to state 10 "twoargfunc" shift, and go to state 11 exp go to state 74

State 74

16 expexp "+" exp 17 | exp "-" exp 18 | exp "*" exp 19 | exp "/" exp 20 | exp "comparison" exp 21 | exp "and" exp 22 | exp "or" exp 26 | "scale" "(" exp "," exp "," exp "," exp "," exp ")" 27 | exp "?" exp ":" exp "and" shift, and go to state 28 "or" shift, and go to state 29 "-" shift, and go to state 30 "+" shift, and go to state 31 "*" shift, and go to state 32 "/" shift, and go to state 33 "," shift, and go to state 75 "?" shift, and go to state 34 "comparison" shift, and go to state 35

State 75

11 exp "number" 12 | "note" 13 | "-" "number" 14 | "not" exp 15 | "identifier" 16 | exp "+" exp 17 | exp "-" exp 18 | exp "*" exp 19 | exp "/" exp 20 | exp "comparison" exp 21 | exp "and" exp 22 | exp "or" exp 23 | "oneargfunc" "(" exp ")" 24 | "twoargfunc" "(" exp "," exp ")" 25 | "limit" "(" exp "," exp "," exp ")" 26 | "scale" "(" exp "," exp "," exp "," exp "," exp ")" 26 | "scale" "(" exp "," exp "," exp "," exp "," exp ")" 27 | exp "?" exp ":" exp 28 | "(" exp ")" "limit" shift, and go to state 1 "not" shift, and go to state 2 "scale" shift, and go to state 3 "-" shift, and go to state 4 "(" shift, and go to state 5 "identifier" shift, and go to state 7 "number" shift, and go to state 8 "note" shift, and go to state 9 "oneargfunc" shift, and go to state 10 "twoargfunc" shift, and go to state 11 exp go to state 76

State 76

16 expexp "+" exp 17 | exp "-" exp 18 | exp "*" exp 19 | exp "/" exp 20 | exp "comparison" exp 21 | exp "and" exp 22 | exp "or" exp 26 | "scale" "(" exp "," exp "," exp "," exp "," exp ")" 27 | exp "?" exp ":" exp "and" shift, and go to state 28 "or" shift, and go to state 29 "-" shift, and go to state 30 "+" shift, and go to state 31 "*" shift, and go to state 32 "/" shift, and go to state 33 ")" shift, and go to state 77 "?" shift, and go to state 34 "comparison" shift, and go to state 35

State 77

26 exp"scale" "(" exp "," exp "," exp "," exp "," exp ")" $default reduce using rule 26 (exp)