blob: a3fb1fcca0ff8a4a6866755a713dc0d526abe7bd [file] [log] [blame]
***** PLEASE READ THIS! DO NOT DELETE THIS BLOCK! *****
* The main reason this file has been generated and submitted is to try to ensure
* we never submit changes that cause shift/reduce or reduce/reduce conflicts.
* The Go yacc tool doesn't support the %expect directive, and will happily
* generate a parser even if such conflicts exist; it's up to the developer
* running the tool to notice that an error message is reported. The bottom of
* this file contains stats, including the number of conflicts. If you're
* reviewing a change make sure it says 0 conflicts.
*
* If you're updating the grammar, just cut-and-paste this message from the old
* file to the new one, so that this comment block persists.
***** PLEASE READ THIS! DO NOT DELETE THIS BLOCK! *****
state 0
$accept: .start $end
startFileImports shift 2
startFile shift 3
startConfigImports shift 4
startConfig shift 5
startExprs shift 6
. error
start goto 1
state 1
$accept: start.$end
$end accept
. error
state 2
start: startFileImports.package imports gen_imports_eof
package: . (10)
tPACKAGE shift 8
. reduce 10 (src line 161)
package goto 7
state 3
start: startFile.package imports defs
package: . (10)
tPACKAGE shift 8
. reduce 10 (src line 161)
package goto 9
state 4
start: startConfigImports.config imports gen_imports_eof
config: . (12)
tIDENT shift 11
. reduce 12 (src line 168)
config goto 10
state 5
start: startConfig.config imports defs
config: . (12)
tIDENT shift 11
. reduce 12 (src line 168)
config goto 12
state 6
start: startExprs.expr_comma_list ';'
otype: . (144)
'(' shift 29
'[' shift 31
'!' shift 17
'+' shift 18
'-' shift 19
'^' shift 20
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 22
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 23
tINTLIT shift 24
tRATLIT shift 25
tIMAGLIT shift 26
. reduce 144 (src line 634)
nameref goto 27
dotnameref goto 38
type goto 41
type_no_typeobject goto 21
otype goto 39
expr goto 14
unary_expr goto 15
operand goto 16
expr_comma_list goto 13
comp_lit goto 28
state 7
start: startFileImports package.imports gen_imports_eof
imports: . (14)
. reduce 14 (src line 185)
imports goto 42
state 8
package: tPACKAGE.tIDENT ';'
tIDENT shift 43
. error
state 9
start: startFile package.imports defs
imports: . (14)
. reduce 14 (src line 185)
imports goto 44
state 10
start: startConfigImports config.imports gen_imports_eof
imports: . (14)
. reduce 14 (src line 185)
imports goto 45
state 11
config: tIDENT.'=' expr ';'
'=' shift 46
. error
state 12
start: startConfig config.imports defs
imports: . (14)
. reduce 14 (src line 185)
imports goto 47
state 13
start: startExprs expr_comma_list.';'
expr_comma_list: expr_comma_list.',' expr
';' shift 48
',' shift 49
. error
state 14
expr_comma_list: expr. (83)
expr: expr.tOROR expr
expr: expr.tANDAND expr
expr: expr.'<' expr
expr: expr.'>' expr
expr: expr.tLE expr
expr: expr.tGE expr
expr: expr.tNE expr
expr: expr.tEQEQ expr
expr: expr.'+' expr
expr: expr.'-' expr
expr: expr.'*' expr
expr: expr.'/' expr
expr: expr.'%' expr
expr: expr.'|' expr
expr: expr.'&' expr
expr: expr.'^' expr
expr: expr.tLSH expr
expr: expr.tRSH expr
'<' shift 52
'>' shift 53
'+' shift 58
'-' shift 59
'*' shift 60
'/' shift 61
'%' shift 62
'|' shift 63
'&' shift 64
'^' shift 65
tOROR shift 50
tANDAND shift 51
tLE shift 54
tGE shift 55
tNE shift 56
tEQEQ shift 57
tLSH shift 66
tRSH shift 67
. reduce 83 (src line 452)
state 15
expr: unary_expr. (88)
. reduce 88 (src line 470)
state 16
unary_expr: operand. (107)
. reduce 107 (src line 510)
state 17
unary_expr: '!'.unary_expr
otype: . (144)
'(' shift 29
'[' shift 31
'!' shift 17
'+' shift 18
'-' shift 19
'^' shift 20
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 22
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 23
tINTLIT shift 24
tRATLIT shift 25
tIMAGLIT shift 26
. reduce 144 (src line 634)
nameref goto 27
dotnameref goto 38
type goto 41
type_no_typeobject goto 21
otype goto 39
unary_expr goto 68
operand goto 16
comp_lit goto 28
state 18
unary_expr: '+'.unary_expr
otype: . (144)
'(' shift 29
'[' shift 31
'!' shift 17
'+' shift 18
'-' shift 19
'^' shift 20
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 22
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 23
tINTLIT shift 24
tRATLIT shift 25
tIMAGLIT shift 26
. reduce 144 (src line 634)
nameref goto 27
dotnameref goto 38
type goto 41
type_no_typeobject goto 21
otype goto 39
unary_expr goto 69
operand goto 16
comp_lit goto 28
state 19
unary_expr: '-'.unary_expr
otype: . (144)
'(' shift 29
'[' shift 31
'!' shift 17
'+' shift 18
'-' shift 19
'^' shift 20
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 22
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 23
tINTLIT shift 24
tRATLIT shift 25
tIMAGLIT shift 26
. reduce 144 (src line 634)
nameref goto 27
dotnameref goto 38
type goto 41
type_no_typeobject goto 21
otype goto 39
unary_expr goto 70
operand goto 16
comp_lit goto 28
state 20
unary_expr: '^'.unary_expr
otype: . (144)
'(' shift 29
'[' shift 31
'!' shift 17
'+' shift 18
'-' shift 19
'^' shift 20
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 22
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 23
tINTLIT shift 24
tRATLIT shift 25
tIMAGLIT shift 26
. reduce 144 (src line 634)
nameref goto 27
dotnameref goto 38
type goto 41
type_no_typeobject goto 21
otype goto 39
unary_expr goto 71
operand goto 16
comp_lit goto 28
state 21
type: type_no_typeobject. (52)
unary_expr: type_no_typeobject.'(' expr ')'
'(' shift 72
. reduce 52 (src line 287)
state 22
type: tTYPEOBJECT. (53)
unary_expr: tTYPEOBJECT.'(' type ')'
'(' shift 73
. reduce 53 (src line 290)
state 23
operand: tSTRLIT. (114)
nameref: tSTRLIT.'.' dotnameref
'.' shift 74
. reduce 114 (src line 527)
state 24
operand: tINTLIT. (115)
. reduce 115 (src line 530)
state 25
operand: tRATLIT. (116)
. reduce 116 (src line 532)
state 26
operand: tIMAGLIT. (117)
. reduce 117 (src line 534)
state 27
type_no_typeobject: nameref. (40)
operand: nameref. (118)
operand: nameref.'[' expr ']'
'(' reduce 40 (src line 260)
'[' shift 75
'{' reduce 40 (src line 260)
. reduce 118 (src line 536)
state 28
operand: comp_lit. (119)
operand: comp_lit.'.' tIDENT
operand: comp_lit.'[' expr ']'
'.' shift 76
'[' shift 77
. reduce 119 (src line 538)
state 29
operand: '('.expr ')'
otype: . (144)
'(' shift 29
'[' shift 31
'!' shift 17
'+' shift 18
'-' shift 19
'^' shift 20
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 22
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 23
tINTLIT shift 24
tRATLIT shift 25
tIMAGLIT shift 26
. reduce 144 (src line 634)
nameref goto 27
dotnameref goto 38
type goto 41
type_no_typeobject goto 21
otype goto 39
expr goto 78
unary_expr goto 15
operand goto 16
comp_lit goto 28
state 30
type_no_typeobject: tERROR. (41)
. reduce 41 (src line 263)
state 31
type_no_typeobject: '['.tINTLIT ']' type
type_no_typeobject: '['.']' type
']' shift 80
tINTLIT shift 79
. error
state 32
type_no_typeobject: tENUM.'{' label_spec_list osemi '}'
'{' shift 81
. error
state 33
type_no_typeobject: tSET.'[' type ']'
'[' shift 82
. error
state 34
type_no_typeobject: tMAP.'[' type ']' type
'[' shift 83
. error
state 35
type_no_typeobject: tSTRUCT.'{' field_spec_list osemi '}'
type_no_typeobject: tSTRUCT.'{' '}'
'{' shift 84
. error
state 36
type_no_typeobject: tUNION.'{' field_spec_list osemi '}'
type_no_typeobject: tUNION.'{' '}'
'{' shift 85
. error
state 37
type_no_typeobject: '?'.type
'[' shift 31
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 88
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 90
. error
nameref goto 89
dotnameref goto 38
type goto 86
type_no_typeobject goto 87
state 38
nameref: dotnameref. (140)
dotnameref: dotnameref.'.' tIDENT
'.' shift 91
. reduce 140 (src line 621)
state 39
comp_lit: otype.'{' '}'
comp_lit: otype.'{' kv_lit_list ocomma '}'
'{' shift 92
. error
state 40
dotnameref: tIDENT. (142)
. reduce 142 (src line 628)
state 41
otype: type. (145)
. reduce 145 (src line 637)
state 42
start: startFileImports package imports.gen_imports_eof
imports: imports.import ';'
gen_imports_eof: . (6)
tCONST shift 96
tERROR shift 97
tIMPORT shift 98
tTYPE shift 95
. reduce 6 (src line 150)
gen_imports_eof goto 93
import goto 94
state 43
package: tPACKAGE tIDENT.';'
';' shift 99
. error
state 44
start: startFile package imports.defs
imports: imports.import ';'
defs: . (23)
tIMPORT shift 98
. reduce 23 (src line 211)
defs goto 100
import goto 94
state 45
start: startConfigImports config imports.gen_imports_eof
imports: imports.import ';'
gen_imports_eof: . (6)
tCONST shift 96
tERROR shift 97
tIMPORT shift 98
tTYPE shift 95
. reduce 6 (src line 150)
gen_imports_eof goto 101
import goto 94
state 46
config: tIDENT '='.expr ';'
otype: . (144)
'(' shift 29
'[' shift 31
'!' shift 17
'+' shift 18
'-' shift 19
'^' shift 20
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 22
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 23
tINTLIT shift 24
tRATLIT shift 25
tIMAGLIT shift 26
. reduce 144 (src line 634)
nameref goto 27
dotnameref goto 38
type goto 41
type_no_typeobject goto 21
otype goto 39
expr goto 102
unary_expr goto 15
operand goto 16
comp_lit goto 28
state 47
start: startConfig config imports.defs
imports: imports.import ';'
defs: . (23)
tIMPORT shift 98
. reduce 23 (src line 211)
defs goto 103
import goto 94
state 48
start: startExprs expr_comma_list ';'. (5)
. reduce 5 (src line 142)
state 49
expr_comma_list: expr_comma_list ','.expr
otype: . (144)
'(' shift 29
'[' shift 31
'!' shift 17
'+' shift 18
'-' shift 19
'^' shift 20
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 22
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 23
tINTLIT shift 24
tRATLIT shift 25
tIMAGLIT shift 26
. reduce 144 (src line 634)
nameref goto 27
dotnameref goto 38
type goto 41
type_no_typeobject goto 21
otype goto 39
expr goto 104
unary_expr goto 15
operand goto 16
comp_lit goto 28
state 50
expr: expr tOROR.expr
otype: . (144)
'(' shift 29
'[' shift 31
'!' shift 17
'+' shift 18
'-' shift 19
'^' shift 20
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 22
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 23
tINTLIT shift 24
tRATLIT shift 25
tIMAGLIT shift 26
. reduce 144 (src line 634)
nameref goto 27
dotnameref goto 38
type goto 41
type_no_typeobject goto 21
otype goto 39
expr goto 105
unary_expr goto 15
operand goto 16
comp_lit goto 28
state 51
expr: expr tANDAND.expr
otype: . (144)
'(' shift 29
'[' shift 31
'!' shift 17
'+' shift 18
'-' shift 19
'^' shift 20
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 22
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 23
tINTLIT shift 24
tRATLIT shift 25
tIMAGLIT shift 26
. reduce 144 (src line 634)
nameref goto 27
dotnameref goto 38
type goto 41
type_no_typeobject goto 21
otype goto 39
expr goto 106
unary_expr goto 15
operand goto 16
comp_lit goto 28
state 52
expr: expr '<'.expr
otype: . (144)
'(' shift 29
'[' shift 31
'!' shift 17
'+' shift 18
'-' shift 19
'^' shift 20
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 22
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 23
tINTLIT shift 24
tRATLIT shift 25
tIMAGLIT shift 26
. reduce 144 (src line 634)
nameref goto 27
dotnameref goto 38
type goto 41
type_no_typeobject goto 21
otype goto 39
expr goto 107
unary_expr goto 15
operand goto 16
comp_lit goto 28
state 53
expr: expr '>'.expr
otype: . (144)
'(' shift 29
'[' shift 31
'!' shift 17
'+' shift 18
'-' shift 19
'^' shift 20
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 22
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 23
tINTLIT shift 24
tRATLIT shift 25
tIMAGLIT shift 26
. reduce 144 (src line 634)
nameref goto 27
dotnameref goto 38
type goto 41
type_no_typeobject goto 21
otype goto 39
expr goto 108
unary_expr goto 15
operand goto 16
comp_lit goto 28
state 54
expr: expr tLE.expr
otype: . (144)
'(' shift 29
'[' shift 31
'!' shift 17
'+' shift 18
'-' shift 19
'^' shift 20
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 22
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 23
tINTLIT shift 24
tRATLIT shift 25
tIMAGLIT shift 26
. reduce 144 (src line 634)
nameref goto 27
dotnameref goto 38
type goto 41
type_no_typeobject goto 21
otype goto 39
expr goto 109
unary_expr goto 15
operand goto 16
comp_lit goto 28
state 55
expr: expr tGE.expr
otype: . (144)
'(' shift 29
'[' shift 31
'!' shift 17
'+' shift 18
'-' shift 19
'^' shift 20
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 22
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 23
tINTLIT shift 24
tRATLIT shift 25
tIMAGLIT shift 26
. reduce 144 (src line 634)
nameref goto 27
dotnameref goto 38
type goto 41
type_no_typeobject goto 21
otype goto 39
expr goto 110
unary_expr goto 15
operand goto 16
comp_lit goto 28
state 56
expr: expr tNE.expr
otype: . (144)
'(' shift 29
'[' shift 31
'!' shift 17
'+' shift 18
'-' shift 19
'^' shift 20
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 22
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 23
tINTLIT shift 24
tRATLIT shift 25
tIMAGLIT shift 26
. reduce 144 (src line 634)
nameref goto 27
dotnameref goto 38
type goto 41
type_no_typeobject goto 21
otype goto 39
expr goto 111
unary_expr goto 15
operand goto 16
comp_lit goto 28
state 57
expr: expr tEQEQ.expr
otype: . (144)
'(' shift 29
'[' shift 31
'!' shift 17
'+' shift 18
'-' shift 19
'^' shift 20
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 22
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 23
tINTLIT shift 24
tRATLIT shift 25
tIMAGLIT shift 26
. reduce 144 (src line 634)
nameref goto 27
dotnameref goto 38
type goto 41
type_no_typeobject goto 21
otype goto 39
expr goto 112
unary_expr goto 15
operand goto 16
comp_lit goto 28
state 58
expr: expr '+'.expr
otype: . (144)
'(' shift 29
'[' shift 31
'!' shift 17
'+' shift 18
'-' shift 19
'^' shift 20
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 22
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 23
tINTLIT shift 24
tRATLIT shift 25
tIMAGLIT shift 26
. reduce 144 (src line 634)
nameref goto 27
dotnameref goto 38
type goto 41
type_no_typeobject goto 21
otype goto 39
expr goto 113
unary_expr goto 15
operand goto 16
comp_lit goto 28
state 59
expr: expr '-'.expr
otype: . (144)
'(' shift 29
'[' shift 31
'!' shift 17
'+' shift 18
'-' shift 19
'^' shift 20
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 22
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 23
tINTLIT shift 24
tRATLIT shift 25
tIMAGLIT shift 26
. reduce 144 (src line 634)
nameref goto 27
dotnameref goto 38
type goto 41
type_no_typeobject goto 21
otype goto 39
expr goto 114
unary_expr goto 15
operand goto 16
comp_lit goto 28
state 60
expr: expr '*'.expr
otype: . (144)
'(' shift 29
'[' shift 31
'!' shift 17
'+' shift 18
'-' shift 19
'^' shift 20
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 22
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 23
tINTLIT shift 24
tRATLIT shift 25
tIMAGLIT shift 26
. reduce 144 (src line 634)
nameref goto 27
dotnameref goto 38
type goto 41
type_no_typeobject goto 21
otype goto 39
expr goto 115
unary_expr goto 15
operand goto 16
comp_lit goto 28
state 61
expr: expr '/'.expr
otype: . (144)
'(' shift 29
'[' shift 31
'!' shift 17
'+' shift 18
'-' shift 19
'^' shift 20
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 22
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 23
tINTLIT shift 24
tRATLIT shift 25
tIMAGLIT shift 26
. reduce 144 (src line 634)
nameref goto 27
dotnameref goto 38
type goto 41
type_no_typeobject goto 21
otype goto 39
expr goto 116
unary_expr goto 15
operand goto 16
comp_lit goto 28
state 62
expr: expr '%'.expr
otype: . (144)
'(' shift 29
'[' shift 31
'!' shift 17
'+' shift 18
'-' shift 19
'^' shift 20
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 22
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 23
tINTLIT shift 24
tRATLIT shift 25
tIMAGLIT shift 26
. reduce 144 (src line 634)
nameref goto 27
dotnameref goto 38
type goto 41
type_no_typeobject goto 21
otype goto 39
expr goto 117
unary_expr goto 15
operand goto 16
comp_lit goto 28
state 63
expr: expr '|'.expr
otype: . (144)
'(' shift 29
'[' shift 31
'!' shift 17
'+' shift 18
'-' shift 19
'^' shift 20
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 22
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 23
tINTLIT shift 24
tRATLIT shift 25
tIMAGLIT shift 26
. reduce 144 (src line 634)
nameref goto 27
dotnameref goto 38
type goto 41
type_no_typeobject goto 21
otype goto 39
expr goto 118
unary_expr goto 15
operand goto 16
comp_lit goto 28
state 64
expr: expr '&'.expr
otype: . (144)
'(' shift 29
'[' shift 31
'!' shift 17
'+' shift 18
'-' shift 19
'^' shift 20
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 22
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 23
tINTLIT shift 24
tRATLIT shift 25
tIMAGLIT shift 26
. reduce 144 (src line 634)
nameref goto 27
dotnameref goto 38
type goto 41
type_no_typeobject goto 21
otype goto 39
expr goto 119
unary_expr goto 15
operand goto 16
comp_lit goto 28
state 65
expr: expr '^'.expr
otype: . (144)
'(' shift 29
'[' shift 31
'!' shift 17
'+' shift 18
'-' shift 19
'^' shift 20
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 22
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 23
tINTLIT shift 24
tRATLIT shift 25
tIMAGLIT shift 26
. reduce 144 (src line 634)
nameref goto 27
dotnameref goto 38
type goto 41
type_no_typeobject goto 21
otype goto 39
expr goto 120
unary_expr goto 15
operand goto 16
comp_lit goto 28
state 66
expr: expr tLSH.expr
otype: . (144)
'(' shift 29
'[' shift 31
'!' shift 17
'+' shift 18
'-' shift 19
'^' shift 20
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 22
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 23
tINTLIT shift 24
tRATLIT shift 25
tIMAGLIT shift 26
. reduce 144 (src line 634)
nameref goto 27
dotnameref goto 38
type goto 41
type_no_typeobject goto 21
otype goto 39
expr goto 121
unary_expr goto 15
operand goto 16
comp_lit goto 28
state 67
expr: expr tRSH.expr
otype: . (144)
'(' shift 29
'[' shift 31
'!' shift 17
'+' shift 18
'-' shift 19
'^' shift 20
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 22
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 23
tINTLIT shift 24
tRATLIT shift 25
tIMAGLIT shift 26
. reduce 144 (src line 634)
nameref goto 27
dotnameref goto 38
type goto 41
type_no_typeobject goto 21
otype goto 39
expr goto 122
unary_expr goto 15
operand goto 16
comp_lit goto 28
state 68
unary_expr: '!' unary_expr. (108)
. reduce 108 (src line 513)
state 69
unary_expr: '+' unary_expr. (109)
. reduce 109 (src line 515)
state 70
unary_expr: '-' unary_expr. (110)
. reduce 110 (src line 517)
state 71
unary_expr: '^' unary_expr. (111)
. reduce 111 (src line 519)
state 72
unary_expr: type_no_typeobject '('.expr ')'
otype: . (144)
'(' shift 29
'[' shift 31
'!' shift 17
'+' shift 18
'-' shift 19
'^' shift 20
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 22
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 23
tINTLIT shift 24
tRATLIT shift 25
tIMAGLIT shift 26
. reduce 144 (src line 634)
nameref goto 27
dotnameref goto 38
type goto 41
type_no_typeobject goto 21
otype goto 39
expr goto 123
unary_expr goto 15
operand goto 16
comp_lit goto 28
state 73
unary_expr: tTYPEOBJECT '('.type ')'
'[' shift 31
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 88
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 90
. error
nameref goto 89
dotnameref goto 38
type goto 124
type_no_typeobject goto 87
state 74
nameref: tSTRLIT '.'.dotnameref
tIDENT shift 40
. error
dotnameref goto 125
state 75
operand: nameref '['.expr ']'
otype: . (144)
'(' shift 29
'[' shift 31
'!' shift 17
'+' shift 18
'-' shift 19
'^' shift 20
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 22
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 23
tINTLIT shift 24
tRATLIT shift 25
tIMAGLIT shift 26
. reduce 144 (src line 634)
nameref goto 27
dotnameref goto 38
type goto 41
type_no_typeobject goto 21
otype goto 39
expr goto 126
unary_expr goto 15
operand goto 16
comp_lit goto 28
state 76
operand: comp_lit '.'.tIDENT
tIDENT shift 127
. error
state 77
operand: comp_lit '['.expr ']'
otype: . (144)
'(' shift 29
'[' shift 31
'!' shift 17
'+' shift 18
'-' shift 19
'^' shift 20
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 22
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 23
tINTLIT shift 24
tRATLIT shift 25
tIMAGLIT shift 26
. reduce 144 (src line 634)
nameref goto 27
dotnameref goto 38
type goto 41
type_no_typeobject goto 21
otype goto 39
expr goto 128
unary_expr goto 15
operand goto 16
comp_lit goto 28
state 78
expr: expr.tOROR expr
expr: expr.tANDAND expr
expr: expr.'<' expr
expr: expr.'>' expr
expr: expr.tLE expr
expr: expr.tGE expr
expr: expr.tNE expr
expr: expr.tEQEQ expr
expr: expr.'+' expr
expr: expr.'-' expr
expr: expr.'*' expr
expr: expr.'/' expr
expr: expr.'%' expr
expr: expr.'|' expr
expr: expr.'&' expr
expr: expr.'^' expr
expr: expr.tLSH expr
expr: expr.tRSH expr
operand: '(' expr.')'
')' shift 129
'<' shift 52
'>' shift 53
'+' shift 58
'-' shift 59
'*' shift 60
'/' shift 61
'%' shift 62
'|' shift 63
'&' shift 64
'^' shift 65
tOROR shift 50
tANDAND shift 51
tLE shift 54
tGE shift 55
tNE shift 56
tEQEQ shift 57
tLSH shift 66
tRSH shift 67
. error
state 79
type_no_typeobject: '[' tINTLIT.']' type
']' shift 130
. error
state 80
type_no_typeobject: '[' ']'.type
'[' shift 31
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 88
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 90
. error
nameref goto 89
dotnameref goto 38
type goto 131
type_no_typeobject goto 87
state 81
type_no_typeobject: tENUM '{'.label_spec_list osemi '}'
tIDENT shift 134
. error
label_spec goto 133
label_spec_list goto 132
state 82
type_no_typeobject: tSET '['.type ']'
'[' shift 31
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 88
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 90
. error
nameref goto 89
dotnameref goto 38
type goto 135
type_no_typeobject goto 87
state 83
type_no_typeobject: tMAP '['.type ']' type
'[' shift 31
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 88
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 90
. error
nameref goto 89
dotnameref goto 38
type goto 136
type_no_typeobject goto 87
state 84
type_no_typeobject: tSTRUCT '{'.field_spec_list osemi '}'
type_no_typeobject: tSTRUCT '{'.'}'
'[' shift 31
'}' shift 138
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 88
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 90
. error
nameref goto 89
dotnameref goto 38
type goto 141
type_no_typeobject goto 87
type_comma_list goto 140
field_spec_list goto 137
field_spec goto 139
state 85
type_no_typeobject: tUNION '{'.field_spec_list osemi '}'
type_no_typeobject: tUNION '{'.'}'
'[' shift 31
'}' shift 143
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 88
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 90
. error
nameref goto 89
dotnameref goto 38
type goto 141
type_no_typeobject goto 87
type_comma_list goto 140
field_spec_list goto 142
field_spec goto 139
state 86
type_no_typeobject: '?' type. (51)
. reduce 51 (src line 283)
state 87
type: type_no_typeobject. (52)
. reduce 52 (src line 287)
state 88
type: tTYPEOBJECT. (53)
. reduce 53 (src line 290)
state 89
type_no_typeobject: nameref. (40)
. reduce 40 (src line 260)
state 90
nameref: tSTRLIT.'.' dotnameref
'.' shift 74
. error
state 91
dotnameref: dotnameref '.'.tIDENT
tIDENT shift 144
. error
state 92
comp_lit: otype '{'.'}'
comp_lit: otype '{'.kv_lit_list ocomma '}'
otype: . (144)
'(' shift 29
'[' shift 31
'}' shift 145
'!' shift 17
'+' shift 18
'-' shift 19
'^' shift 20
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 22
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 23
tINTLIT shift 24
tRATLIT shift 25
tIMAGLIT shift 26
. reduce 144 (src line 634)
nameref goto 27
dotnameref goto 38
type goto 41
type_no_typeobject goto 21
otype goto 39
expr goto 148
unary_expr goto 15
operand goto 16
comp_lit goto 28
kv_lit goto 147
kv_lit_list goto 146
state 93
start: startFileImports package imports gen_imports_eof. (1)
. reduce 1 (src line 137)
state 94
imports: imports import.';'
';' shift 149
. error
state 95
gen_imports_eof: tTYPE. (7)
. reduce 7 (src line 153)
state 96
gen_imports_eof: tCONST. (8)
. reduce 8 (src line 155)
state 97
gen_imports_eof: tERROR. (9)
. reduce 9 (src line 157)
state 98
import: tIMPORT.'(' ')'
import: tIMPORT.'(' import_spec_list osemi ')'
import: tIMPORT.import_spec
'(' shift 150
tIDENT shift 153
tSTRLIT shift 152
. error
import_spec goto 151
state 99
package: tPACKAGE tIDENT ';'. (11)
. reduce 11 (src line 164)
state 100
start: startFile package imports defs. (2)
defs: defs.type_def ';'
defs: defs.const_def ';'
defs: defs.error_def ';'
tCONST shift 158
tERROR shift 159
tTYPE shift 157
. reduce 2 (src line 139)
type_def goto 154
const_def goto 155
error_def goto 156
state 101
start: startConfigImports config imports gen_imports_eof. (3)
. reduce 3 (src line 140)
state 102
config: tIDENT '=' expr.';'
expr: expr.tOROR expr
expr: expr.tANDAND expr
expr: expr.'<' expr
expr: expr.'>' expr
expr: expr.tLE expr
expr: expr.tGE expr
expr: expr.tNE expr
expr: expr.tEQEQ expr
expr: expr.'+' expr
expr: expr.'-' expr
expr: expr.'*' expr
expr: expr.'/' expr
expr: expr.'%' expr
expr: expr.'|' expr
expr: expr.'&' expr
expr: expr.'^' expr
expr: expr.tLSH expr
expr: expr.tRSH expr
';' shift 160
'<' shift 52
'>' shift 53
'+' shift 58
'-' shift 59
'*' shift 60
'/' shift 61
'%' shift 62
'|' shift 63
'&' shift 64
'^' shift 65
tOROR shift 50
tANDAND shift 51
tLE shift 54
tGE shift 55
tNE shift 56
tEQEQ shift 57
tLSH shift 66
tRSH shift 67
. error
state 103
start: startConfig config imports defs. (4)
defs: defs.type_def ';'
defs: defs.const_def ';'
defs: defs.error_def ';'
tCONST shift 158
tERROR shift 159
tTYPE shift 157
. reduce 4 (src line 141)
type_def goto 154
const_def goto 155
error_def goto 156
state 104
expr_comma_list: expr_comma_list ',' expr. (84)
expr: expr.tOROR expr
expr: expr.tANDAND expr
expr: expr.'<' expr
expr: expr.'>' expr
expr: expr.tLE expr
expr: expr.tGE expr
expr: expr.tNE expr
expr: expr.tEQEQ expr
expr: expr.'+' expr
expr: expr.'-' expr
expr: expr.'*' expr
expr: expr.'/' expr
expr: expr.'%' expr
expr: expr.'|' expr
expr: expr.'&' expr
expr: expr.'^' expr
expr: expr.tLSH expr
expr: expr.tRSH expr
'<' shift 52
'>' shift 53
'+' shift 58
'-' shift 59
'*' shift 60
'/' shift 61
'%' shift 62
'|' shift 63
'&' shift 64
'^' shift 65
tOROR shift 50
tANDAND shift 51
tLE shift 54
tGE shift 55
tNE shift 56
tEQEQ shift 57
tLSH shift 66
tRSH shift 67
. reduce 84 (src line 455)
state 105
expr: expr.tOROR expr
expr: expr tOROR expr. (89)
expr: expr.tANDAND expr
expr: expr.'<' expr
expr: expr.'>' expr
expr: expr.tLE expr
expr: expr.tGE expr
expr: expr.tNE expr
expr: expr.tEQEQ expr
expr: expr.'+' expr
expr: expr.'-' expr
expr: expr.'*' expr
expr: expr.'/' expr
expr: expr.'%' expr
expr: expr.'|' expr
expr: expr.'&' expr
expr: expr.'^' expr
expr: expr.tLSH expr
expr: expr.tRSH expr
'<' shift 52
'>' shift 53
'+' shift 58
'-' shift 59
'*' shift 60
'/' shift 61
'%' shift 62
'|' shift 63
'&' shift 64
'^' shift 65
tANDAND shift 51
tLE shift 54
tGE shift 55
tNE shift 56
tEQEQ shift 57
tLSH shift 66
tRSH shift 67
. reduce 89 (src line 473)
state 106
expr: expr.tOROR expr
expr: expr.tANDAND expr
expr: expr tANDAND expr. (90)
expr: expr.'<' expr
expr: expr.'>' expr
expr: expr.tLE expr
expr: expr.tGE expr
expr: expr.tNE expr
expr: expr.tEQEQ expr
expr: expr.'+' expr
expr: expr.'-' expr
expr: expr.'*' expr
expr: expr.'/' expr
expr: expr.'%' expr
expr: expr.'|' expr
expr: expr.'&' expr
expr: expr.'^' expr
expr: expr.tLSH expr
expr: expr.tRSH expr
'<' shift 52
'>' shift 53
'+' shift 58
'-' shift 59
'*' shift 60
'/' shift 61
'%' shift 62
'|' shift 63
'&' shift 64
'^' shift 65
tLE shift 54
tGE shift 55
tNE shift 56
tEQEQ shift 57
tLSH shift 66
tRSH shift 67
. reduce 90 (src line 475)
state 107
expr: expr.tOROR expr
expr: expr.tANDAND expr
expr: expr.'<' expr
expr: expr '<' expr. (91)
expr: expr.'>' expr
expr: expr.tLE expr
expr: expr.tGE expr
expr: expr.tNE expr
expr: expr.tEQEQ expr
expr: expr.'+' expr
expr: expr.'-' expr
expr: expr.'*' expr
expr: expr.'/' expr
expr: expr.'%' expr
expr: expr.'|' expr
expr: expr.'&' expr
expr: expr.'^' expr
expr: expr.tLSH expr
expr: expr.tRSH expr
'+' shift 58
'-' shift 59
'*' shift 60
'/' shift 61
'%' shift 62
'|' shift 63
'&' shift 64
'^' shift 65
tLSH shift 66
tRSH shift 67
. reduce 91 (src line 477)
state 108
expr: expr.tOROR expr
expr: expr.tANDAND expr
expr: expr.'<' expr
expr: expr.'>' expr
expr: expr '>' expr. (92)
expr: expr.tLE expr
expr: expr.tGE expr
expr: expr.tNE expr
expr: expr.tEQEQ expr
expr: expr.'+' expr
expr: expr.'-' expr
expr: expr.'*' expr
expr: expr.'/' expr
expr: expr.'%' expr
expr: expr.'|' expr
expr: expr.'&' expr
expr: expr.'^' expr
expr: expr.tLSH expr
expr: expr.tRSH expr
'+' shift 58
'-' shift 59
'*' shift 60
'/' shift 61
'%' shift 62
'|' shift 63
'&' shift 64
'^' shift 65
tLSH shift 66
tRSH shift 67
. reduce 92 (src line 479)
state 109
expr: expr.tOROR expr
expr: expr.tANDAND expr
expr: expr.'<' expr
expr: expr.'>' expr
expr: expr.tLE expr
expr: expr tLE expr. (93)
expr: expr.tGE expr
expr: expr.tNE expr
expr: expr.tEQEQ expr
expr: expr.'+' expr
expr: expr.'-' expr
expr: expr.'*' expr
expr: expr.'/' expr
expr: expr.'%' expr
expr: expr.'|' expr
expr: expr.'&' expr
expr: expr.'^' expr
expr: expr.tLSH expr
expr: expr.tRSH expr
'+' shift 58
'-' shift 59
'*' shift 60
'/' shift 61
'%' shift 62
'|' shift 63
'&' shift 64
'^' shift 65
tLSH shift 66
tRSH shift 67
. reduce 93 (src line 481)
state 110
expr: expr.tOROR expr
expr: expr.tANDAND expr
expr: expr.'<' expr
expr: expr.'>' expr
expr: expr.tLE expr
expr: expr.tGE expr
expr: expr tGE expr. (94)
expr: expr.tNE expr
expr: expr.tEQEQ expr
expr: expr.'+' expr
expr: expr.'-' expr
expr: expr.'*' expr
expr: expr.'/' expr
expr: expr.'%' expr
expr: expr.'|' expr
expr: expr.'&' expr
expr: expr.'^' expr
expr: expr.tLSH expr
expr: expr.tRSH expr
'+' shift 58
'-' shift 59
'*' shift 60
'/' shift 61
'%' shift 62
'|' shift 63
'&' shift 64
'^' shift 65
tLSH shift 66
tRSH shift 67
. reduce 94 (src line 483)
state 111
expr: expr.tOROR expr
expr: expr.tANDAND expr
expr: expr.'<' expr
expr: expr.'>' expr
expr: expr.tLE expr
expr: expr.tGE expr
expr: expr.tNE expr
expr: expr tNE expr. (95)
expr: expr.tEQEQ expr
expr: expr.'+' expr
expr: expr.'-' expr
expr: expr.'*' expr
expr: expr.'/' expr
expr: expr.'%' expr
expr: expr.'|' expr
expr: expr.'&' expr
expr: expr.'^' expr
expr: expr.tLSH expr
expr: expr.tRSH expr
'+' shift 58
'-' shift 59
'*' shift 60
'/' shift 61
'%' shift 62
'|' shift 63
'&' shift 64
'^' shift 65
tLSH shift 66
tRSH shift 67
. reduce 95 (src line 485)
state 112
expr: expr.tOROR expr
expr: expr.tANDAND expr
expr: expr.'<' expr
expr: expr.'>' expr
expr: expr.tLE expr
expr: expr.tGE expr
expr: expr.tNE expr
expr: expr.tEQEQ expr
expr: expr tEQEQ expr. (96)
expr: expr.'+' expr
expr: expr.'-' expr
expr: expr.'*' expr
expr: expr.'/' expr
expr: expr.'%' expr
expr: expr.'|' expr
expr: expr.'&' expr
expr: expr.'^' expr
expr: expr.tLSH expr
expr: expr.tRSH expr
'+' shift 58
'-' shift 59
'*' shift 60
'/' shift 61
'%' shift 62
'|' shift 63
'&' shift 64
'^' shift 65
tLSH shift 66
tRSH shift 67
. reduce 96 (src line 487)
state 113
expr: expr.tOROR expr
expr: expr.tANDAND expr
expr: expr.'<' expr
expr: expr.'>' expr
expr: expr.tLE expr
expr: expr.tGE expr
expr: expr.tNE expr
expr: expr.tEQEQ expr
expr: expr.'+' expr
expr: expr '+' expr. (97)
expr: expr.'-' expr
expr: expr.'*' expr
expr: expr.'/' expr
expr: expr.'%' expr
expr: expr.'|' expr
expr: expr.'&' expr
expr: expr.'^' expr
expr: expr.tLSH expr
expr: expr.tRSH expr
'*' shift 60
'/' shift 61
'%' shift 62
'&' shift 64
tLSH shift 66
tRSH shift 67
. reduce 97 (src line 489)
state 114
expr: expr.tOROR expr
expr: expr.tANDAND expr
expr: expr.'<' expr
expr: expr.'>' expr
expr: expr.tLE expr
expr: expr.tGE expr
expr: expr.tNE expr
expr: expr.tEQEQ expr
expr: expr.'+' expr
expr: expr.'-' expr
expr: expr '-' expr. (98)
expr: expr.'*' expr
expr: expr.'/' expr
expr: expr.'%' expr
expr: expr.'|' expr
expr: expr.'&' expr
expr: expr.'^' expr
expr: expr.tLSH expr
expr: expr.tRSH expr
'*' shift 60
'/' shift 61
'%' shift 62
'&' shift 64
tLSH shift 66
tRSH shift 67
. reduce 98 (src line 491)
state 115
expr: expr.tOROR expr
expr: expr.tANDAND expr
expr: expr.'<' expr
expr: expr.'>' expr
expr: expr.tLE expr
expr: expr.tGE expr
expr: expr.tNE expr
expr: expr.tEQEQ expr
expr: expr.'+' expr
expr: expr.'-' expr
expr: expr.'*' expr
expr: expr '*' expr. (99)
expr: expr.'/' expr
expr: expr.'%' expr
expr: expr.'|' expr
expr: expr.'&' expr
expr: expr.'^' expr
expr: expr.tLSH expr
expr: expr.tRSH expr
. reduce 99 (src line 493)
state 116
expr: expr.tOROR expr
expr: expr.tANDAND expr
expr: expr.'<' expr
expr: expr.'>' expr
expr: expr.tLE expr
expr: expr.tGE expr
expr: expr.tNE expr
expr: expr.tEQEQ expr
expr: expr.'+' expr
expr: expr.'-' expr
expr: expr.'*' expr
expr: expr.'/' expr
expr: expr '/' expr. (100)
expr: expr.'%' expr
expr: expr.'|' expr
expr: expr.'&' expr
expr: expr.'^' expr
expr: expr.tLSH expr
expr: expr.tRSH expr
. reduce 100 (src line 495)
state 117
expr: expr.tOROR expr
expr: expr.tANDAND expr
expr: expr.'<' expr
expr: expr.'>' expr
expr: expr.tLE expr
expr: expr.tGE expr
expr: expr.tNE expr
expr: expr.tEQEQ expr
expr: expr.'+' expr
expr: expr.'-' expr
expr: expr.'*' expr
expr: expr.'/' expr
expr: expr.'%' expr
expr: expr '%' expr. (101)
expr: expr.'|' expr
expr: expr.'&' expr
expr: expr.'^' expr
expr: expr.tLSH expr
expr: expr.tRSH expr
. reduce 101 (src line 497)
state 118
expr: expr.tOROR expr
expr: expr.tANDAND expr
expr: expr.'<' expr
expr: expr.'>' expr
expr: expr.tLE expr
expr: expr.tGE expr
expr: expr.tNE expr
expr: expr.tEQEQ expr
expr: expr.'+' expr
expr: expr.'-' expr
expr: expr.'*' expr
expr: expr.'/' expr
expr: expr.'%' expr
expr: expr.'|' expr
expr: expr '|' expr. (102)
expr: expr.'&' expr
expr: expr.'^' expr
expr: expr.tLSH expr
expr: expr.tRSH expr
'*' shift 60
'/' shift 61
'%' shift 62
'&' shift 64
tLSH shift 66
tRSH shift 67
. reduce 102 (src line 499)
state 119
expr: expr.tOROR expr
expr: expr.tANDAND expr
expr: expr.'<' expr
expr: expr.'>' expr
expr: expr.tLE expr
expr: expr.tGE expr
expr: expr.tNE expr
expr: expr.tEQEQ expr
expr: expr.'+' expr
expr: expr.'-' expr
expr: expr.'*' expr
expr: expr.'/' expr
expr: expr.'%' expr
expr: expr.'|' expr
expr: expr.'&' expr
expr: expr '&' expr. (103)
expr: expr.'^' expr
expr: expr.tLSH expr
expr: expr.tRSH expr
. reduce 103 (src line 501)
state 120
expr: expr.tOROR expr
expr: expr.tANDAND expr
expr: expr.'<' expr
expr: expr.'>' expr
expr: expr.tLE expr
expr: expr.tGE expr
expr: expr.tNE expr
expr: expr.tEQEQ expr
expr: expr.'+' expr
expr: expr.'-' expr
expr: expr.'*' expr
expr: expr.'/' expr
expr: expr.'%' expr
expr: expr.'|' expr
expr: expr.'&' expr
expr: expr.'^' expr
expr: expr '^' expr. (104)
expr: expr.tLSH expr
expr: expr.tRSH expr
'*' shift 60
'/' shift 61
'%' shift 62
'&' shift 64
tLSH shift 66
tRSH shift 67
. reduce 104 (src line 503)
state 121
expr: expr.tOROR expr
expr: expr.tANDAND expr
expr: expr.'<' expr
expr: expr.'>' expr
expr: expr.tLE expr
expr: expr.tGE expr
expr: expr.tNE expr
expr: expr.tEQEQ expr
expr: expr.'+' expr
expr: expr.'-' expr
expr: expr.'*' expr
expr: expr.'/' expr
expr: expr.'%' expr
expr: expr.'|' expr
expr: expr.'&' expr
expr: expr.'^' expr
expr: expr.tLSH expr
expr: expr tLSH expr. (105)
expr: expr.tRSH expr
. reduce 105 (src line 505)
state 122
expr: expr.tOROR expr
expr: expr.tANDAND expr
expr: expr.'<' expr
expr: expr.'>' expr
expr: expr.tLE expr
expr: expr.tGE expr
expr: expr.tNE expr
expr: expr.tEQEQ expr
expr: expr.'+' expr
expr: expr.'-' expr
expr: expr.'*' expr
expr: expr.'/' expr
expr: expr.'%' expr
expr: expr.'|' expr
expr: expr.'&' expr
expr: expr.'^' expr
expr: expr.tLSH expr
expr: expr.tRSH expr
expr: expr tRSH expr. (106)
. reduce 106 (src line 507)
state 123
expr: expr.tOROR expr
expr: expr.tANDAND expr
expr: expr.'<' expr
expr: expr.'>' expr
expr: expr.tLE expr
expr: expr.tGE expr
expr: expr.tNE expr
expr: expr.tEQEQ expr
expr: expr.'+' expr
expr: expr.'-' expr
expr: expr.'*' expr
expr: expr.'/' expr
expr: expr.'%' expr
expr: expr.'|' expr
expr: expr.'&' expr
expr: expr.'^' expr
expr: expr.tLSH expr
expr: expr.tRSH expr
unary_expr: type_no_typeobject '(' expr.')'
')' shift 161
'<' shift 52
'>' shift 53
'+' shift 58
'-' shift 59
'*' shift 60
'/' shift 61
'%' shift 62
'|' shift 63
'&' shift 64
'^' shift 65
tOROR shift 50
tANDAND shift 51
tLE shift 54
tGE shift 55
tNE shift 56
tEQEQ shift 57
tLSH shift 66
tRSH shift 67
. error
state 124
unary_expr: tTYPEOBJECT '(' type.')'
')' shift 162
. error
state 125
nameref: tSTRLIT '.' dotnameref. (141)
dotnameref: dotnameref.'.' tIDENT
'.' shift 91
. reduce 141 (src line 624)
state 126
expr: expr.tOROR expr
expr: expr.tANDAND expr
expr: expr.'<' expr
expr: expr.'>' expr
expr: expr.tLE expr
expr: expr.tGE expr
expr: expr.tNE expr
expr: expr.tEQEQ expr
expr: expr.'+' expr
expr: expr.'-' expr
expr: expr.'*' expr
expr: expr.'/' expr
expr: expr.'%' expr
expr: expr.'|' expr
expr: expr.'&' expr
expr: expr.'^' expr
expr: expr.tLSH expr
expr: expr.tRSH expr
operand: nameref '[' expr.']'
']' shift 163
'<' shift 52
'>' shift 53
'+' shift 58
'-' shift 59
'*' shift 60
'/' shift 61
'%' shift 62
'|' shift 63
'&' shift 64
'^' shift 65
tOROR shift 50
tANDAND shift 51
tLE shift 54
tGE shift 55
tNE shift 56
tEQEQ shift 57
tLSH shift 66
tRSH shift 67
. error
state 127
operand: comp_lit '.' tIDENT. (120)
. reduce 120 (src line 540)
state 128
expr: expr.tOROR expr
expr: expr.tANDAND expr
expr: expr.'<' expr
expr: expr.'>' expr
expr: expr.tLE expr
expr: expr.tGE expr
expr: expr.tNE expr
expr: expr.tEQEQ expr
expr: expr.'+' expr
expr: expr.'-' expr
expr: expr.'*' expr
expr: expr.'/' expr
expr: expr.'%' expr
expr: expr.'|' expr
expr: expr.'&' expr
expr: expr.'^' expr
expr: expr.tLSH expr
expr: expr.tRSH expr
operand: comp_lit '[' expr.']'
']' shift 164
'<' shift 52
'>' shift 53
'+' shift 58
'-' shift 59
'*' shift 60
'/' shift 61
'%' shift 62
'|' shift 63
'&' shift 64
'^' shift 65
tOROR shift 50
tANDAND shift 51
tLE shift 54
tGE shift 55
tNE shift 56
tEQEQ shift 57
tLSH shift 66
tRSH shift 67
. error
state 129
operand: '(' expr ')'. (123)
. reduce 123 (src line 546)
state 130
type_no_typeobject: '[' tINTLIT ']'.type
'[' shift 31
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 88
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 90
. error
nameref goto 89
dotnameref goto 38
type goto 165
type_no_typeobject goto 87
state 131
type_no_typeobject: '[' ']' type. (43)
. reduce 43 (src line 267)
state 132
type_no_typeobject: tENUM '{' label_spec_list.osemi '}'
label_spec_list: label_spec_list.';' label_spec
osemi: . (146)
';' shift 167
. reduce 146 (src line 640)
osemi goto 166
state 133
label_spec_list: label_spec. (54)
. reduce 54 (src line 293)
state 134
label_spec: tIDENT. (56)
. reduce 56 (src line 299)
state 135
type_no_typeobject: tSET '[' type.']'
']' shift 168
. error
state 136
type_no_typeobject: tMAP '[' type.']' type
']' shift 169
. error
state 137
type_no_typeobject: tSTRUCT '{' field_spec_list.osemi '}'
field_spec_list: field_spec_list.';' field_spec
osemi: . (146)
';' shift 171
. reduce 146 (src line 640)
osemi goto 170
state 138
type_no_typeobject: tSTRUCT '{' '}'. (48)
. reduce 48 (src line 277)
state 139
field_spec_list: field_spec. (57)
. reduce 57 (src line 303)
state 140
field_spec: type_comma_list.type
type_comma_list: type_comma_list.',' type
',' shift 173
'[' shift 31
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 88
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 90
. error
nameref goto 89
dotnameref goto 38
type goto 172
type_no_typeobject goto 87
state 141
type_comma_list: type. (60)
. reduce 60 (src line 355)
state 142
type_no_typeobject: tUNION '{' field_spec_list.osemi '}'
field_spec_list: field_spec_list.';' field_spec
osemi: . (146)
';' shift 171
. reduce 146 (src line 640)
osemi goto 174
state 143
type_no_typeobject: tUNION '{' '}'. (50)
. reduce 50 (src line 281)
state 144
dotnameref: dotnameref '.' tIDENT. (143)
. reduce 143 (src line 631)
state 145
comp_lit: otype '{' '}'. (124)
. reduce 124 (src line 549)
state 146
comp_lit: otype '{' kv_lit_list.ocomma '}'
kv_lit_list: kv_lit_list.',' kv_lit
ocomma: . (148)
',' shift 176
. reduce 148 (src line 644)
ocomma goto 175
state 147
kv_lit_list: kv_lit. (126)
. reduce 126 (src line 555)
state 148
expr: expr.tOROR expr
expr: expr.tANDAND expr
expr: expr.'<' expr
expr: expr.'>' expr
expr: expr.tLE expr
expr: expr.tGE expr
expr: expr.tNE expr
expr: expr.tEQEQ expr
expr: expr.'+' expr
expr: expr.'-' expr
expr: expr.'*' expr
expr: expr.'/' expr
expr: expr.'%' expr
expr: expr.'|' expr
expr: expr.'&' expr
expr: expr.'^' expr
expr: expr.tLSH expr
expr: expr.tRSH expr
kv_lit: expr. (128)
kv_lit: expr.':' expr
':' shift 177
'<' shift 52
'>' shift 53
'+' shift 58
'-' shift 59
'*' shift 60
'/' shift 61
'%' shift 62
'|' shift 63
'&' shift 64
'^' shift 65
tOROR shift 50
tANDAND shift 51
tLE shift 54
tGE shift 55
tNE shift 56
tEQEQ shift 57
tLSH shift 66
tRSH shift 67
. reduce 128 (src line 561)
state 149
imports: imports import ';'. (15)
. reduce 15 (src line 187)
state 150
import: tIMPORT '('.')'
import: tIMPORT '('.import_spec_list osemi ')'
')' shift 178
tIDENT shift 153
tSTRLIT shift 152
. error
import_spec_list goto 179
import_spec goto 180
state 151
import: tIMPORT import_spec. (18)
. reduce 18 (src line 192)
state 152
import_spec: tSTRLIT. (21)
. reduce 21 (src line 198)
state 153
import_spec: tIDENT.tSTRLIT
tSTRLIT shift 181
. error
state 154
defs: defs type_def.';'
';' shift 182
. error
state 155
defs: defs const_def.';'
';' shift 183
. error
state 156
defs: defs error_def.';'
';' shift 184
. error
state 157
type_def: tTYPE.'(' ')'
type_def: tTYPE.'(' type_spec_list osemi ')'
type_def: tTYPE.type_spec
type_def: tTYPE.interface_spec
'(' shift 185
tIDENT shift 188
. error
type_spec goto 186
interface_spec goto 187
state 158
const_def: tCONST.'(' ')'
const_def: tCONST.'(' const_spec_list osemi ')'
const_def: tCONST.const_spec
'(' shift 189
tIDENT shift 191
. error
const_spec goto 190
state 159
error_def: tERROR.'(' ')'
error_def: tERROR.'(' error_spec_list osemi ')'
error_def: tERROR.error_spec
'(' shift 192
tIDENT shift 194
. error
error_spec goto 193
state 160
config: tIDENT '=' expr ';'. (13)
. reduce 13 (src line 171)
state 161
unary_expr: type_no_typeobject '(' expr ')'. (112)
. reduce 112 (src line 521)
state 162
unary_expr: tTYPEOBJECT '(' type ')'. (113)
. reduce 113 (src line 523)
state 163
operand: nameref '[' expr ']'. (122)
. reduce 122 (src line 544)
state 164
operand: comp_lit '[' expr ']'. (121)
. reduce 121 (src line 542)
state 165
type_no_typeobject: '[' tINTLIT ']' type. (42)
. reduce 42 (src line 265)
state 166
type_no_typeobject: tENUM '{' label_spec_list osemi.'}'
'}' shift 195
. error
state 167
label_spec_list: label_spec_list ';'.label_spec
osemi: ';'. (147)
tIDENT shift 134
. reduce 147 (src line 642)
label_spec goto 196
state 168
type_no_typeobject: tSET '[' type ']'. (45)
. reduce 45 (src line 271)
state 169
type_no_typeobject: tMAP '[' type ']'.type
'[' shift 31
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 88
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 90
. error
nameref goto 89
dotnameref goto 38
type goto 197
type_no_typeobject goto 87
state 170
type_no_typeobject: tSTRUCT '{' field_spec_list osemi.'}'
'}' shift 198
. error
state 171
field_spec_list: field_spec_list ';'.field_spec
osemi: ';'. (147)
'[' shift 31
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 88
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 90
. reduce 147 (src line 642)
nameref goto 89
dotnameref goto 38
type goto 141
type_no_typeobject goto 87
type_comma_list goto 140
field_spec goto 199
state 172
field_spec: type_comma_list type. (59)
. reduce 59 (src line 343)
state 173
type_comma_list: type_comma_list ','.type
'[' shift 31
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 88
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 90
. error
nameref goto 89
dotnameref goto 38
type goto 200
type_no_typeobject goto 87
state 174
type_no_typeobject: tUNION '{' field_spec_list osemi.'}'
'}' shift 201
. error
state 175
comp_lit: otype '{' kv_lit_list ocomma.'}'
'}' shift 202
. error
state 176
kv_lit_list: kv_lit_list ','.kv_lit
ocomma: ','. (149)
otype: . (144)
'(' shift 29
'[' shift 31
'}' reduce 149 (src line 646)
'!' shift 17
'+' shift 18
'-' shift 19
'^' shift 20
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 22
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 23
tINTLIT shift 24
tRATLIT shift 25
tIMAGLIT shift 26
. reduce 144 (src line 634)
nameref goto 27
dotnameref goto 38
type goto 41
type_no_typeobject goto 21
otype goto 39
expr goto 148
unary_expr goto 15
operand goto 16
comp_lit goto 28
kv_lit goto 203
state 177
kv_lit: expr ':'.expr
otype: . (144)
'(' shift 29
'[' shift 31
'!' shift 17
'+' shift 18
'-' shift 19
'^' shift 20
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 22
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 23
tINTLIT shift 24
tRATLIT shift 25
tIMAGLIT shift 26
. reduce 144 (src line 634)
nameref goto 27
dotnameref goto 38
type goto 41
type_no_typeobject goto 21
otype goto 39
expr goto 204
unary_expr goto 15
operand goto 16
comp_lit goto 28
state 178
import: tIMPORT '(' ')'. (16)
. reduce 16 (src line 189)
state 179
import: tIMPORT '(' import_spec_list.osemi ')'
import_spec_list: import_spec_list.';' import_spec
osemi: . (146)
';' shift 206
. reduce 146 (src line 640)
osemi goto 205
state 180
import_spec_list: import_spec. (19)
. reduce 19 (src line 194)
state 181
import_spec: tIDENT tSTRLIT. (22)
. reduce 22 (src line 204)
state 182
defs: defs type_def ';'. (24)
. reduce 24 (src line 213)
state 183
defs: defs const_def ';'. (25)
. reduce 25 (src line 214)
state 184
defs: defs error_def ';'. (26)
. reduce 26 (src line 215)
state 185
type_def: tTYPE '('.')'
type_def: tTYPE '('.type_spec_list osemi ')'
')' shift 207
tIDENT shift 210
. error
type_spec_list goto 208
type_spec goto 209
state 186
type_def: tTYPE type_spec. (29)
. reduce 29 (src line 220)
state 187
type_def: tTYPE interface_spec. (30)
. reduce 30 (src line 221)
state 188
type_spec: tIDENT.type
interface_spec: tIDENT.tINTERFACE '{' '}'
interface_spec: tIDENT.tINTERFACE '{' iface_item_list osemi '}'
'[' shift 31
'?' shift 37
tENUM shift 32
tERROR shift 30
tINTERFACE shift 212
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 88
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 90
. error
nameref goto 89
dotnameref goto 38
type goto 211
type_no_typeobject goto 87
state 189
const_def: tCONST '('.')'
const_def: tCONST '('.const_spec_list osemi ')'
')' shift 213
tIDENT shift 191
. error
const_spec_list goto 214
const_spec goto 215
state 190
const_def: tCONST const_spec. (33)
. reduce 33 (src line 226)
state 191
const_spec: tIDENT.'=' expr
'=' shift 216
. error
state 192
error_def: tERROR '('.')'
error_def: tERROR '('.error_spec_list osemi ')'
')' shift 217
tIDENT shift 194
. error
error_spec_list goto 218
error_spec goto 219
state 193
error_def: tERROR error_spec. (36)
. reduce 36 (src line 231)
state 194
error_spec: tIDENT.inargs error_details
'(' shift 221
. error
inargs goto 220
state 195
type_no_typeobject: tENUM '{' label_spec_list osemi '}'. (44)
. reduce 44 (src line 269)
state 196
label_spec_list: label_spec_list ';' label_spec. (55)
. reduce 55 (src line 296)
state 197
type_no_typeobject: tMAP '[' type ']' type. (46)
. reduce 46 (src line 273)
state 198
type_no_typeobject: tSTRUCT '{' field_spec_list osemi '}'. (47)
. reduce 47 (src line 275)
state 199
field_spec_list: field_spec_list ';' field_spec. (58)
. reduce 58 (src line 306)
state 200
type_comma_list: type_comma_list ',' type. (61)
. reduce 61 (src line 358)
state 201
type_no_typeobject: tUNION '{' field_spec_list osemi '}'. (49)
. reduce 49 (src line 279)
state 202
comp_lit: otype '{' kv_lit_list ocomma '}'. (125)
. reduce 125 (src line 552)
state 203
kv_lit_list: kv_lit_list ',' kv_lit. (127)
. reduce 127 (src line 558)
state 204
expr: expr.tOROR expr
expr: expr.tANDAND expr
expr: expr.'<' expr
expr: expr.'>' expr
expr: expr.tLE expr
expr: expr.tGE expr
expr: expr.tNE expr
expr: expr.tEQEQ expr
expr: expr.'+' expr
expr: expr.'-' expr
expr: expr.'*' expr
expr: expr.'/' expr
expr: expr.'%' expr
expr: expr.'|' expr
expr: expr.'&' expr
expr: expr.'^' expr
expr: expr.tLSH expr
expr: expr.tRSH expr
kv_lit: expr ':' expr. (129)
'<' shift 52
'>' shift 53
'+' shift 58
'-' shift 59
'*' shift 60
'/' shift 61
'%' shift 62
'|' shift 63
'&' shift 64
'^' shift 65
tOROR shift 50
tANDAND shift 51
tLE shift 54
tGE shift 55
tNE shift 56
tEQEQ shift 57
tLSH shift 66
tRSH shift 67
. reduce 129 (src line 564)
state 205
import: tIMPORT '(' import_spec_list osemi.')'
')' shift 222
. error
state 206
import_spec_list: import_spec_list ';'.import_spec
osemi: ';'. (147)
tIDENT shift 153
tSTRLIT shift 152
. reduce 147 (src line 642)
import_spec goto 223
state 207
type_def: tTYPE '(' ')'. (27)
. reduce 27 (src line 217)
state 208
type_def: tTYPE '(' type_spec_list.osemi ')'
type_spec_list: type_spec_list.';' type_spec
osemi: . (146)
';' shift 225
. reduce 146 (src line 640)
osemi goto 224
state 209
type_spec_list: type_spec. (37)
. reduce 37 (src line 234)
state 210
type_spec: tIDENT.type
'[' shift 31
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 88
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 90
. error
nameref goto 89
dotnameref goto 38
type goto 211
type_no_typeobject goto 87
state 211
type_spec: tIDENT type. (39)
. reduce 39 (src line 238)
state 212
interface_spec: tIDENT tINTERFACE.'{' '}'
interface_spec: tIDENT tINTERFACE.'{' iface_item_list osemi '}'
'{' shift 226
. error
state 213
const_def: tCONST '(' ')'. (31)
. reduce 31 (src line 223)
state 214
const_def: tCONST '(' const_spec_list.osemi ')'
const_spec_list: const_spec_list.';' const_spec
osemi: . (146)
';' shift 228
. reduce 146 (src line 640)
osemi goto 227
state 215
const_spec_list: const_spec. (85)
. reduce 85 (src line 459)
state 216
const_spec: tIDENT '='.expr
otype: . (144)
'(' shift 29
'[' shift 31
'!' shift 17
'+' shift 18
'-' shift 19
'^' shift 20
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 22
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 23
tINTLIT shift 24
tRATLIT shift 25
tIMAGLIT shift 26
. reduce 144 (src line 634)
nameref goto 27
dotnameref goto 38
type goto 41
type_no_typeobject goto 21
otype goto 39
expr goto 229
unary_expr goto 15
operand goto 16
comp_lit goto 28
state 217
error_def: tERROR '(' ')'. (34)
. reduce 34 (src line 228)
state 218
error_def: tERROR '(' error_spec_list.osemi ')'
error_spec_list: error_spec_list.';' error_spec
osemi: . (146)
';' shift 231
. reduce 146 (src line 640)
osemi goto 230
state 219
error_spec_list: error_spec. (130)
. reduce 130 (src line 568)
state 220
error_spec: tIDENT inargs.error_details
error_details: . (133)
'{' shift 233
. reduce 133 (src line 584)
error_details goto 232
state 221
inargs: '('.')'
inargs: '('.named_arg_list ocomma ')'
inargs: '('.type_comma_list ocomma ')'
')' shift 234
'[' shift 31
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 88
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 90
. error
nameref goto 89
dotnameref goto 38
type goto 141
type_no_typeobject goto 87
type_comma_list goto 236
field_spec goto 237
named_arg_list goto 235
state 222
import: tIMPORT '(' import_spec_list osemi ')'. (17)
. reduce 17 (src line 191)
state 223
import_spec_list: import_spec_list ';' import_spec. (20)
. reduce 20 (src line 196)
state 224
type_def: tTYPE '(' type_spec_list osemi.')'
')' shift 238
. error
state 225
type_spec_list: type_spec_list ';'.type_spec
osemi: ';'. (147)
tIDENT shift 210
. reduce 147 (src line 642)
type_spec goto 239
state 226
interface_spec: tIDENT tINTERFACE '{'.'}'
interface_spec: tIDENT tINTERFACE '{'.iface_item_list osemi '}'
'}' shift 240
tIDENT shift 243
tSTRLIT shift 90
. error
nameref goto 244
dotnameref goto 38
iface_item_list goto 241
iface_item goto 242
state 227
const_def: tCONST '(' const_spec_list osemi.')'
')' shift 245
. error
state 228
const_spec_list: const_spec_list ';'.const_spec
osemi: ';'. (147)
tIDENT shift 191
. reduce 147 (src line 642)
const_spec goto 246
state 229
const_spec: tIDENT '=' expr. (87)
expr: expr.tOROR expr
expr: expr.tANDAND expr
expr: expr.'<' expr
expr: expr.'>' expr
expr: expr.tLE expr
expr: expr.tGE expr
expr: expr.tNE expr
expr: expr.tEQEQ expr
expr: expr.'+' expr
expr: expr.'-' expr
expr: expr.'*' expr
expr: expr.'/' expr
expr: expr.'%' expr
expr: expr.'|' expr
expr: expr.'&' expr
expr: expr.'^' expr
expr: expr.tLSH expr
expr: expr.tRSH expr
'<' shift 52
'>' shift 53
'+' shift 58
'-' shift 59
'*' shift 60
'/' shift 61
'%' shift 62
'|' shift 63
'&' shift 64
'^' shift 65
tOROR shift 50
tANDAND shift 51
tLE shift 54
tGE shift 55
tNE shift 56
tEQEQ shift 57
tLSH shift 66
tRSH shift 67
. reduce 87 (src line 463)
state 230
error_def: tERROR '(' error_spec_list osemi.')'
')' shift 247
. error
state 231
error_spec_list: error_spec_list ';'.error_spec
osemi: ';'. (147)
tIDENT shift 194
. reduce 147 (src line 642)
error_spec goto 248
state 232
error_spec: tIDENT inargs error_details. (132)
. reduce 132 (src line 572)
state 233
error_details: '{'.'}'
error_details: '{'.error_detail_list ocomma '}'
'}' shift 249
tIDENT shift 252
tSTRLIT shift 253
. error
error_detail_list goto 250
error_detail goto 251
state 234
inargs: '(' ')'. (68)
. reduce 68 (src line 391)
state 235
inargs: '(' named_arg_list.ocomma ')'
named_arg_list: named_arg_list.',' field_spec
ocomma: . (148)
',' shift 255
. reduce 148 (src line 644)
ocomma goto 254
state 236
field_spec: type_comma_list.type
type_comma_list: type_comma_list.',' type
inargs: '(' type_comma_list.ocomma ')'
ocomma: . (148)
',' shift 256
'[' shift 31
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 88
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 90
. reduce 148 (src line 644)
nameref goto 89
dotnameref goto 38
type goto 172
type_no_typeobject goto 87
ocomma goto 257
state 237
named_arg_list: field_spec. (71)
. reduce 71 (src line 407)
state 238
type_def: tTYPE '(' type_spec_list osemi ')'. (28)
. reduce 28 (src line 219)
state 239
type_spec_list: type_spec_list ';' type_spec. (38)
. reduce 38 (src line 236)
state 240
interface_spec: tIDENT tINTERFACE '{' '}'. (62)
. reduce 62 (src line 362)
state 241
interface_spec: tIDENT tINTERFACE '{' iface_item_list.osemi '}'
iface_item_list: iface_item_list.';' iface_item
osemi: . (146)
';' shift 259
. reduce 146 (src line 640)
osemi goto 258
state 242
iface_item_list: iface_item. (64)
. reduce 64 (src line 375)
state 243
iface_item: tIDENT.inargs streamargs outargs tags
dotnameref: tIDENT. (142)
'(' shift 221
. reduce 142 (src line 628)
inargs goto 260
state 244
iface_item: nameref. (67)
. reduce 67 (src line 388)
state 245
const_def: tCONST '(' const_spec_list osemi ')'. (32)
. reduce 32 (src line 225)
state 246
const_spec_list: const_spec_list ';' const_spec. (86)
. reduce 86 (src line 461)
state 247
error_def: tERROR '(' error_spec_list osemi ')'. (35)
. reduce 35 (src line 230)
state 248
error_spec_list: error_spec_list ';' error_spec. (131)
. reduce 131 (src line 570)
state 249
error_details: '{' '}'. (134)
. reduce 134 (src line 587)
state 250
error_details: '{' error_detail_list.ocomma '}'
error_detail_list: error_detail_list.',' error_detail
ocomma: . (148)
',' shift 262
. reduce 148 (src line 644)
ocomma goto 261
state 251
error_detail_list: error_detail. (136)
. reduce 136 (src line 592)
state 252
error_detail: tIDENT. (138)
. reduce 138 (src line 607)
state 253
error_detail: tSTRLIT.':' tSTRLIT
':' shift 263
. error
state 254
inargs: '(' named_arg_list ocomma.')'
')' shift 264
. error
state 255
named_arg_list: named_arg_list ','.field_spec
ocomma: ','. (149)
'[' shift 31
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 88
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 90
. reduce 149 (src line 646)
nameref goto 89
dotnameref goto 38
type goto 141
type_no_typeobject goto 87
type_comma_list goto 140
field_spec goto 265
state 256
type_comma_list: type_comma_list ','.type
ocomma: ','. (149)
'[' shift 31
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 88
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 90
. reduce 149 (src line 646)
nameref goto 89
dotnameref goto 38
type goto 200
type_no_typeobject goto 87
state 257
inargs: '(' type_comma_list ocomma.')'
')' shift 266
. error
state 258
interface_spec: tIDENT tINTERFACE '{' iface_item_list osemi.'}'
'}' shift 267
. error
state 259
iface_item_list: iface_item_list ';'.iface_item
osemi: ';'. (147)
tIDENT shift 243
tSTRLIT shift 90
. reduce 147 (src line 642)
nameref goto 244
dotnameref goto 38
iface_item goto 268
state 260
iface_item: tIDENT inargs.streamargs outargs tags
streamargs: . (76)
tSTREAM shift 270
. reduce 76 (src line 434)
streamargs goto 269
state 261
error_details: '{' error_detail_list ocomma.'}'
'}' shift 271
. error
state 262
error_detail_list: error_detail_list ','.error_detail
ocomma: ','. (149)
tIDENT shift 252
tSTRLIT shift 253
. reduce 149 (src line 646)
error_detail goto 272
state 263
error_detail: tSTRLIT ':'.tSTRLIT
tSTRLIT shift 273
. error
state 264
inargs: '(' named_arg_list ocomma ')'. (69)
. reduce 69 (src line 394)
state 265
named_arg_list: named_arg_list ',' field_spec. (72)
. reduce 72 (src line 410)
state 266
inargs: '(' type_comma_list ocomma ')'. (70)
. reduce 70 (src line 396)
state 267
interface_spec: tIDENT tINTERFACE '{' iface_item_list osemi '}'. (63)
. reduce 63 (src line 368)
state 268
iface_item_list: iface_item_list ';' iface_item. (65)
. reduce 65 (src line 378)
state 269
iface_item: tIDENT inargs streamargs.outargs tags
'(' shift 276
tERROR shift 275
. error
outargs goto 274
state 270
streamargs: tSTREAM.'<' '>'
streamargs: tSTREAM.'<' type '>'
streamargs: tSTREAM.'<' type ',' type '>'
'<' shift 277
. error
state 271
error_details: '{' error_detail_list ocomma '}'. (135)
. reduce 135 (src line 589)
state 272
error_detail_list: error_detail_list ',' error_detail. (137)
. reduce 137 (src line 595)
state 273
error_detail: tSTRLIT ':' tSTRLIT. (139)
. reduce 139 (src line 610)
state 274
iface_item: tIDENT inargs streamargs outargs.tags
tags: . (80)
'{' shift 279
. reduce 80 (src line 444)
tags goto 278
state 275
outargs: tERROR. (73)
. reduce 73 (src line 420)
state 276
outargs: '('.named_arg_list ocomma '|' tERROR ')'
outargs: '('.type_comma_list ocomma '|' tERROR ')'
'[' shift 31
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 88
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 90
. error
nameref goto 89
dotnameref goto 38
type goto 141
type_no_typeobject goto 87
type_comma_list goto 281
field_spec goto 237
named_arg_list goto 280
state 277
streamargs: tSTREAM '<'.'>'
streamargs: tSTREAM '<'.type '>'
streamargs: tSTREAM '<'.type ',' type '>'
'[' shift 31
'>' shift 282
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 88
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 90
. error
nameref goto 89
dotnameref goto 38
type goto 283
type_no_typeobject goto 87
state 278
iface_item: tIDENT inargs streamargs outargs tags. (66)
. reduce 66 (src line 385)
state 279
tags: '{'.'}'
tags: '{'.expr_comma_list ocomma '}'
otype: . (144)
'(' shift 29
'[' shift 31
'}' shift 284
'!' shift 17
'+' shift 18
'-' shift 19
'^' shift 20
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 22
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 23
tINTLIT shift 24
tRATLIT shift 25
tIMAGLIT shift 26
. reduce 144 (src line 634)
nameref goto 27
dotnameref goto 38
type goto 41
type_no_typeobject goto 21
otype goto 39
expr goto 14
unary_expr goto 15
operand goto 16
expr_comma_list goto 285
comp_lit goto 28
state 280
named_arg_list: named_arg_list.',' field_spec
outargs: '(' named_arg_list.ocomma '|' tERROR ')'
ocomma: . (148)
',' shift 255
. reduce 148 (src line 644)
ocomma goto 286
state 281
field_spec: type_comma_list.type
type_comma_list: type_comma_list.',' type
outargs: '(' type_comma_list.ocomma '|' tERROR ')'
ocomma: . (148)
',' shift 256
'[' shift 31
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 88
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 90
. reduce 148 (src line 644)
nameref goto 89
dotnameref goto 38
type goto 172
type_no_typeobject goto 87
ocomma goto 287
state 282
streamargs: tSTREAM '<' '>'. (77)
. reduce 77 (src line 437)
state 283
streamargs: tSTREAM '<' type.'>'
streamargs: tSTREAM '<' type.',' type '>'
',' shift 289
'>' shift 288
. error
state 284
tags: '{' '}'. (81)
. reduce 81 (src line 447)
state 285
tags: '{' expr_comma_list.ocomma '}'
expr_comma_list: expr_comma_list.',' expr
ocomma: . (148)
',' shift 291
. reduce 148 (src line 644)
ocomma goto 290
state 286
outargs: '(' named_arg_list ocomma.'|' tERROR ')'
'|' shift 292
. error
state 287
outargs: '(' type_comma_list ocomma.'|' tERROR ')'
'|' shift 293
. error
state 288
streamargs: tSTREAM '<' type '>'. (78)
. reduce 78 (src line 439)
state 289
streamargs: tSTREAM '<' type ','.type '>'
'[' shift 31
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 88
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 90
. error
nameref goto 89
dotnameref goto 38
type goto 294
type_no_typeobject goto 87
state 290
tags: '{' expr_comma_list ocomma.'}'
'}' shift 295
. error
state 291
expr_comma_list: expr_comma_list ','.expr
ocomma: ','. (149)
otype: . (144)
'(' shift 29
'[' shift 31
'}' reduce 149 (src line 646)
'!' shift 17
'+' shift 18
'-' shift 19
'^' shift 20
'?' shift 37
tENUM shift 32
tERROR shift 30
tMAP shift 34
tSET shift 33
tSTRUCT shift 35
tTYPEOBJECT shift 22
tUNION shift 36
tIDENT shift 40
tSTRLIT shift 23
tINTLIT shift 24
tRATLIT shift 25
tIMAGLIT shift 26
. reduce 144 (src line 634)
nameref goto 27
dotnameref goto 38
type goto 41
type_no_typeobject goto 21
otype goto 39
expr goto 104
unary_expr goto 15
operand goto 16
comp_lit goto 28
state 292
outargs: '(' named_arg_list ocomma '|'.tERROR ')'
tERROR shift 296
. error
state 293
outargs: '(' type_comma_list ocomma '|'.tERROR ')'
tERROR shift 297
. error
state 294
streamargs: tSTREAM '<' type ',' type.'>'
'>' shift 298
. error
state 295
tags: '{' expr_comma_list ocomma '}'. (82)
. reduce 82 (src line 449)
state 296
outargs: '(' named_arg_list ocomma '|' tERROR.')'
')' shift 299
. error
state 297
outargs: '(' type_comma_list ocomma '|' tERROR.')'
')' shift 300
. error
state 298
streamargs: tSTREAM '<' type ',' type '>'. (79)
. reduce 79 (src line 441)
state 299
outargs: '(' named_arg_list ocomma '|' tERROR ')'. (74)
. reduce 74 (src line 423)
state 300
outargs: '(' type_comma_list ocomma '|' tERROR ')'. (75)
. reduce 75 (src line 425)
59 terminals, 49 nonterminals
150 grammar rules, 301/2000 states
0 shift/reduce, 0 reduce/reduce conflicts reported
98 working sets used
memory: parser 590/30000
142 extra closures
1361 shift entries, 5 exceptions
192 goto entries
303 entries saved by goto default
Optimizer space used: output 800/30000
800 table entries, 148 zero
maximum spread: 57, maximum offset: 291