# Return an `Array` of the non-empty lines in `self`
#
- # assert ["a", "asdf", "", " ", " ", "b"].to_clean_lines == ["a", "asdf", "b"]
+ # assert ["a", "asdf", "", " ", " ", "b"].join("\n").to_clean_lines == ["a", "asdf", "b"]
fun to_clean_lines: Array[String]
do
var orig_lines = split_with("\n")
do
add """
<!DOCTYPE html>
+<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
# The proprieties introduced by this redef are to be used only on HashMap
# representing a Github repository.
-#
-# REQUIRE `assert self isa HashMap[String, nullable Object]`
-# REQUIRE `for v in self.values do assert v isa Int
redef class HashMap[K, V]
# The repository has at least 50% Java code
fun has_lots_of_java: Bool
do
+ assert self isa HashMap[String, nullable Object]
var java_count = 0
if keys.has("Java") then java_count = self["Java"].as(Int)
var total = 0
for k, v in self do
- assert k isa String
assert v isa Int
total += v
end
# The repository has at least 100 lines of C code
fun has_some_c: Bool
do
+ assert self isa HashMap[String, nullable Object]
var c_count = 0
if keys.has("C") then c_count = self["C"].as(Int)
return c_count > 100
--- /dev/null
+tests/app/assets/
+tests/app/bin/
+tests/app/res2/
+tests/app/src/drawing.nit
+tests/dino/
+all: bins tests
+
bins:
mkdir -p bin
../../bin/nitg --dir bin src/svg_to_png_and_nit.nit src/svg_to_icons.nit
-tests: test-dino
+tests: test-dino test-app
test-app: bin/svg_to_png_and_nit
make -C tests/app
# Nit class
var nit_class_name = drawing_name.chars.first.to_s.to_upper + drawing_name.substring_from(1) + "Images"
var nit_src = new ImageSetSrc(nit_class_name)
- nit_src.attributes.add "\tprivate var main_image: Image\n"
+ nit_src.attributes.add "\tprivate var main_image: Image is noinit\n"
nit_src.load_exprs.add "\t\tmain_image = app.load_image(\"images/{drawing_name}.png\")\n"
# Sort images by name, it prevents Array errors and looks better
nit_src.load_exprs.add "\t\t{nit_name}.add(main_image.subimage({x}, {y}, {w}, {h}))\n"
else
# Single image
- nit_src.attributes.add "\tvar {nit_name}: Image\n"
+ nit_src.attributes.add "\tvar {nit_name}: Image is noinit\n"
nit_src.load_exprs.add "\t\t{nit_name} = main_image.subimage({x}, {y}, {w}, {h})\n"
end
end
icons:
mkdir -p res1 res2 res3
- ../../bin/svg_to_icons art/icon.svg --large --out res1
+ #../../bin/svg_to_icons art/icon.svg --large --out res1
../../bin/svg_to_icons art/drawing.svg --large --out res2 --id 0circle
- ../../bin/svg_to_icons art/icon.svg --android --out res3
+ #../../bin/svg_to_icons art/icon.svg --android --out res3
import drawing
-class S2pnApp
- super App
+redef class App
var img_set: DrawingImages
init do super
- redef fun init_window
+ redef fun window_created
do
super
return false
end
end
-
-var app = new S2pnApp
-app.main_loop
NITC=../../../bin/nitg
-all: nitcc calc
+all: nitcc calc minilang
nitcc_parser_gen: nitcc_parser_gen.nit
@echo "*** Compile the nitcc bootstrap parser generator -- level 0"
*.dot *.out \
nitcc_lexer.nit nitcc_parser.nit nitcc_test_parser.nit nitcc_parser_gen \
nitcc0 nitcc1 \
- calc \
+ calc minilang \
../examples/*.dot ../examples/*.out ../examples/*_lexer.nit ../examples/*_parser.nit ../examples/*_test_parser.nit \
2>/dev/null || true
end
end
-redef class String
- # escape string used in labels for graphviz
- fun escape_to_dot: String
- do
- return escape_more_to_c("|\{\}<>")
- end
-end
-
private class Generator
var out = new Array[String]
fun add(s: String) do out.add(s)
# We need a model to collect stufs
var model = new Model
# An a model builder to parse files
- var modelbuilder = new ModelBuilder(model, toolcontext.as(not null))
+ var modelbuilder = new ModelBuilder(model, toolcontext)
var arguments = toolcontext.option_context.rest
var progname = arguments.first
mainmodule.set_imported_mmodules(mmodules)
end
- var self_mm = mainmodule.as(not null)
- var self_args = arguments.as(not null)
+ var self_mm = mainmodule
+ var self_args = arguments
if toolcontext.opt_debugger_autorun.value then
modelbuilder.run_debugger_autorun(self_mm, self_args)
+++ /dev/null
-# Lexer generated by nitccimport nitcc_runtime
-import pep8_parser
-class MyLexer
- super Lexer
- redef fun start_state do return dfastate_0
-end
-redef class Object
- private fun dfastate_0: DFAState0 do return once new DFAState0
- private fun dfastate_1: DFAState1 do return once new DFAState1
- private fun dfastate_2: DFAState2 do return once new DFAState2
- private fun dfastate_3: DFAState3 do return once new DFAState3
- private fun dfastate_4: DFAState4 do return once new DFAState4
- private fun dfastate_5: DFAState5 do return once new DFAState5
- private fun dfastate_6: DFAState6 do return once new DFAState6
- private fun dfastate_7: DFAState7 do return once new DFAState7
- private fun dfastate_8: DFAState8 do return once new DFAState8
- private fun dfastate_9: DFAState9 do return once new DFAState9
- private fun dfastate_10: DFAState10 do return once new DFAState10
- private fun dfastate_11: DFAState11 do return once new DFAState11
- private fun dfastate_12: DFAState12 do return once new DFAState12
- private fun dfastate_13: DFAState13 do return once new DFAState13
- private fun dfastate_14: DFAState14 do return once new DFAState14
- private fun dfastate_15: DFAState15 do return once new DFAState15
- private fun dfastate_16: DFAState16 do return once new DFAState16
- private fun dfastate_17: DFAState17 do return once new DFAState17
- private fun dfastate_18: DFAState18 do return once new DFAState18
- private fun dfastate_19: DFAState19 do return once new DFAState19
- private fun dfastate_20: DFAState20 do return once new DFAState20
- private fun dfastate_21: DFAState21 do return once new DFAState21
- private fun dfastate_22: DFAState22 do return once new DFAState22
- private fun dfastate_23: DFAState23 do return once new DFAState23
- private fun dfastate_24: DFAState24 do return once new DFAState24
- private fun dfastate_25: DFAState25 do return once new DFAState25
- private fun dfastate_26: DFAState26 do return once new DFAState26
- private fun dfastate_27: DFAState27 do return once new DFAState27
- private fun dfastate_28: DFAState28 do return once new DFAState28
- private fun dfastate_29: DFAState29 do return once new DFAState29
- private fun dfastate_30: DFAState30 do return once new DFAState30
- private fun dfastate_31: DFAState31 do return once new DFAState31
- private fun dfastate_32: DFAState32 do return once new DFAState32
- private fun dfastate_33: DFAState33 do return once new DFAState33
- private fun dfastate_34: DFAState34 do return once new DFAState34
- private fun dfastate_35: DFAState35 do return once new DFAState35
- private fun dfastate_36: DFAState36 do return once new DFAState36
- private fun dfastate_37: DFAState37 do return once new DFAState37
- private fun dfastate_38: DFAState38 do return once new DFAState38
- private fun dfastate_39: DFAState39 do return once new DFAState39
- private fun dfastate_40: DFAState40 do return once new DFAState40
- private fun dfastate_41: DFAState41 do return once new DFAState41
- private fun dfastate_42: DFAState42 do return once new DFAState42
- private fun dfastate_43: DFAState43 do return once new DFAState43
- private fun dfastate_44: DFAState44 do return once new DFAState44
- private fun dfastate_45: DFAState45 do return once new DFAState45
- private fun dfastate_46: DFAState46 do return once new DFAState46
- private fun dfastate_47: DFAState47 do return once new DFAState47
- private fun dfastate_48: DFAState48 do return once new DFAState48
- private fun dfastate_49: DFAState49 do return once new DFAState49
- private fun dfastate_50: DFAState50 do return once new DFAState50
- private fun dfastate_51: DFAState51 do return once new DFAState51
- private fun dfastate_52: DFAState52 do return once new DFAState52
- private fun dfastate_53: DFAState53 do return once new DFAState53
- private fun dfastate_54: DFAState54 do return once new DFAState54
- private fun dfastate_55: DFAState55 do return once new DFAState55
- private fun dfastate_56: DFAState56 do return once new DFAState56
- private fun dfastate_57: DFAState57 do return once new DFAState57
- private fun dfastate_58: DFAState58 do return once new DFAState58
- private fun dfastate_59: DFAState59 do return once new DFAState59
- private fun dfastate_60: DFAState60 do return once new DFAState60
- private fun dfastate_61: DFAState61 do return once new DFAState61
- private fun dfastate_62: DFAState62 do return once new DFAState62
- private fun dfastate_63: DFAState63 do return once new DFAState63
- private fun dfastate_64: DFAState64 do return once new DFAState64
- private fun dfastate_65: DFAState65 do return once new DFAState65
- private fun dfastate_66: DFAState66 do return once new DFAState66
- private fun dfastate_67: DFAState67 do return once new DFAState67
- private fun dfastate_68: DFAState68 do return once new DFAState68
- private fun dfastate_69: DFAState69 do return once new DFAState69
- private fun dfastate_70: DFAState70 do return once new DFAState70
- private fun dfastate_71: DFAState71 do return once new DFAState71
- private fun dfastate_72: DFAState72 do return once new DFAState72
- private fun dfastate_73: DFAState73 do return once new DFAState73
- private fun dfastate_74: DFAState74 do return once new DFAState74
- private fun dfastate_75: DFAState75 do return once new DFAState75
- private fun dfastate_76: DFAState76 do return once new DFAState76
- private fun dfastate_77: DFAState77 do return once new DFAState77
- private fun dfastate_78: DFAState78 do return once new DFAState78
- private fun dfastate_79: DFAState79 do return once new DFAState79
- private fun dfastate_80: DFAState80 do return once new DFAState80
- private fun dfastate_81: DFAState81 do return once new DFAState81
- private fun dfastate_82: DFAState82 do return once new DFAState82
- private fun dfastate_83: DFAState83 do return once new DFAState83
- private fun dfastate_84: DFAState84 do return once new DFAState84
- private fun dfastate_85: DFAState85 do return once new DFAState85
- private fun dfastate_86: DFAState86 do return once new DFAState86
- private fun dfastate_87: DFAState87 do return once new DFAState87
- private fun dfastate_88: DFAState88 do return once new DFAState88
- private fun dfastate_89: DFAState89 do return once new DFAState89
- private fun dfastate_90: DFAState90 do return once new DFAState90
- private fun dfastate_91: DFAState91 do return once new DFAState91
- private fun dfastate_92: DFAState92 do return once new DFAState92
- private fun dfastate_93: DFAState93 do return once new DFAState93
- private fun dfastate_94: DFAState94 do return once new DFAState94
- private fun dfastate_95: DFAState95 do return once new DFAState95
- private fun dfastate_96: DFAState96 do return once new DFAState96
- private fun dfastate_97: DFAState97 do return once new DFAState97
- private fun dfastate_98: DFAState98 do return once new DFAState98
- private fun dfastate_99: DFAState99 do return once new DFAState99
- private fun dfastate_100: DFAState100 do return once new DFAState100
- private fun dfastate_101: DFAState101 do return once new DFAState101
- private fun dfastate_102: DFAState102 do return once new DFAState102
- private fun dfastate_103: DFAState103 do return once new DFAState103
- private fun dfastate_104: DFAState104 do return once new DFAState104
- private fun dfastate_105: DFAState105 do return once new DFAState105
- private fun dfastate_106: DFAState106 do return once new DFAState106
- private fun dfastate_107: DFAState107 do return once new DFAState107
- private fun dfastate_108: DFAState108 do return once new DFAState108
- private fun dfastate_109: DFAState109 do return once new DFAState109
- private fun dfastate_110: DFAState110 do return once new DFAState110
- private fun dfastate_111: DFAState111 do return once new DFAState111
- private fun dfastate_112: DFAState112 do return once new DFAState112
-end
-class MyNToken
- super NToken
-end
-class DFAState0
- super DFAState
- redef fun trans(c) do
- if c.ascii == 46 then return dfastate_1
- if c.ascii == 34 then return dfastate_2
- if c.ascii == 39 then return dfastate_3
- if c.ascii == 44 then return dfastate_4
- if c.ascii == 58 then return dfastate_5
- if c.ascii == 95 then return dfastate_6
- if c.ascii == 97 then return dfastate_7
- if c.ascii == 98 then return dfastate_7
- if c.ascii == 99 then return dfastate_7
- if c.ascii == 100 then return dfastate_7
- if c.ascii == 101 then return dfastate_7
- if c.ascii == 102 then return dfastate_7
- if c.ascii == 103 then return dfastate_7
- if c.ascii == 104 then return dfastate_7
- if c.ascii == 105 then return dfastate_7
- if c.ascii == 106 then return dfastate_7
- if c.ascii == 107 then return dfastate_7
- if c.ascii == 108 then return dfastate_7
- if c.ascii == 109 then return dfastate_7
- if c.ascii == 110 then return dfastate_7
- if c.ascii == 111 then return dfastate_7
- if c.ascii == 112 then return dfastate_7
- if c.ascii == 113 then return dfastate_7
- if c.ascii == 114 then return dfastate_7
- if c.ascii == 115 then return dfastate_7
- if c.ascii == 116 then return dfastate_7
- if c.ascii == 117 then return dfastate_7
- if c.ascii == 118 then return dfastate_7
- if c.ascii == 119 then return dfastate_7
- if c.ascii == 120 then return dfastate_7
- if c.ascii == 121 then return dfastate_7
- if c.ascii == 122 then return dfastate_7
- if c.ascii == 65 then return dfastate_8
- if c.ascii == 66 then return dfastate_8
- if c.ascii == 67 then return dfastate_8
- if c.ascii == 68 then return dfastate_8
- if c.ascii == 69 then return dfastate_8
- if c.ascii == 70 then return dfastate_8
- if c.ascii == 71 then return dfastate_8
- if c.ascii == 72 then return dfastate_8
- if c.ascii == 73 then return dfastate_8
- if c.ascii == 74 then return dfastate_8
- if c.ascii == 75 then return dfastate_8
- if c.ascii == 76 then return dfastate_8
- if c.ascii == 77 then return dfastate_8
- if c.ascii == 78 then return dfastate_8
- if c.ascii == 79 then return dfastate_8
- if c.ascii == 80 then return dfastate_8
- if c.ascii == 81 then return dfastate_8
- if c.ascii == 82 then return dfastate_8
- if c.ascii == 83 then return dfastate_8
- if c.ascii == 84 then return dfastate_8
- if c.ascii == 85 then return dfastate_8
- if c.ascii == 86 then return dfastate_8
- if c.ascii == 87 then return dfastate_8
- if c.ascii == 88 then return dfastate_8
- if c.ascii == 89 then return dfastate_8
- if c.ascii == 90 then return dfastate_8
- if c.ascii == 13 then return dfastate_9
- if c.ascii == 10 then return dfastate_10
- if c.ascii == 59 then return dfastate_11
- if c.ascii == 9 then return dfastate_12
- if c.ascii == 32 then return dfastate_13
- return null
- end
-end
-class DFAState1
- super DFAState
- redef fun trans(c) do
- if c.ascii == 101 then return dfastate_43
- if c.ascii == 69 then return dfastate_44
- if c.ascii == 98 then return dfastate_45
- if c.ascii == 66 then return dfastate_46
- if c.ascii == 119 then return dfastate_47
- if c.ascii == 87 then return dfastate_48
- if c.ascii == 97 then return dfastate_49
- if c.ascii == 65 then return dfastate_50
- return null
- end
-end
-class DFAState2
- super DFAState
- redef fun trans(c) do
- if c.ascii == 32 then return dfastate_33
- if c.ascii == 33 then return dfastate_33
- if c.ascii == 35 then return dfastate_33
- if c.ascii == 36 then return dfastate_33
- if c.ascii == 37 then return dfastate_33
- if c.ascii == 38 then return dfastate_33
- if c.ascii == 39 then return dfastate_33
- if c.ascii == 40 then return dfastate_33
- if c.ascii == 41 then return dfastate_33
- if c.ascii == 42 then return dfastate_33
- if c.ascii == 43 then return dfastate_33
- if c.ascii == 44 then return dfastate_33
- if c.ascii == 45 then return dfastate_33
- if c.ascii == 46 then return dfastate_33
- if c.ascii == 47 then return dfastate_33
- if c.ascii == 48 then return dfastate_33
- if c.ascii == 49 then return dfastate_33
- if c.ascii == 50 then return dfastate_33
- if c.ascii == 51 then return dfastate_33
- if c.ascii == 52 then return dfastate_33
- if c.ascii == 53 then return dfastate_33
- if c.ascii == 54 then return dfastate_33
- if c.ascii == 55 then return dfastate_33
- if c.ascii == 56 then return dfastate_33
- if c.ascii == 57 then return dfastate_33
- if c.ascii == 58 then return dfastate_33
- if c.ascii == 59 then return dfastate_33
- if c.ascii == 60 then return dfastate_33
- if c.ascii == 61 then return dfastate_33
- if c.ascii == 62 then return dfastate_33
- if c.ascii == 63 then return dfastate_33
- if c.ascii == 64 then return dfastate_33
- if c.ascii == 65 then return dfastate_33
- if c.ascii == 66 then return dfastate_33
- if c.ascii == 67 then return dfastate_33
- if c.ascii == 68 then return dfastate_33
- if c.ascii == 69 then return dfastate_33
- if c.ascii == 70 then return dfastate_33
- if c.ascii == 71 then return dfastate_33
- if c.ascii == 72 then return dfastate_33
- if c.ascii == 73 then return dfastate_33
- if c.ascii == 74 then return dfastate_33
- if c.ascii == 75 then return dfastate_33
- if c.ascii == 76 then return dfastate_33
- if c.ascii == 77 then return dfastate_33
- if c.ascii == 78 then return dfastate_33
- if c.ascii == 79 then return dfastate_33
- if c.ascii == 80 then return dfastate_33
- if c.ascii == 81 then return dfastate_33
- if c.ascii == 82 then return dfastate_33
- if c.ascii == 83 then return dfastate_33
- if c.ascii == 84 then return dfastate_33
- if c.ascii == 85 then return dfastate_33
- if c.ascii == 86 then return dfastate_33
- if c.ascii == 87 then return dfastate_33
- if c.ascii == 88 then return dfastate_33
- if c.ascii == 89 then return dfastate_33
- if c.ascii == 90 then return dfastate_33
- if c.ascii == 91 then return dfastate_33
- if c.ascii == 92 then return dfastate_34
- if c.ascii == 93 then return dfastate_33
- if c.ascii == 94 then return dfastate_33
- if c.ascii == 95 then return dfastate_33
- if c.ascii == 96 then return dfastate_33
- if c.ascii == 97 then return dfastate_33
- if c.ascii == 98 then return dfastate_33
- if c.ascii == 99 then return dfastate_33
- if c.ascii == 100 then return dfastate_33
- if c.ascii == 101 then return dfastate_33
- if c.ascii == 102 then return dfastate_33
- if c.ascii == 103 then return dfastate_33
- if c.ascii == 104 then return dfastate_33
- if c.ascii == 105 then return dfastate_33
- if c.ascii == 106 then return dfastate_33
- if c.ascii == 107 then return dfastate_33
- if c.ascii == 108 then return dfastate_33
- if c.ascii == 109 then return dfastate_33
- if c.ascii == 110 then return dfastate_33
- if c.ascii == 111 then return dfastate_33
- if c.ascii == 112 then return dfastate_33
- if c.ascii == 113 then return dfastate_33
- if c.ascii == 114 then return dfastate_33
- if c.ascii == 115 then return dfastate_33
- if c.ascii == 116 then return dfastate_33
- if c.ascii == 117 then return dfastate_33
- if c.ascii == 118 then return dfastate_33
- if c.ascii == 119 then return dfastate_33
- if c.ascii == 120 then return dfastate_33
- if c.ascii == 121 then return dfastate_33
- if c.ascii == 122 then return dfastate_33
- if c.ascii == 123 then return dfastate_33
- if c.ascii == 124 then return dfastate_33
- if c.ascii == 125 then return dfastate_33
- if c.ascii == 126 then return dfastate_33
- if c.ascii == 34 then return dfastate_35
- return null
- end
-end
-class DFAState3
- super DFAState
- redef fun trans(c) do
- if c.ascii == 32 then return dfastate_20
- if c.ascii == 33 then return dfastate_20
- if c.ascii == 34 then return dfastate_20
- if c.ascii == 35 then return dfastate_20
- if c.ascii == 36 then return dfastate_20
- if c.ascii == 37 then return dfastate_20
- if c.ascii == 38 then return dfastate_20
- if c.ascii == 40 then return dfastate_20
- if c.ascii == 41 then return dfastate_20
- if c.ascii == 42 then return dfastate_20
- if c.ascii == 43 then return dfastate_20
- if c.ascii == 44 then return dfastate_20
- if c.ascii == 45 then return dfastate_20
- if c.ascii == 46 then return dfastate_20
- if c.ascii == 47 then return dfastate_20
- if c.ascii == 48 then return dfastate_20
- if c.ascii == 49 then return dfastate_20
- if c.ascii == 50 then return dfastate_20
- if c.ascii == 51 then return dfastate_20
- if c.ascii == 52 then return dfastate_20
- if c.ascii == 53 then return dfastate_20
- if c.ascii == 54 then return dfastate_20
- if c.ascii == 55 then return dfastate_20
- if c.ascii == 56 then return dfastate_20
- if c.ascii == 57 then return dfastate_20
- if c.ascii == 58 then return dfastate_20
- if c.ascii == 59 then return dfastate_20
- if c.ascii == 60 then return dfastate_20
- if c.ascii == 61 then return dfastate_20
- if c.ascii == 62 then return dfastate_20
- if c.ascii == 63 then return dfastate_20
- if c.ascii == 64 then return dfastate_20
- if c.ascii == 65 then return dfastate_20
- if c.ascii == 66 then return dfastate_20
- if c.ascii == 67 then return dfastate_20
- if c.ascii == 68 then return dfastate_20
- if c.ascii == 69 then return dfastate_20
- if c.ascii == 70 then return dfastate_20
- if c.ascii == 71 then return dfastate_20
- if c.ascii == 72 then return dfastate_20
- if c.ascii == 73 then return dfastate_20
- if c.ascii == 74 then return dfastate_20
- if c.ascii == 75 then return dfastate_20
- if c.ascii == 76 then return dfastate_20
- if c.ascii == 77 then return dfastate_20
- if c.ascii == 78 then return dfastate_20
- if c.ascii == 79 then return dfastate_20
- if c.ascii == 80 then return dfastate_20
- if c.ascii == 81 then return dfastate_20
- if c.ascii == 82 then return dfastate_20
- if c.ascii == 83 then return dfastate_20
- if c.ascii == 84 then return dfastate_20
- if c.ascii == 85 then return dfastate_20
- if c.ascii == 86 then return dfastate_20
- if c.ascii == 87 then return dfastate_20
- if c.ascii == 88 then return dfastate_20
- if c.ascii == 89 then return dfastate_20
- if c.ascii == 90 then return dfastate_20
- if c.ascii == 91 then return dfastate_20
- if c.ascii == 93 then return dfastate_20
- if c.ascii == 94 then return dfastate_20
- if c.ascii == 95 then return dfastate_20
- if c.ascii == 96 then return dfastate_20
- if c.ascii == 97 then return dfastate_20
- if c.ascii == 98 then return dfastate_20
- if c.ascii == 99 then return dfastate_20
- if c.ascii == 100 then return dfastate_20
- if c.ascii == 101 then return dfastate_20
- if c.ascii == 102 then return dfastate_20
- if c.ascii == 103 then return dfastate_20
- if c.ascii == 104 then return dfastate_20
- if c.ascii == 105 then return dfastate_20
- if c.ascii == 106 then return dfastate_20
- if c.ascii == 107 then return dfastate_20
- if c.ascii == 108 then return dfastate_20
- if c.ascii == 109 then return dfastate_20
- if c.ascii == 110 then return dfastate_20
- if c.ascii == 111 then return dfastate_20
- if c.ascii == 112 then return dfastate_20
- if c.ascii == 113 then return dfastate_20
- if c.ascii == 114 then return dfastate_20
- if c.ascii == 115 then return dfastate_20
- if c.ascii == 116 then return dfastate_20
- if c.ascii == 117 then return dfastate_20
- if c.ascii == 118 then return dfastate_20
- if c.ascii == 119 then return dfastate_20
- if c.ascii == 120 then return dfastate_20
- if c.ascii == 121 then return dfastate_20
- if c.ascii == 122 then return dfastate_20
- if c.ascii == 123 then return dfastate_20
- if c.ascii == 124 then return dfastate_20
- if c.ascii == 125 then return dfastate_20
- if c.ascii == 126 then return dfastate_20
- if c.ascii == 92 then return dfastate_21
- return null
- end
-end
-class DFAState4
- super DFAState
- redef fun is_accept do return true
- redef fun make_token(position, text) do
- var t = new Ncomma
- t.position = position
- t.text = text
- return t
- end
-end
-class DFAState5
- super DFAState
- redef fun is_accept do return true
- redef fun make_token(position, text) do
- var t = new Ncolon
- t.position = position
- t.text = text
- return t
- end
-end
-class DFAState6
- super DFAState
- redef fun is_accept do return true
- redef fun make_token(position, text) do
- var t = new Nid
- t.position = position
- t.text = text
- return t
- end
- redef fun trans(c) do
- if c.ascii == 95 then return dfastate_16
- if c.ascii == 48 then return dfastate_17
- if c.ascii == 49 then return dfastate_17
- if c.ascii == 50 then return dfastate_17
- if c.ascii == 51 then return dfastate_17
- if c.ascii == 52 then return dfastate_17
- if c.ascii == 53 then return dfastate_17
- if c.ascii == 54 then return dfastate_17
- if c.ascii == 55 then return dfastate_17
- if c.ascii == 56 then return dfastate_17
- if c.ascii == 57 then return dfastate_17
- if c.ascii == 97 then return dfastate_18
- if c.ascii == 98 then return dfastate_18
- if c.ascii == 99 then return dfastate_18
- if c.ascii == 100 then return dfastate_18
- if c.ascii == 101 then return dfastate_18
- if c.ascii == 102 then return dfastate_18
- if c.ascii == 103 then return dfastate_18
- if c.ascii == 104 then return dfastate_18
- if c.ascii == 105 then return dfastate_18
- if c.ascii == 106 then return dfastate_18
- if c.ascii == 107 then return dfastate_18
- if c.ascii == 108 then return dfastate_18
- if c.ascii == 109 then return dfastate_18
- if c.ascii == 110 then return dfastate_18
- if c.ascii == 111 then return dfastate_18
- if c.ascii == 112 then return dfastate_18
- if c.ascii == 113 then return dfastate_18
- if c.ascii == 114 then return dfastate_18
- if c.ascii == 115 then return dfastate_18
- if c.ascii == 116 then return dfastate_18
- if c.ascii == 117 then return dfastate_18
- if c.ascii == 118 then return dfastate_18
- if c.ascii == 119 then return dfastate_18
- if c.ascii == 120 then return dfastate_18
- if c.ascii == 121 then return dfastate_18
- if c.ascii == 122 then return dfastate_18
- if c.ascii == 65 then return dfastate_19
- if c.ascii == 66 then return dfastate_19
- if c.ascii == 67 then return dfastate_19
- if c.ascii == 68 then return dfastate_19
- if c.ascii == 69 then return dfastate_19
- if c.ascii == 70 then return dfastate_19
- if c.ascii == 71 then return dfastate_19
- if c.ascii == 72 then return dfastate_19
- if c.ascii == 73 then return dfastate_19
- if c.ascii == 74 then return dfastate_19
- if c.ascii == 75 then return dfastate_19
- if c.ascii == 76 then return dfastate_19
- if c.ascii == 77 then return dfastate_19
- if c.ascii == 78 then return dfastate_19
- if c.ascii == 79 then return dfastate_19
- if c.ascii == 80 then return dfastate_19
- if c.ascii == 81 then return dfastate_19
- if c.ascii == 82 then return dfastate_19
- if c.ascii == 83 then return dfastate_19
- if c.ascii == 84 then return dfastate_19
- if c.ascii == 85 then return dfastate_19
- if c.ascii == 86 then return dfastate_19
- if c.ascii == 87 then return dfastate_19
- if c.ascii == 88 then return dfastate_19
- if c.ascii == 89 then return dfastate_19
- if c.ascii == 90 then return dfastate_19
- return null
- end
-end
-class DFAState7
- super DFAState
- redef fun is_accept do return true
- redef fun make_token(position, text) do
- var t = new Nid
- t.position = position
- t.text = text
- return t
- end
- redef fun trans(c) do
- if c.ascii == 95 then return dfastate_16
- if c.ascii == 48 then return dfastate_17
- if c.ascii == 49 then return dfastate_17
- if c.ascii == 50 then return dfastate_17
- if c.ascii == 51 then return dfastate_17
- if c.ascii == 52 then return dfastate_17
- if c.ascii == 53 then return dfastate_17
- if c.ascii == 54 then return dfastate_17
- if c.ascii == 55 then return dfastate_17
- if c.ascii == 56 then return dfastate_17
- if c.ascii == 57 then return dfastate_17
- if c.ascii == 97 then return dfastate_18
- if c.ascii == 98 then return dfastate_18
- if c.ascii == 99 then return dfastate_18
- if c.ascii == 100 then return dfastate_18
- if c.ascii == 101 then return dfastate_18
- if c.ascii == 102 then return dfastate_18
- if c.ascii == 103 then return dfastate_18
- if c.ascii == 104 then return dfastate_18
- if c.ascii == 105 then return dfastate_18
- if c.ascii == 106 then return dfastate_18
- if c.ascii == 107 then return dfastate_18
- if c.ascii == 108 then return dfastate_18
- if c.ascii == 109 then return dfastate_18
- if c.ascii == 110 then return dfastate_18
- if c.ascii == 111 then return dfastate_18
- if c.ascii == 112 then return dfastate_18
- if c.ascii == 113 then return dfastate_18
- if c.ascii == 114 then return dfastate_18
- if c.ascii == 115 then return dfastate_18
- if c.ascii == 116 then return dfastate_18
- if c.ascii == 117 then return dfastate_18
- if c.ascii == 118 then return dfastate_18
- if c.ascii == 119 then return dfastate_18
- if c.ascii == 120 then return dfastate_18
- if c.ascii == 121 then return dfastate_18
- if c.ascii == 122 then return dfastate_18
- if c.ascii == 65 then return dfastate_19
- if c.ascii == 66 then return dfastate_19
- if c.ascii == 67 then return dfastate_19
- if c.ascii == 68 then return dfastate_19
- if c.ascii == 69 then return dfastate_19
- if c.ascii == 70 then return dfastate_19
- if c.ascii == 71 then return dfastate_19
- if c.ascii == 72 then return dfastate_19
- if c.ascii == 73 then return dfastate_19
- if c.ascii == 74 then return dfastate_19
- if c.ascii == 75 then return dfastate_19
- if c.ascii == 76 then return dfastate_19
- if c.ascii == 77 then return dfastate_19
- if c.ascii == 78 then return dfastate_19
- if c.ascii == 79 then return dfastate_19
- if c.ascii == 80 then return dfastate_19
- if c.ascii == 81 then return dfastate_19
- if c.ascii == 82 then return dfastate_19
- if c.ascii == 83 then return dfastate_19
- if c.ascii == 84 then return dfastate_19
- if c.ascii == 85 then return dfastate_19
- if c.ascii == 86 then return dfastate_19
- if c.ascii == 87 then return dfastate_19
- if c.ascii == 88 then return dfastate_19
- if c.ascii == 89 then return dfastate_19
- if c.ascii == 90 then return dfastate_19
- return null
- end
-end
-class DFAState8
- super DFAState
- redef fun is_accept do return true
- redef fun make_token(position, text) do
- var t = new Nid
- t.position = position
- t.text = text
- return t
- end
- redef fun trans(c) do
- if c.ascii == 95 then return dfastate_16
- if c.ascii == 48 then return dfastate_17
- if c.ascii == 49 then return dfastate_17
- if c.ascii == 50 then return dfastate_17
- if c.ascii == 51 then return dfastate_17
- if c.ascii == 52 then return dfastate_17
- if c.ascii == 53 then return dfastate_17
- if c.ascii == 54 then return dfastate_17
- if c.ascii == 55 then return dfastate_17
- if c.ascii == 56 then return dfastate_17
- if c.ascii == 57 then return dfastate_17
- if c.ascii == 97 then return dfastate_18
- if c.ascii == 98 then return dfastate_18
- if c.ascii == 99 then return dfastate_18
- if c.ascii == 100 then return dfastate_18
- if c.ascii == 101 then return dfastate_18
- if c.ascii == 102 then return dfastate_18
- if c.ascii == 103 then return dfastate_18
- if c.ascii == 104 then return dfastate_18
- if c.ascii == 105 then return dfastate_18
- if c.ascii == 106 then return dfastate_18
- if c.ascii == 107 then return dfastate_18
- if c.ascii == 108 then return dfastate_18
- if c.ascii == 109 then return dfastate_18
- if c.ascii == 110 then return dfastate_18
- if c.ascii == 111 then return dfastate_18
- if c.ascii == 112 then return dfastate_18
- if c.ascii == 113 then return dfastate_18
- if c.ascii == 114 then return dfastate_18
- if c.ascii == 115 then return dfastate_18
- if c.ascii == 116 then return dfastate_18
- if c.ascii == 117 then return dfastate_18
- if c.ascii == 118 then return dfastate_18
- if c.ascii == 119 then return dfastate_18
- if c.ascii == 120 then return dfastate_18
- if c.ascii == 121 then return dfastate_18
- if c.ascii == 122 then return dfastate_18
- if c.ascii == 65 then return dfastate_19
- if c.ascii == 66 then return dfastate_19
- if c.ascii == 67 then return dfastate_19
- if c.ascii == 68 then return dfastate_19
- if c.ascii == 69 then return dfastate_19
- if c.ascii == 70 then return dfastate_19
- if c.ascii == 71 then return dfastate_19
- if c.ascii == 72 then return dfastate_19
- if c.ascii == 73 then return dfastate_19
- if c.ascii == 74 then return dfastate_19
- if c.ascii == 75 then return dfastate_19
- if c.ascii == 76 then return dfastate_19
- if c.ascii == 77 then return dfastate_19
- if c.ascii == 78 then return dfastate_19
- if c.ascii == 79 then return dfastate_19
- if c.ascii == 80 then return dfastate_19
- if c.ascii == 81 then return dfastate_19
- if c.ascii == 82 then return dfastate_19
- if c.ascii == 83 then return dfastate_19
- if c.ascii == 84 then return dfastate_19
- if c.ascii == 85 then return dfastate_19
- if c.ascii == 86 then return dfastate_19
- if c.ascii == 87 then return dfastate_19
- if c.ascii == 88 then return dfastate_19
- if c.ascii == 89 then return dfastate_19
- if c.ascii == 90 then return dfastate_19
- return null
- end
-end
-class DFAState9
- super DFAState
- redef fun is_accept do return true
- redef fun make_token(position, text) do
- var t = new Neol
- t.position = position
- t.text = text
- return t
- end
-end
-class DFAState10
- super DFAState
- redef fun is_accept do return true
- redef fun make_token(position, text) do
- var t = new Neol
- t.position = position
- t.text = text
- return t
- end
- redef fun trans(c) do
- if c.ascii == 13 then return dfastate_15
- return null
- end
-end
-class DFAState11
- super DFAState
- redef fun is_accept do return true
- redef fun make_token(position, text) do
- var t = new Ncomment
- t.position = position
- t.text = text
- return t
- end
- redef fun trans(c) do
- if c.ascii == 32 then return dfastate_14
- if c.ascii == 33 then return dfastate_14
- if c.ascii == 34 then return dfastate_14
- if c.ascii == 35 then return dfastate_14
- if c.ascii == 36 then return dfastate_14
- if c.ascii == 37 then return dfastate_14
- if c.ascii == 38 then return dfastate_14
- if c.ascii == 39 then return dfastate_14
- if c.ascii == 40 then return dfastate_14
- if c.ascii == 41 then return dfastate_14
- if c.ascii == 42 then return dfastate_14
- if c.ascii == 43 then return dfastate_14
- if c.ascii == 44 then return dfastate_14
- if c.ascii == 45 then return dfastate_14
- if c.ascii == 46 then return dfastate_14
- if c.ascii == 47 then return dfastate_14
- if c.ascii == 48 then return dfastate_14
- if c.ascii == 49 then return dfastate_14
- if c.ascii == 50 then return dfastate_14
- if c.ascii == 51 then return dfastate_14
- if c.ascii == 52 then return dfastate_14
- if c.ascii == 53 then return dfastate_14
- if c.ascii == 54 then return dfastate_14
- if c.ascii == 55 then return dfastate_14
- if c.ascii == 56 then return dfastate_14
- if c.ascii == 57 then return dfastate_14
- if c.ascii == 58 then return dfastate_14
- if c.ascii == 59 then return dfastate_14
- if c.ascii == 60 then return dfastate_14
- if c.ascii == 61 then return dfastate_14
- if c.ascii == 62 then return dfastate_14
- if c.ascii == 63 then return dfastate_14
- if c.ascii == 64 then return dfastate_14
- if c.ascii == 65 then return dfastate_14
- if c.ascii == 66 then return dfastate_14
- if c.ascii == 67 then return dfastate_14
- if c.ascii == 68 then return dfastate_14
- if c.ascii == 69 then return dfastate_14
- if c.ascii == 70 then return dfastate_14
- if c.ascii == 71 then return dfastate_14
- if c.ascii == 72 then return dfastate_14
- if c.ascii == 73 then return dfastate_14
- if c.ascii == 74 then return dfastate_14
- if c.ascii == 75 then return dfastate_14
- if c.ascii == 76 then return dfastate_14
- if c.ascii == 77 then return dfastate_14
- if c.ascii == 78 then return dfastate_14
- if c.ascii == 79 then return dfastate_14
- if c.ascii == 80 then return dfastate_14
- if c.ascii == 81 then return dfastate_14
- if c.ascii == 82 then return dfastate_14
- if c.ascii == 83 then return dfastate_14
- if c.ascii == 84 then return dfastate_14
- if c.ascii == 85 then return dfastate_14
- if c.ascii == 86 then return dfastate_14
- if c.ascii == 87 then return dfastate_14
- if c.ascii == 88 then return dfastate_14
- if c.ascii == 89 then return dfastate_14
- if c.ascii == 90 then return dfastate_14
- if c.ascii == 91 then return dfastate_14
- if c.ascii == 92 then return dfastate_14
- if c.ascii == 93 then return dfastate_14
- if c.ascii == 94 then return dfastate_14
- if c.ascii == 95 then return dfastate_14
- if c.ascii == 96 then return dfastate_14
- if c.ascii == 97 then return dfastate_14
- if c.ascii == 98 then return dfastate_14
- if c.ascii == 99 then return dfastate_14
- if c.ascii == 100 then return dfastate_14
- if c.ascii == 101 then return dfastate_14
- if c.ascii == 102 then return dfastate_14
- if c.ascii == 103 then return dfastate_14
- if c.ascii == 104 then return dfastate_14
- if c.ascii == 105 then return dfastate_14
- if c.ascii == 106 then return dfastate_14
- if c.ascii == 107 then return dfastate_14
- if c.ascii == 108 then return dfastate_14
- if c.ascii == 109 then return dfastate_14
- if c.ascii == 110 then return dfastate_14
- if c.ascii == 111 then return dfastate_14
- if c.ascii == 112 then return dfastate_14
- if c.ascii == 113 then return dfastate_14
- if c.ascii == 114 then return dfastate_14
- if c.ascii == 115 then return dfastate_14
- if c.ascii == 116 then return dfastate_14
- if c.ascii == 117 then return dfastate_14
- if c.ascii == 118 then return dfastate_14
- if c.ascii == 119 then return dfastate_14
- if c.ascii == 120 then return dfastate_14
- if c.ascii == 121 then return dfastate_14
- if c.ascii == 122 then return dfastate_14
- if c.ascii == 123 then return dfastate_14
- if c.ascii == 124 then return dfastate_14
- if c.ascii == 125 then return dfastate_14
- if c.ascii == 126 then return dfastate_14
- return null
- end
-end
-class DFAState12
- super DFAState
- redef fun is_accept do return true
- redef fun make_token(position, text) do
- return null
- end
- redef fun trans(c) do
- if c.ascii == 9 then return dfastate_12
- if c.ascii == 32 then return dfastate_13
- return null
- end
-end
-class DFAState13
- super DFAState
- redef fun is_accept do return true
- redef fun make_token(position, text) do
- return null
- end
- redef fun trans(c) do
- if c.ascii == 9 then return dfastate_12
- if c.ascii == 32 then return dfastate_13
- return null
- end
-end
-class DFAState14
- super DFAState
- redef fun is_accept do return true
- redef fun make_token(position, text) do
- var t = new Ncomment
- t.position = position
- t.text = text
- return t
- end
- redef fun trans(c) do
- if c.ascii == 32 then return dfastate_14
- if c.ascii == 33 then return dfastate_14
- if c.ascii == 34 then return dfastate_14
- if c.ascii == 35 then return dfastate_14
- if c.ascii == 36 then return dfastate_14
- if c.ascii == 37 then return dfastate_14
- if c.ascii == 38 then return dfastate_14
- if c.ascii == 39 then return dfastate_14
- if c.ascii == 40 then return dfastate_14
- if c.ascii == 41 then return dfastate_14
- if c.ascii == 42 then return dfastate_14
- if c.ascii == 43 then return dfastate_14
- if c.ascii == 44 then return dfastate_14
- if c.ascii == 45 then return dfastate_14
- if c.ascii == 46 then return dfastate_14
- if c.ascii == 47 then return dfastate_14
- if c.ascii == 48 then return dfastate_14
- if c.ascii == 49 then return dfastate_14
- if c.ascii == 50 then return dfastate_14
- if c.ascii == 51 then return dfastate_14
- if c.ascii == 52 then return dfastate_14
- if c.ascii == 53 then return dfastate_14
- if c.ascii == 54 then return dfastate_14
- if c.ascii == 55 then return dfastate_14
- if c.ascii == 56 then return dfastate_14
- if c.ascii == 57 then return dfastate_14
- if c.ascii == 58 then return dfastate_14
- if c.ascii == 59 then return dfastate_14
- if c.ascii == 60 then return dfastate_14
- if c.ascii == 61 then return dfastate_14
- if c.ascii == 62 then return dfastate_14
- if c.ascii == 63 then return dfastate_14
- if c.ascii == 64 then return dfastate_14
- if c.ascii == 65 then return dfastate_14
- if c.ascii == 66 then return dfastate_14
- if c.ascii == 67 then return dfastate_14
- if c.ascii == 68 then return dfastate_14
- if c.ascii == 69 then return dfastate_14
- if c.ascii == 70 then return dfastate_14
- if c.ascii == 71 then return dfastate_14
- if c.ascii == 72 then return dfastate_14
- if c.ascii == 73 then return dfastate_14
- if c.ascii == 74 then return dfastate_14
- if c.ascii == 75 then return dfastate_14
- if c.ascii == 76 then return dfastate_14
- if c.ascii == 77 then return dfastate_14
- if c.ascii == 78 then return dfastate_14
- if c.ascii == 79 then return dfastate_14
- if c.ascii == 80 then return dfastate_14
- if c.ascii == 81 then return dfastate_14
- if c.ascii == 82 then return dfastate_14
- if c.ascii == 83 then return dfastate_14
- if c.ascii == 84 then return dfastate_14
- if c.ascii == 85 then return dfastate_14
- if c.ascii == 86 then return dfastate_14
- if c.ascii == 87 then return dfastate_14
- if c.ascii == 88 then return dfastate_14
- if c.ascii == 89 then return dfastate_14
- if c.ascii == 90 then return dfastate_14
- if c.ascii == 91 then return dfastate_14
- if c.ascii == 92 then return dfastate_14
- if c.ascii == 93 then return dfastate_14
- if c.ascii == 94 then return dfastate_14
- if c.ascii == 95 then return dfastate_14
- if c.ascii == 96 then return dfastate_14
- if c.ascii == 97 then return dfastate_14
- if c.ascii == 98 then return dfastate_14
- if c.ascii == 99 then return dfastate_14
- if c.ascii == 100 then return dfastate_14
- if c.ascii == 101 then return dfastate_14
- if c.ascii == 102 then return dfastate_14
- if c.ascii == 103 then return dfastate_14
- if c.ascii == 104 then return dfastate_14
- if c.ascii == 105 then return dfastate_14
- if c.ascii == 106 then return dfastate_14
- if c.ascii == 107 then return dfastate_14
- if c.ascii == 108 then return dfastate_14
- if c.ascii == 109 then return dfastate_14
- if c.ascii == 110 then return dfastate_14
- if c.ascii == 111 then return dfastate_14
- if c.ascii == 112 then return dfastate_14
- if c.ascii == 113 then return dfastate_14
- if c.ascii == 114 then return dfastate_14
- if c.ascii == 115 then return dfastate_14
- if c.ascii == 116 then return dfastate_14
- if c.ascii == 117 then return dfastate_14
- if c.ascii == 118 then return dfastate_14
- if c.ascii == 119 then return dfastate_14
- if c.ascii == 120 then return dfastate_14
- if c.ascii == 121 then return dfastate_14
- if c.ascii == 122 then return dfastate_14
- if c.ascii == 123 then return dfastate_14
- if c.ascii == 124 then return dfastate_14
- if c.ascii == 125 then return dfastate_14
- if c.ascii == 126 then return dfastate_14
- return null
- end
-end
-class DFAState15
- super DFAState
- redef fun is_accept do return true
- redef fun make_token(position, text) do
- var t = new Neol
- t.position = position
- t.text = text
- return t
- end
-end
-class DFAState16
- super DFAState
- redef fun is_accept do return true
- redef fun make_token(position, text) do
- var t = new Nid
- t.position = position
- t.text = text
- return t
- end
- redef fun trans(c) do
- if c.ascii == 95 then return dfastate_16
- if c.ascii == 48 then return dfastate_17
- if c.ascii == 49 then return dfastate_17
- if c.ascii == 50 then return dfastate_17
- if c.ascii == 51 then return dfastate_17
- if c.ascii == 52 then return dfastate_17
- if c.ascii == 53 then return dfastate_17
- if c.ascii == 54 then return dfastate_17
- if c.ascii == 55 then return dfastate_17
- if c.ascii == 56 then return dfastate_17
- if c.ascii == 57 then return dfastate_17
- if c.ascii == 97 then return dfastate_18
- if c.ascii == 98 then return dfastate_18
- if c.ascii == 99 then return dfastate_18
- if c.ascii == 100 then return dfastate_18
- if c.ascii == 101 then return dfastate_18
- if c.ascii == 102 then return dfastate_18
- if c.ascii == 103 then return dfastate_18
- if c.ascii == 104 then return dfastate_18
- if c.ascii == 105 then return dfastate_18
- if c.ascii == 106 then return dfastate_18
- if c.ascii == 107 then return dfastate_18
- if c.ascii == 108 then return dfastate_18
- if c.ascii == 109 then return dfastate_18
- if c.ascii == 110 then return dfastate_18
- if c.ascii == 111 then return dfastate_18
- if c.ascii == 112 then return dfastate_18
- if c.ascii == 113 then return dfastate_18
- if c.ascii == 114 then return dfastate_18
- if c.ascii == 115 then return dfastate_18
- if c.ascii == 116 then return dfastate_18
- if c.ascii == 117 then return dfastate_18
- if c.ascii == 118 then return dfastate_18
- if c.ascii == 119 then return dfastate_18
- if c.ascii == 120 then return dfastate_18
- if c.ascii == 121 then return dfastate_18
- if c.ascii == 122 then return dfastate_18
- if c.ascii == 65 then return dfastate_19
- if c.ascii == 66 then return dfastate_19
- if c.ascii == 67 then return dfastate_19
- if c.ascii == 68 then return dfastate_19
- if c.ascii == 69 then return dfastate_19
- if c.ascii == 70 then return dfastate_19
- if c.ascii == 71 then return dfastate_19
- if c.ascii == 72 then return dfastate_19
- if c.ascii == 73 then return dfastate_19
- if c.ascii == 74 then return dfastate_19
- if c.ascii == 75 then return dfastate_19
- if c.ascii == 76 then return dfastate_19
- if c.ascii == 77 then return dfastate_19
- if c.ascii == 78 then return dfastate_19
- if c.ascii == 79 then return dfastate_19
- if c.ascii == 80 then return dfastate_19
- if c.ascii == 81 then return dfastate_19
- if c.ascii == 82 then return dfastate_19
- if c.ascii == 83 then return dfastate_19
- if c.ascii == 84 then return dfastate_19
- if c.ascii == 85 then return dfastate_19
- if c.ascii == 86 then return dfastate_19
- if c.ascii == 87 then return dfastate_19
- if c.ascii == 88 then return dfastate_19
- if c.ascii == 89 then return dfastate_19
- if c.ascii == 90 then return dfastate_19
- return null
- end
-end
-class DFAState17
- super DFAState
- redef fun is_accept do return true
- redef fun make_token(position, text) do
- var t = new Nid
- t.position = position
- t.text = text
- return t
- end
- redef fun trans(c) do
- if c.ascii == 95 then return dfastate_16
- if c.ascii == 48 then return dfastate_17
- if c.ascii == 49 then return dfastate_17
- if c.ascii == 50 then return dfastate_17
- if c.ascii == 51 then return dfastate_17
- if c.ascii == 52 then return dfastate_17
- if c.ascii == 53 then return dfastate_17
- if c.ascii == 54 then return dfastate_17
- if c.ascii == 55 then return dfastate_17
- if c.ascii == 56 then return dfastate_17
- if c.ascii == 57 then return dfastate_17
- if c.ascii == 97 then return dfastate_18
- if c.ascii == 98 then return dfastate_18
- if c.ascii == 99 then return dfastate_18
- if c.ascii == 100 then return dfastate_18
- if c.ascii == 101 then return dfastate_18
- if c.ascii == 102 then return dfastate_18
- if c.ascii == 103 then return dfastate_18
- if c.ascii == 104 then return dfastate_18
- if c.ascii == 105 then return dfastate_18
- if c.ascii == 106 then return dfastate_18
- if c.ascii == 107 then return dfastate_18
- if c.ascii == 108 then return dfastate_18
- if c.ascii == 109 then return dfastate_18
- if c.ascii == 110 then return dfastate_18
- if c.ascii == 111 then return dfastate_18
- if c.ascii == 112 then return dfastate_18
- if c.ascii == 113 then return dfastate_18
- if c.ascii == 114 then return dfastate_18
- if c.ascii == 115 then return dfastate_18
- if c.ascii == 116 then return dfastate_18
- if c.ascii == 117 then return dfastate_18
- if c.ascii == 118 then return dfastate_18
- if c.ascii == 119 then return dfastate_18
- if c.ascii == 120 then return dfastate_18
- if c.ascii == 121 then return dfastate_18
- if c.ascii == 122 then return dfastate_18
- if c.ascii == 65 then return dfastate_19
- if c.ascii == 66 then return dfastate_19
- if c.ascii == 67 then return dfastate_19
- if c.ascii == 68 then return dfastate_19
- if c.ascii == 69 then return dfastate_19
- if c.ascii == 70 then return dfastate_19
- if c.ascii == 71 then return dfastate_19
- if c.ascii == 72 then return dfastate_19
- if c.ascii == 73 then return dfastate_19
- if c.ascii == 74 then return dfastate_19
- if c.ascii == 75 then return dfastate_19
- if c.ascii == 76 then return dfastate_19
- if c.ascii == 77 then return dfastate_19
- if c.ascii == 78 then return dfastate_19
- if c.ascii == 79 then return dfastate_19
- if c.ascii == 80 then return dfastate_19
- if c.ascii == 81 then return dfastate_19
- if c.ascii == 82 then return dfastate_19
- if c.ascii == 83 then return dfastate_19
- if c.ascii == 84 then return dfastate_19
- if c.ascii == 85 then return dfastate_19
- if c.ascii == 86 then return dfastate_19
- if c.ascii == 87 then return dfastate_19
- if c.ascii == 88 then return dfastate_19
- if c.ascii == 89 then return dfastate_19
- if c.ascii == 90 then return dfastate_19
- return null
- end
-end
-class DFAState18
- super DFAState
- redef fun is_accept do return true
- redef fun make_token(position, text) do
- var t = new Nid
- t.position = position
- t.text = text
- return t
- end
- redef fun trans(c) do
- if c.ascii == 95 then return dfastate_16
- if c.ascii == 48 then return dfastate_17
- if c.ascii == 49 then return dfastate_17
- if c.ascii == 50 then return dfastate_17
- if c.ascii == 51 then return dfastate_17
- if c.ascii == 52 then return dfastate_17
- if c.ascii == 53 then return dfastate_17
- if c.ascii == 54 then return dfastate_17
- if c.ascii == 55 then return dfastate_17
- if c.ascii == 56 then return dfastate_17
- if c.ascii == 57 then return dfastate_17
- if c.ascii == 97 then return dfastate_18
- if c.ascii == 98 then return dfastate_18
- if c.ascii == 99 then return dfastate_18
- if c.ascii == 100 then return dfastate_18
- if c.ascii == 101 then return dfastate_18
- if c.ascii == 102 then return dfastate_18
- if c.ascii == 103 then return dfastate_18
- if c.ascii == 104 then return dfastate_18
- if c.ascii == 105 then return dfastate_18
- if c.ascii == 106 then return dfastate_18
- if c.ascii == 107 then return dfastate_18
- if c.ascii == 108 then return dfastate_18
- if c.ascii == 109 then return dfastate_18
- if c.ascii == 110 then return dfastate_18
- if c.ascii == 111 then return dfastate_18
- if c.ascii == 112 then return dfastate_18
- if c.ascii == 113 then return dfastate_18
- if c.ascii == 114 then return dfastate_18
- if c.ascii == 115 then return dfastate_18
- if c.ascii == 116 then return dfastate_18
- if c.ascii == 117 then return dfastate_18
- if c.ascii == 118 then return dfastate_18
- if c.ascii == 119 then return dfastate_18
- if c.ascii == 120 then return dfastate_18
- if c.ascii == 121 then return dfastate_18
- if c.ascii == 122 then return dfastate_18
- if c.ascii == 65 then return dfastate_19
- if c.ascii == 66 then return dfastate_19
- if c.ascii == 67 then return dfastate_19
- if c.ascii == 68 then return dfastate_19
- if c.ascii == 69 then return dfastate_19
- if c.ascii == 70 then return dfastate_19
- if c.ascii == 71 then return dfastate_19
- if c.ascii == 72 then return dfastate_19
- if c.ascii == 73 then return dfastate_19
- if c.ascii == 74 then return dfastate_19
- if c.ascii == 75 then return dfastate_19
- if c.ascii == 76 then return dfastate_19
- if c.ascii == 77 then return dfastate_19
- if c.ascii == 78 then return dfastate_19
- if c.ascii == 79 then return dfastate_19
- if c.ascii == 80 then return dfastate_19
- if c.ascii == 81 then return dfastate_19
- if c.ascii == 82 then return dfastate_19
- if c.ascii == 83 then return dfastate_19
- if c.ascii == 84 then return dfastate_19
- if c.ascii == 85 then return dfastate_19
- if c.ascii == 86 then return dfastate_19
- if c.ascii == 87 then return dfastate_19
- if c.ascii == 88 then return dfastate_19
- if c.ascii == 89 then return dfastate_19
- if c.ascii == 90 then return dfastate_19
- return null
- end
-end
-class DFAState19
- super DFAState
- redef fun is_accept do return true
- redef fun make_token(position, text) do
- var t = new Nid
- t.position = position
- t.text = text
- return t
- end
- redef fun trans(c) do
- if c.ascii == 95 then return dfastate_16
- if c.ascii == 48 then return dfastate_17
- if c.ascii == 49 then return dfastate_17
- if c.ascii == 50 then return dfastate_17
- if c.ascii == 51 then return dfastate_17
- if c.ascii == 52 then return dfastate_17
- if c.ascii == 53 then return dfastate_17
- if c.ascii == 54 then return dfastate_17
- if c.ascii == 55 then return dfastate_17
- if c.ascii == 56 then return dfastate_17
- if c.ascii == 57 then return dfastate_17
- if c.ascii == 97 then return dfastate_18
- if c.ascii == 98 then return dfastate_18
- if c.ascii == 99 then return dfastate_18
- if c.ascii == 100 then return dfastate_18
- if c.ascii == 101 then return dfastate_18
- if c.ascii == 102 then return dfastate_18
- if c.ascii == 103 then return dfastate_18
- if c.ascii == 104 then return dfastate_18
- if c.ascii == 105 then return dfastate_18
- if c.ascii == 106 then return dfastate_18
- if c.ascii == 107 then return dfastate_18
- if c.ascii == 108 then return dfastate_18
- if c.ascii == 109 then return dfastate_18
- if c.ascii == 110 then return dfastate_18
- if c.ascii == 111 then return dfastate_18
- if c.ascii == 112 then return dfastate_18
- if c.ascii == 113 then return dfastate_18
- if c.ascii == 114 then return dfastate_18
- if c.ascii == 115 then return dfastate_18
- if c.ascii == 116 then return dfastate_18
- if c.ascii == 117 then return dfastate_18
- if c.ascii == 118 then return dfastate_18
- if c.ascii == 119 then return dfastate_18
- if c.ascii == 120 then return dfastate_18
- if c.ascii == 121 then return dfastate_18
- if c.ascii == 122 then return dfastate_18
- if c.ascii == 65 then return dfastate_19
- if c.ascii == 66 then return dfastate_19
- if c.ascii == 67 then return dfastate_19
- if c.ascii == 68 then return dfastate_19
- if c.ascii == 69 then return dfastate_19
- if c.ascii == 70 then return dfastate_19
- if c.ascii == 71 then return dfastate_19
- if c.ascii == 72 then return dfastate_19
- if c.ascii == 73 then return dfastate_19
- if c.ascii == 74 then return dfastate_19
- if c.ascii == 75 then return dfastate_19
- if c.ascii == 76 then return dfastate_19
- if c.ascii == 77 then return dfastate_19
- if c.ascii == 78 then return dfastate_19
- if c.ascii == 79 then return dfastate_19
- if c.ascii == 80 then return dfastate_19
- if c.ascii == 81 then return dfastate_19
- if c.ascii == 82 then return dfastate_19
- if c.ascii == 83 then return dfastate_19
- if c.ascii == 84 then return dfastate_19
- if c.ascii == 85 then return dfastate_19
- if c.ascii == 86 then return dfastate_19
- if c.ascii == 87 then return dfastate_19
- if c.ascii == 88 then return dfastate_19
- if c.ascii == 89 then return dfastate_19
- if c.ascii == 90 then return dfastate_19
- return null
- end
-end
-class DFAState20
- super DFAState
- redef fun trans(c) do
- if c.ascii == 39 then return dfastate_32
- return null
- end
-end
-class DFAState21
- super DFAState
- redef fun trans(c) do
- if c.ascii == 120 then return dfastate_22
- if c.ascii == 32 then return dfastate_23
- if c.ascii == 33 then return dfastate_23
- if c.ascii == 34 then return dfastate_23
- if c.ascii == 35 then return dfastate_23
- if c.ascii == 36 then return dfastate_23
- if c.ascii == 37 then return dfastate_23
- if c.ascii == 38 then return dfastate_23
- if c.ascii == 39 then return dfastate_23
- if c.ascii == 40 then return dfastate_23
- if c.ascii == 41 then return dfastate_23
- if c.ascii == 42 then return dfastate_23
- if c.ascii == 43 then return dfastate_23
- if c.ascii == 44 then return dfastate_23
- if c.ascii == 45 then return dfastate_23
- if c.ascii == 46 then return dfastate_23
- if c.ascii == 47 then return dfastate_23
- if c.ascii == 48 then return dfastate_23
- if c.ascii == 49 then return dfastate_23
- if c.ascii == 50 then return dfastate_23
- if c.ascii == 51 then return dfastate_23
- if c.ascii == 52 then return dfastate_23
- if c.ascii == 53 then return dfastate_23
- if c.ascii == 54 then return dfastate_23
- if c.ascii == 55 then return dfastate_23
- if c.ascii == 56 then return dfastate_23
- if c.ascii == 57 then return dfastate_23
- if c.ascii == 58 then return dfastate_23
- if c.ascii == 59 then return dfastate_23
- if c.ascii == 60 then return dfastate_23
- if c.ascii == 61 then return dfastate_23
- if c.ascii == 62 then return dfastate_23
- if c.ascii == 63 then return dfastate_23
- if c.ascii == 64 then return dfastate_23
- if c.ascii == 65 then return dfastate_23
- if c.ascii == 66 then return dfastate_23
- if c.ascii == 67 then return dfastate_23
- if c.ascii == 68 then return dfastate_23
- if c.ascii == 69 then return dfastate_23
- if c.ascii == 70 then return dfastate_23
- if c.ascii == 71 then return dfastate_23
- if c.ascii == 72 then return dfastate_23
- if c.ascii == 73 then return dfastate_23
- if c.ascii == 74 then return dfastate_23
- if c.ascii == 75 then return dfastate_23
- if c.ascii == 76 then return dfastate_23
- if c.ascii == 77 then return dfastate_23
- if c.ascii == 78 then return dfastate_23
- if c.ascii == 79 then return dfastate_23
- if c.ascii == 80 then return dfastate_23
- if c.ascii == 81 then return dfastate_23
- if c.ascii == 82 then return dfastate_23
- if c.ascii == 83 then return dfastate_23
- if c.ascii == 84 then return dfastate_23
- if c.ascii == 85 then return dfastate_23
- if c.ascii == 86 then return dfastate_23
- if c.ascii == 87 then return dfastate_23
- if c.ascii == 88 then return dfastate_23
- if c.ascii == 89 then return dfastate_23
- if c.ascii == 90 then return dfastate_23
- if c.ascii == 91 then return dfastate_23
- if c.ascii == 92 then return dfastate_23
- if c.ascii == 93 then return dfastate_23
- if c.ascii == 94 then return dfastate_23
- if c.ascii == 95 then return dfastate_23
- if c.ascii == 96 then return dfastate_23
- if c.ascii == 97 then return dfastate_23
- if c.ascii == 98 then return dfastate_23
- if c.ascii == 99 then return dfastate_23
- if c.ascii == 100 then return dfastate_23
- if c.ascii == 101 then return dfastate_23
- if c.ascii == 102 then return dfastate_23
- if c.ascii == 103 then return dfastate_23
- if c.ascii == 104 then return dfastate_23
- if c.ascii == 105 then return dfastate_23
- if c.ascii == 106 then return dfastate_23
- if c.ascii == 107 then return dfastate_23
- if c.ascii == 108 then return dfastate_23
- if c.ascii == 109 then return dfastate_23
- if c.ascii == 110 then return dfastate_23
- if c.ascii == 111 then return dfastate_23
- if c.ascii == 112 then return dfastate_23
- if c.ascii == 113 then return dfastate_23
- if c.ascii == 114 then return dfastate_23
- if c.ascii == 115 then return dfastate_23
- if c.ascii == 116 then return dfastate_23
- if c.ascii == 117 then return dfastate_23
- if c.ascii == 118 then return dfastate_23
- if c.ascii == 119 then return dfastate_23
- if c.ascii == 121 then return dfastate_23
- if c.ascii == 122 then return dfastate_23
- if c.ascii == 123 then return dfastate_23
- if c.ascii == 124 then return dfastate_23
- if c.ascii == 125 then return dfastate_23
- if c.ascii == 126 then return dfastate_23
- return null
- end
-end
-class DFAState22
- super DFAState
- redef fun trans(c) do
- if c.ascii == 39 then return dfastate_24
- if c.ascii == 97 then return dfastate_25
- if c.ascii == 98 then return dfastate_25
- if c.ascii == 99 then return dfastate_25
- if c.ascii == 100 then return dfastate_25
- if c.ascii == 101 then return dfastate_25
- if c.ascii == 102 then return dfastate_25
- if c.ascii == 48 then return dfastate_26
- if c.ascii == 49 then return dfastate_26
- if c.ascii == 50 then return dfastate_26
- if c.ascii == 51 then return dfastate_26
- if c.ascii == 52 then return dfastate_26
- if c.ascii == 53 then return dfastate_26
- if c.ascii == 54 then return dfastate_26
- if c.ascii == 55 then return dfastate_26
- if c.ascii == 56 then return dfastate_26
- if c.ascii == 57 then return dfastate_26
- if c.ascii == 65 then return dfastate_27
- if c.ascii == 66 then return dfastate_27
- if c.ascii == 67 then return dfastate_27
- if c.ascii == 68 then return dfastate_27
- if c.ascii == 69 then return dfastate_27
- if c.ascii == 70 then return dfastate_27
- return null
- end
-end
-class DFAState23
- super DFAState
- redef fun trans(c) do
- if c.ascii == 39 then return dfastate_24
- return null
- end
-end
-class DFAState24
- super DFAState
- redef fun is_accept do return true
- redef fun make_token(position, text) do
- var t = new Nchar
- t.position = position
- t.text = text
- return t
- end
-end
-class DFAState25
- super DFAState
- redef fun trans(c) do
- if c.ascii == 97 then return dfastate_28
- if c.ascii == 98 then return dfastate_28
- if c.ascii == 99 then return dfastate_28
- if c.ascii == 100 then return dfastate_28
- if c.ascii == 101 then return dfastate_28
- if c.ascii == 102 then return dfastate_28
- if c.ascii == 48 then return dfastate_29
- if c.ascii == 49 then return dfastate_29
- if c.ascii == 50 then return dfastate_29
- if c.ascii == 51 then return dfastate_29
- if c.ascii == 52 then return dfastate_29
- if c.ascii == 53 then return dfastate_29
- if c.ascii == 54 then return dfastate_29
- if c.ascii == 55 then return dfastate_29
- if c.ascii == 56 then return dfastate_29
- if c.ascii == 57 then return dfastate_29
- if c.ascii == 65 then return dfastate_30
- if c.ascii == 66 then return dfastate_30
- if c.ascii == 67 then return dfastate_30
- if c.ascii == 68 then return dfastate_30
- if c.ascii == 69 then return dfastate_30
- if c.ascii == 70 then return dfastate_30
- return null
- end
-end
-class DFAState26
- super DFAState
- redef fun trans(c) do
- if c.ascii == 97 then return dfastate_28
- if c.ascii == 98 then return dfastate_28
- if c.ascii == 99 then return dfastate_28
- if c.ascii == 100 then return dfastate_28
- if c.ascii == 101 then return dfastate_28
- if c.ascii == 102 then return dfastate_28
- if c.ascii == 48 then return dfastate_29
- if c.ascii == 49 then return dfastate_29
- if c.ascii == 50 then return dfastate_29
- if c.ascii == 51 then return dfastate_29
- if c.ascii == 52 then return dfastate_29
- if c.ascii == 53 then return dfastate_29
- if c.ascii == 54 then return dfastate_29
- if c.ascii == 55 then return dfastate_29
- if c.ascii == 56 then return dfastate_29
- if c.ascii == 57 then return dfastate_29
- if c.ascii == 65 then return dfastate_30
- if c.ascii == 66 then return dfastate_30
- if c.ascii == 67 then return dfastate_30
- if c.ascii == 68 then return dfastate_30
- if c.ascii == 69 then return dfastate_30
- if c.ascii == 70 then return dfastate_30
- return null
- end
-end
-class DFAState27
- super DFAState
- redef fun trans(c) do
- if c.ascii == 97 then return dfastate_28
- if c.ascii == 98 then return dfastate_28
- if c.ascii == 99 then return dfastate_28
- if c.ascii == 100 then return dfastate_28
- if c.ascii == 101 then return dfastate_28
- if c.ascii == 102 then return dfastate_28
- if c.ascii == 48 then return dfastate_29
- if c.ascii == 49 then return dfastate_29
- if c.ascii == 50 then return dfastate_29
- if c.ascii == 51 then return dfastate_29
- if c.ascii == 52 then return dfastate_29
- if c.ascii == 53 then return dfastate_29
- if c.ascii == 54 then return dfastate_29
- if c.ascii == 55 then return dfastate_29
- if c.ascii == 56 then return dfastate_29
- if c.ascii == 57 then return dfastate_29
- if c.ascii == 65 then return dfastate_30
- if c.ascii == 66 then return dfastate_30
- if c.ascii == 67 then return dfastate_30
- if c.ascii == 68 then return dfastate_30
- if c.ascii == 69 then return dfastate_30
- if c.ascii == 70 then return dfastate_30
- return null
- end
-end
-class DFAState28
- super DFAState
- redef fun trans(c) do
- if c.ascii == 39 then return dfastate_31
- return null
- end
-end
-class DFAState29
- super DFAState
- redef fun trans(c) do
- if c.ascii == 39 then return dfastate_31
- return null
- end
-end
-class DFAState30
- super DFAState
- redef fun trans(c) do
- if c.ascii == 39 then return dfastate_31
- return null
- end
-end
-class DFAState31
- super DFAState
- redef fun is_accept do return true
- redef fun make_token(position, text) do
- var t = new Nchar
- t.position = position
- t.text = text
- return t
- end
-end
-class DFAState32
- super DFAState
- redef fun is_accept do return true
- redef fun make_token(position, text) do
- var t = new Nchar
- t.position = position
- t.text = text
- return t
- end
-end
-class DFAState33
- super DFAState
- redef fun trans(c) do
- if c.ascii == 32 then return dfastate_33
- if c.ascii == 33 then return dfastate_33
- if c.ascii == 35 then return dfastate_33
- if c.ascii == 36 then return dfastate_33
- if c.ascii == 37 then return dfastate_33
- if c.ascii == 38 then return dfastate_33
- if c.ascii == 39 then return dfastate_33
- if c.ascii == 40 then return dfastate_33
- if c.ascii == 41 then return dfastate_33
- if c.ascii == 42 then return dfastate_33
- if c.ascii == 43 then return dfastate_33
- if c.ascii == 44 then return dfastate_33
- if c.ascii == 45 then return dfastate_33
- if c.ascii == 46 then return dfastate_33
- if c.ascii == 47 then return dfastate_33
- if c.ascii == 48 then return dfastate_33
- if c.ascii == 49 then return dfastate_33
- if c.ascii == 50 then return dfastate_33
- if c.ascii == 51 then return dfastate_33
- if c.ascii == 52 then return dfastate_33
- if c.ascii == 53 then return dfastate_33
- if c.ascii == 54 then return dfastate_33
- if c.ascii == 55 then return dfastate_33
- if c.ascii == 56 then return dfastate_33
- if c.ascii == 57 then return dfastate_33
- if c.ascii == 58 then return dfastate_33
- if c.ascii == 59 then return dfastate_33
- if c.ascii == 60 then return dfastate_33
- if c.ascii == 61 then return dfastate_33
- if c.ascii == 62 then return dfastate_33
- if c.ascii == 63 then return dfastate_33
- if c.ascii == 64 then return dfastate_33
- if c.ascii == 65 then return dfastate_33
- if c.ascii == 66 then return dfastate_33
- if c.ascii == 67 then return dfastate_33
- if c.ascii == 68 then return dfastate_33
- if c.ascii == 69 then return dfastate_33
- if c.ascii == 70 then return dfastate_33
- if c.ascii == 71 then return dfastate_33
- if c.ascii == 72 then return dfastate_33
- if c.ascii == 73 then return dfastate_33
- if c.ascii == 74 then return dfastate_33
- if c.ascii == 75 then return dfastate_33
- if c.ascii == 76 then return dfastate_33
- if c.ascii == 77 then return dfastate_33
- if c.ascii == 78 then return dfastate_33
- if c.ascii == 79 then return dfastate_33
- if c.ascii == 80 then return dfastate_33
- if c.ascii == 81 then return dfastate_33
- if c.ascii == 82 then return dfastate_33
- if c.ascii == 83 then return dfastate_33
- if c.ascii == 84 then return dfastate_33
- if c.ascii == 85 then return dfastate_33
- if c.ascii == 86 then return dfastate_33
- if c.ascii == 87 then return dfastate_33
- if c.ascii == 88 then return dfastate_33
- if c.ascii == 89 then return dfastate_33
- if c.ascii == 90 then return dfastate_33
- if c.ascii == 91 then return dfastate_33
- if c.ascii == 92 then return dfastate_42
- if c.ascii == 93 then return dfastate_33
- if c.ascii == 94 then return dfastate_33
- if c.ascii == 95 then return dfastate_33
- if c.ascii == 96 then return dfastate_33
- if c.ascii == 97 then return dfastate_33
- if c.ascii == 98 then return dfastate_33
- if c.ascii == 99 then return dfastate_33
- if c.ascii == 100 then return dfastate_33
- if c.ascii == 101 then return dfastate_33
- if c.ascii == 102 then return dfastate_33
- if c.ascii == 103 then return dfastate_33
- if c.ascii == 104 then return dfastate_33
- if c.ascii == 105 then return dfastate_33
- if c.ascii == 106 then return dfastate_33
- if c.ascii == 107 then return dfastate_33
- if c.ascii == 108 then return dfastate_33
- if c.ascii == 109 then return dfastate_33
- if c.ascii == 110 then return dfastate_33
- if c.ascii == 111 then return dfastate_33
- if c.ascii == 112 then return dfastate_33
- if c.ascii == 113 then return dfastate_33
- if c.ascii == 114 then return dfastate_33
- if c.ascii == 115 then return dfastate_33
- if c.ascii == 116 then return dfastate_33
- if c.ascii == 117 then return dfastate_33
- if c.ascii == 118 then return dfastate_33
- if c.ascii == 119 then return dfastate_33
- if c.ascii == 120 then return dfastate_33
- if c.ascii == 121 then return dfastate_33
- if c.ascii == 122 then return dfastate_33
- if c.ascii == 123 then return dfastate_33
- if c.ascii == 124 then return dfastate_33
- if c.ascii == 125 then return dfastate_33
- if c.ascii == 126 then return dfastate_33
- return null
- end
-end
-class DFAState34
- super DFAState
- redef fun trans(c) do
- if c.ascii == 32 then return dfastate_36
- if c.ascii == 33 then return dfastate_36
- if c.ascii == 34 then return dfastate_37
- if c.ascii == 35 then return dfastate_36
- if c.ascii == 36 then return dfastate_36
- if c.ascii == 37 then return dfastate_36
- if c.ascii == 38 then return dfastate_36
- if c.ascii == 39 then return dfastate_36
- if c.ascii == 40 then return dfastate_36
- if c.ascii == 41 then return dfastate_36
- if c.ascii == 42 then return dfastate_36
- if c.ascii == 43 then return dfastate_36
- if c.ascii == 44 then return dfastate_36
- if c.ascii == 45 then return dfastate_36
- if c.ascii == 46 then return dfastate_36
- if c.ascii == 47 then return dfastate_36
- if c.ascii == 48 then return dfastate_36
- if c.ascii == 49 then return dfastate_36
- if c.ascii == 50 then return dfastate_36
- if c.ascii == 51 then return dfastate_36
- if c.ascii == 52 then return dfastate_36
- if c.ascii == 53 then return dfastate_36
- if c.ascii == 54 then return dfastate_36
- if c.ascii == 55 then return dfastate_36
- if c.ascii == 56 then return dfastate_36
- if c.ascii == 57 then return dfastate_36
- if c.ascii == 58 then return dfastate_36
- if c.ascii == 59 then return dfastate_36
- if c.ascii == 60 then return dfastate_36
- if c.ascii == 61 then return dfastate_36
- if c.ascii == 62 then return dfastate_36
- if c.ascii == 63 then return dfastate_36
- if c.ascii == 64 then return dfastate_36
- if c.ascii == 65 then return dfastate_36
- if c.ascii == 66 then return dfastate_36
- if c.ascii == 67 then return dfastate_36
- if c.ascii == 68 then return dfastate_36
- if c.ascii == 69 then return dfastate_36
- if c.ascii == 70 then return dfastate_36
- if c.ascii == 71 then return dfastate_36
- if c.ascii == 72 then return dfastate_36
- if c.ascii == 73 then return dfastate_36
- if c.ascii == 74 then return dfastate_36
- if c.ascii == 75 then return dfastate_36
- if c.ascii == 76 then return dfastate_36
- if c.ascii == 77 then return dfastate_36
- if c.ascii == 78 then return dfastate_36
- if c.ascii == 79 then return dfastate_36
- if c.ascii == 80 then return dfastate_36
- if c.ascii == 81 then return dfastate_36
- if c.ascii == 82 then return dfastate_36
- if c.ascii == 83 then return dfastate_36
- if c.ascii == 84 then return dfastate_36
- if c.ascii == 85 then return dfastate_36
- if c.ascii == 86 then return dfastate_36
- if c.ascii == 87 then return dfastate_36
- if c.ascii == 88 then return dfastate_36
- if c.ascii == 89 then return dfastate_36
- if c.ascii == 90 then return dfastate_36
- if c.ascii == 91 then return dfastate_36
- if c.ascii == 92 then return dfastate_38
- if c.ascii == 93 then return dfastate_36
- if c.ascii == 94 then return dfastate_36
- if c.ascii == 95 then return dfastate_36
- if c.ascii == 96 then return dfastate_36
- if c.ascii == 97 then return dfastate_36
- if c.ascii == 98 then return dfastate_36
- if c.ascii == 99 then return dfastate_36
- if c.ascii == 100 then return dfastate_36
- if c.ascii == 101 then return dfastate_36
- if c.ascii == 102 then return dfastate_36
- if c.ascii == 103 then return dfastate_36
- if c.ascii == 104 then return dfastate_36
- if c.ascii == 105 then return dfastate_36
- if c.ascii == 106 then return dfastate_36
- if c.ascii == 107 then return dfastate_36
- if c.ascii == 108 then return dfastate_36
- if c.ascii == 109 then return dfastate_36
- if c.ascii == 110 then return dfastate_36
- if c.ascii == 111 then return dfastate_36
- if c.ascii == 112 then return dfastate_36
- if c.ascii == 113 then return dfastate_36
- if c.ascii == 114 then return dfastate_36
- if c.ascii == 115 then return dfastate_36
- if c.ascii == 116 then return dfastate_36
- if c.ascii == 117 then return dfastate_36
- if c.ascii == 118 then return dfastate_36
- if c.ascii == 119 then return dfastate_36
- if c.ascii == 120 then return dfastate_36
- if c.ascii == 121 then return dfastate_36
- if c.ascii == 122 then return dfastate_36
- if c.ascii == 123 then return dfastate_36
- if c.ascii == 124 then return dfastate_36
- if c.ascii == 125 then return dfastate_36
- if c.ascii == 126 then return dfastate_36
- return null
- end
-end
-class DFAState35
- super DFAState
- redef fun is_accept do return true
- redef fun make_token(position, text) do
- var t = new Nstring
- t.position = position
- t.text = text
- return t
- end
-end
-class DFAState36
- super DFAState
- redef fun trans(c) do
- if c.ascii == 32 then return dfastate_33
- if c.ascii == 33 then return dfastate_33
- if c.ascii == 35 then return dfastate_33
- if c.ascii == 36 then return dfastate_33
- if c.ascii == 37 then return dfastate_33
- if c.ascii == 38 then return dfastate_33
- if c.ascii == 39 then return dfastate_33
- if c.ascii == 40 then return dfastate_33
- if c.ascii == 41 then return dfastate_33
- if c.ascii == 42 then return dfastate_33
- if c.ascii == 43 then return dfastate_33
- if c.ascii == 44 then return dfastate_33
- if c.ascii == 45 then return dfastate_33
- if c.ascii == 46 then return dfastate_33
- if c.ascii == 47 then return dfastate_33
- if c.ascii == 48 then return dfastate_33
- if c.ascii == 49 then return dfastate_33
- if c.ascii == 50 then return dfastate_33
- if c.ascii == 51 then return dfastate_33
- if c.ascii == 52 then return dfastate_33
- if c.ascii == 53 then return dfastate_33
- if c.ascii == 54 then return dfastate_33
- if c.ascii == 55 then return dfastate_33
- if c.ascii == 56 then return dfastate_33
- if c.ascii == 57 then return dfastate_33
- if c.ascii == 58 then return dfastate_33
- if c.ascii == 59 then return dfastate_33
- if c.ascii == 60 then return dfastate_33
- if c.ascii == 61 then return dfastate_33
- if c.ascii == 62 then return dfastate_33
- if c.ascii == 63 then return dfastate_33
- if c.ascii == 64 then return dfastate_33
- if c.ascii == 65 then return dfastate_33
- if c.ascii == 66 then return dfastate_33
- if c.ascii == 67 then return dfastate_33
- if c.ascii == 68 then return dfastate_33
- if c.ascii == 69 then return dfastate_33
- if c.ascii == 70 then return dfastate_33
- if c.ascii == 71 then return dfastate_33
- if c.ascii == 72 then return dfastate_33
- if c.ascii == 73 then return dfastate_33
- if c.ascii == 74 then return dfastate_33
- if c.ascii == 75 then return dfastate_33
- if c.ascii == 76 then return dfastate_33
- if c.ascii == 77 then return dfastate_33
- if c.ascii == 78 then return dfastate_33
- if c.ascii == 79 then return dfastate_33
- if c.ascii == 80 then return dfastate_33
- if c.ascii == 81 then return dfastate_33
- if c.ascii == 82 then return dfastate_33
- if c.ascii == 83 then return dfastate_33
- if c.ascii == 84 then return dfastate_33
- if c.ascii == 85 then return dfastate_33
- if c.ascii == 86 then return dfastate_33
- if c.ascii == 87 then return dfastate_33
- if c.ascii == 88 then return dfastate_33
- if c.ascii == 89 then return dfastate_33
- if c.ascii == 90 then return dfastate_33
- if c.ascii == 91 then return dfastate_33
- if c.ascii == 92 then return dfastate_39
- if c.ascii == 93 then return dfastate_33
- if c.ascii == 94 then return dfastate_33
- if c.ascii == 95 then return dfastate_33
- if c.ascii == 96 then return dfastate_33
- if c.ascii == 97 then return dfastate_33
- if c.ascii == 98 then return dfastate_33
- if c.ascii == 99 then return dfastate_33
- if c.ascii == 100 then return dfastate_33
- if c.ascii == 101 then return dfastate_33
- if c.ascii == 102 then return dfastate_33
- if c.ascii == 103 then return dfastate_33
- if c.ascii == 104 then return dfastate_33
- if c.ascii == 105 then return dfastate_33
- if c.ascii == 106 then return dfastate_33
- if c.ascii == 107 then return dfastate_33
- if c.ascii == 108 then return dfastate_33
- if c.ascii == 109 then return dfastate_33
- if c.ascii == 110 then return dfastate_33
- if c.ascii == 111 then return dfastate_33
- if c.ascii == 112 then return dfastate_33
- if c.ascii == 113 then return dfastate_33
- if c.ascii == 114 then return dfastate_33
- if c.ascii == 115 then return dfastate_33
- if c.ascii == 116 then return dfastate_33
- if c.ascii == 117 then return dfastate_33
- if c.ascii == 118 then return dfastate_33
- if c.ascii == 119 then return dfastate_33
- if c.ascii == 120 then return dfastate_33
- if c.ascii == 121 then return dfastate_33
- if c.ascii == 122 then return dfastate_33
- if c.ascii == 123 then return dfastate_33
- if c.ascii == 124 then return dfastate_33
- if c.ascii == 125 then return dfastate_33
- if c.ascii == 126 then return dfastate_33
- if c.ascii == 34 then return dfastate_35
- return null
- end
-end
-class DFAState37
- super DFAState
- redef fun trans(c) do
- if c.ascii == 34 then return dfastate_35
- if c.ascii == 32 then return dfastate_33
- if c.ascii == 33 then return dfastate_33
- if c.ascii == 35 then return dfastate_33
- if c.ascii == 36 then return dfastate_33
- if c.ascii == 37 then return dfastate_33
- if c.ascii == 38 then return dfastate_33
- if c.ascii == 39 then return dfastate_33
- if c.ascii == 40 then return dfastate_33
- if c.ascii == 41 then return dfastate_33
- if c.ascii == 42 then return dfastate_33
- if c.ascii == 43 then return dfastate_33
- if c.ascii == 44 then return dfastate_33
- if c.ascii == 45 then return dfastate_33
- if c.ascii == 46 then return dfastate_33
- if c.ascii == 47 then return dfastate_33
- if c.ascii == 48 then return dfastate_33
- if c.ascii == 49 then return dfastate_33
- if c.ascii == 50 then return dfastate_33
- if c.ascii == 51 then return dfastate_33
- if c.ascii == 52 then return dfastate_33
- if c.ascii == 53 then return dfastate_33
- if c.ascii == 54 then return dfastate_33
- if c.ascii == 55 then return dfastate_33
- if c.ascii == 56 then return dfastate_33
- if c.ascii == 57 then return dfastate_33
- if c.ascii == 58 then return dfastate_33
- if c.ascii == 59 then return dfastate_33
- if c.ascii == 60 then return dfastate_33
- if c.ascii == 61 then return dfastate_33
- if c.ascii == 62 then return dfastate_33
- if c.ascii == 63 then return dfastate_33
- if c.ascii == 64 then return dfastate_33
- if c.ascii == 65 then return dfastate_33
- if c.ascii == 66 then return dfastate_33
- if c.ascii == 67 then return dfastate_33
- if c.ascii == 68 then return dfastate_33
- if c.ascii == 69 then return dfastate_33
- if c.ascii == 70 then return dfastate_33
- if c.ascii == 71 then return dfastate_33
- if c.ascii == 72 then return dfastate_33
- if c.ascii == 73 then return dfastate_33
- if c.ascii == 74 then return dfastate_33
- if c.ascii == 75 then return dfastate_33
- if c.ascii == 76 then return dfastate_33
- if c.ascii == 77 then return dfastate_33
- if c.ascii == 78 then return dfastate_33
- if c.ascii == 79 then return dfastate_33
- if c.ascii == 80 then return dfastate_33
- if c.ascii == 81 then return dfastate_33
- if c.ascii == 82 then return dfastate_33
- if c.ascii == 83 then return dfastate_33
- if c.ascii == 84 then return dfastate_33
- if c.ascii == 85 then return dfastate_33
- if c.ascii == 86 then return dfastate_33
- if c.ascii == 87 then return dfastate_33
- if c.ascii == 88 then return dfastate_33
- if c.ascii == 89 then return dfastate_33
- if c.ascii == 90 then return dfastate_33
- if c.ascii == 91 then return dfastate_33
- if c.ascii == 92 then return dfastate_34
- if c.ascii == 93 then return dfastate_33
- if c.ascii == 94 then return dfastate_33
- if c.ascii == 95 then return dfastate_33
- if c.ascii == 96 then return dfastate_33
- if c.ascii == 97 then return dfastate_33
- if c.ascii == 98 then return dfastate_33
- if c.ascii == 99 then return dfastate_33
- if c.ascii == 100 then return dfastate_33
- if c.ascii == 101 then return dfastate_33
- if c.ascii == 102 then return dfastate_33
- if c.ascii == 103 then return dfastate_33
- if c.ascii == 104 then return dfastate_33
- if c.ascii == 105 then return dfastate_33
- if c.ascii == 106 then return dfastate_33
- if c.ascii == 107 then return dfastate_33
- if c.ascii == 108 then return dfastate_33
- if c.ascii == 109 then return dfastate_33
- if c.ascii == 110 then return dfastate_33
- if c.ascii == 111 then return dfastate_33
- if c.ascii == 112 then return dfastate_33
- if c.ascii == 113 then return dfastate_33
- if c.ascii == 114 then return dfastate_33
- if c.ascii == 115 then return dfastate_33
- if c.ascii == 116 then return dfastate_33
- if c.ascii == 117 then return dfastate_33
- if c.ascii == 118 then return dfastate_33
- if c.ascii == 119 then return dfastate_33
- if c.ascii == 120 then return dfastate_33
- if c.ascii == 121 then return dfastate_33
- if c.ascii == 122 then return dfastate_33
- if c.ascii == 123 then return dfastate_33
- if c.ascii == 124 then return dfastate_33
- if c.ascii == 125 then return dfastate_33
- if c.ascii == 126 then return dfastate_33
- return null
- end
-end
-class DFAState38
- super DFAState
- redef fun trans(c) do
- if c.ascii == 34 then return dfastate_35
- if c.ascii == 32 then return dfastate_33
- if c.ascii == 33 then return dfastate_33
- if c.ascii == 35 then return dfastate_33
- if c.ascii == 36 then return dfastate_33
- if c.ascii == 37 then return dfastate_33
- if c.ascii == 38 then return dfastate_33
- if c.ascii == 39 then return dfastate_33
- if c.ascii == 40 then return dfastate_33
- if c.ascii == 41 then return dfastate_33
- if c.ascii == 42 then return dfastate_33
- if c.ascii == 43 then return dfastate_33
- if c.ascii == 44 then return dfastate_33
- if c.ascii == 45 then return dfastate_33
- if c.ascii == 46 then return dfastate_33
- if c.ascii == 47 then return dfastate_33
- if c.ascii == 48 then return dfastate_33
- if c.ascii == 49 then return dfastate_33
- if c.ascii == 50 then return dfastate_33
- if c.ascii == 51 then return dfastate_33
- if c.ascii == 52 then return dfastate_33
- if c.ascii == 53 then return dfastate_33
- if c.ascii == 54 then return dfastate_33
- if c.ascii == 55 then return dfastate_33
- if c.ascii == 56 then return dfastate_33
- if c.ascii == 57 then return dfastate_33
- if c.ascii == 58 then return dfastate_33
- if c.ascii == 59 then return dfastate_33
- if c.ascii == 60 then return dfastate_33
- if c.ascii == 61 then return dfastate_33
- if c.ascii == 62 then return dfastate_33
- if c.ascii == 63 then return dfastate_33
- if c.ascii == 64 then return dfastate_33
- if c.ascii == 65 then return dfastate_33
- if c.ascii == 66 then return dfastate_33
- if c.ascii == 67 then return dfastate_33
- if c.ascii == 68 then return dfastate_33
- if c.ascii == 69 then return dfastate_33
- if c.ascii == 70 then return dfastate_33
- if c.ascii == 71 then return dfastate_33
- if c.ascii == 72 then return dfastate_33
- if c.ascii == 73 then return dfastate_33
- if c.ascii == 74 then return dfastate_33
- if c.ascii == 75 then return dfastate_33
- if c.ascii == 76 then return dfastate_33
- if c.ascii == 77 then return dfastate_33
- if c.ascii == 78 then return dfastate_33
- if c.ascii == 79 then return dfastate_33
- if c.ascii == 80 then return dfastate_33
- if c.ascii == 81 then return dfastate_33
- if c.ascii == 82 then return dfastate_33
- if c.ascii == 83 then return dfastate_33
- if c.ascii == 84 then return dfastate_33
- if c.ascii == 85 then return dfastate_33
- if c.ascii == 86 then return dfastate_33
- if c.ascii == 87 then return dfastate_33
- if c.ascii == 88 then return dfastate_33
- if c.ascii == 89 then return dfastate_33
- if c.ascii == 90 then return dfastate_33
- if c.ascii == 91 then return dfastate_33
- if c.ascii == 92 then return dfastate_39
- if c.ascii == 93 then return dfastate_33
- if c.ascii == 94 then return dfastate_33
- if c.ascii == 95 then return dfastate_33
- if c.ascii == 96 then return dfastate_33
- if c.ascii == 97 then return dfastate_33
- if c.ascii == 98 then return dfastate_33
- if c.ascii == 99 then return dfastate_33
- if c.ascii == 100 then return dfastate_33
- if c.ascii == 101 then return dfastate_33
- if c.ascii == 102 then return dfastate_33
- if c.ascii == 103 then return dfastate_33
- if c.ascii == 104 then return dfastate_33
- if c.ascii == 105 then return dfastate_33
- if c.ascii == 106 then return dfastate_33
- if c.ascii == 107 then return dfastate_33
- if c.ascii == 108 then return dfastate_33
- if c.ascii == 109 then return dfastate_33
- if c.ascii == 110 then return dfastate_33
- if c.ascii == 111 then return dfastate_33
- if c.ascii == 112 then return dfastate_33
- if c.ascii == 113 then return dfastate_33
- if c.ascii == 114 then return dfastate_33
- if c.ascii == 115 then return dfastate_33
- if c.ascii == 116 then return dfastate_33
- if c.ascii == 117 then return dfastate_33
- if c.ascii == 118 then return dfastate_33
- if c.ascii == 119 then return dfastate_33
- if c.ascii == 120 then return dfastate_33
- if c.ascii == 121 then return dfastate_33
- if c.ascii == 122 then return dfastate_33
- if c.ascii == 123 then return dfastate_33
- if c.ascii == 124 then return dfastate_33
- if c.ascii == 125 then return dfastate_33
- if c.ascii == 126 then return dfastate_33
- return null
- end
-end
-class DFAState39
- super DFAState
- redef fun trans(c) do
- if c.ascii == 34 then return dfastate_40
- if c.ascii == 32 then return dfastate_36
- if c.ascii == 33 then return dfastate_36
- if c.ascii == 35 then return dfastate_36
- if c.ascii == 36 then return dfastate_36
- if c.ascii == 37 then return dfastate_36
- if c.ascii == 38 then return dfastate_36
- if c.ascii == 39 then return dfastate_36
- if c.ascii == 40 then return dfastate_36
- if c.ascii == 41 then return dfastate_36
- if c.ascii == 42 then return dfastate_36
- if c.ascii == 43 then return dfastate_36
- if c.ascii == 44 then return dfastate_36
- if c.ascii == 45 then return dfastate_36
- if c.ascii == 46 then return dfastate_36
- if c.ascii == 47 then return dfastate_36
- if c.ascii == 48 then return dfastate_36
- if c.ascii == 49 then return dfastate_36
- if c.ascii == 50 then return dfastate_36
- if c.ascii == 51 then return dfastate_36
- if c.ascii == 52 then return dfastate_36
- if c.ascii == 53 then return dfastate_36
- if c.ascii == 54 then return dfastate_36
- if c.ascii == 55 then return dfastate_36
- if c.ascii == 56 then return dfastate_36
- if c.ascii == 57 then return dfastate_36
- if c.ascii == 58 then return dfastate_36
- if c.ascii == 59 then return dfastate_36
- if c.ascii == 60 then return dfastate_36
- if c.ascii == 61 then return dfastate_36
- if c.ascii == 62 then return dfastate_36
- if c.ascii == 63 then return dfastate_36
- if c.ascii == 64 then return dfastate_36
- if c.ascii == 65 then return dfastate_36
- if c.ascii == 66 then return dfastate_36
- if c.ascii == 67 then return dfastate_36
- if c.ascii == 68 then return dfastate_36
- if c.ascii == 69 then return dfastate_36
- if c.ascii == 70 then return dfastate_36
- if c.ascii == 71 then return dfastate_36
- if c.ascii == 72 then return dfastate_36
- if c.ascii == 73 then return dfastate_36
- if c.ascii == 74 then return dfastate_36
- if c.ascii == 75 then return dfastate_36
- if c.ascii == 76 then return dfastate_36
- if c.ascii == 77 then return dfastate_36
- if c.ascii == 78 then return dfastate_36
- if c.ascii == 79 then return dfastate_36
- if c.ascii == 80 then return dfastate_36
- if c.ascii == 81 then return dfastate_36
- if c.ascii == 82 then return dfastate_36
- if c.ascii == 83 then return dfastate_36
- if c.ascii == 84 then return dfastate_36
- if c.ascii == 85 then return dfastate_36
- if c.ascii == 86 then return dfastate_36
- if c.ascii == 87 then return dfastate_36
- if c.ascii == 88 then return dfastate_36
- if c.ascii == 89 then return dfastate_36
- if c.ascii == 90 then return dfastate_36
- if c.ascii == 91 then return dfastate_36
- if c.ascii == 92 then return dfastate_41
- if c.ascii == 93 then return dfastate_36
- if c.ascii == 94 then return dfastate_36
- if c.ascii == 95 then return dfastate_36
- if c.ascii == 96 then return dfastate_36
- if c.ascii == 97 then return dfastate_36
- if c.ascii == 98 then return dfastate_36
- if c.ascii == 99 then return dfastate_36
- if c.ascii == 100 then return dfastate_36
- if c.ascii == 101 then return dfastate_36
- if c.ascii == 102 then return dfastate_36
- if c.ascii == 103 then return dfastate_36
- if c.ascii == 104 then return dfastate_36
- if c.ascii == 105 then return dfastate_36
- if c.ascii == 106 then return dfastate_36
- if c.ascii == 107 then return dfastate_36
- if c.ascii == 108 then return dfastate_36
- if c.ascii == 109 then return dfastate_36
- if c.ascii == 110 then return dfastate_36
- if c.ascii == 111 then return dfastate_36
- if c.ascii == 112 then return dfastate_36
- if c.ascii == 113 then return dfastate_36
- if c.ascii == 114 then return dfastate_36
- if c.ascii == 115 then return dfastate_36
- if c.ascii == 116 then return dfastate_36
- if c.ascii == 117 then return dfastate_36
- if c.ascii == 118 then return dfastate_36
- if c.ascii == 119 then return dfastate_36
- if c.ascii == 120 then return dfastate_36
- if c.ascii == 121 then return dfastate_36
- if c.ascii == 122 then return dfastate_36
- if c.ascii == 123 then return dfastate_36
- if c.ascii == 124 then return dfastate_36
- if c.ascii == 125 then return dfastate_36
- if c.ascii == 126 then return dfastate_36
- return null
- end
-end
-class DFAState40
- super DFAState
- redef fun is_accept do return true
- redef fun make_token(position, text) do
- var t = new Nstring
- t.position = position
- t.text = text
- return t
- end
- redef fun trans(c) do
- if c.ascii == 34 then return dfastate_35
- if c.ascii == 32 then return dfastate_33
- if c.ascii == 33 then return dfastate_33
- if c.ascii == 35 then return dfastate_33
- if c.ascii == 36 then return dfastate_33
- if c.ascii == 37 then return dfastate_33
- if c.ascii == 38 then return dfastate_33
- if c.ascii == 39 then return dfastate_33
- if c.ascii == 40 then return dfastate_33
- if c.ascii == 41 then return dfastate_33
- if c.ascii == 42 then return dfastate_33
- if c.ascii == 43 then return dfastate_33
- if c.ascii == 44 then return dfastate_33
- if c.ascii == 45 then return dfastate_33
- if c.ascii == 46 then return dfastate_33
- if c.ascii == 47 then return dfastate_33
- if c.ascii == 48 then return dfastate_33
- if c.ascii == 49 then return dfastate_33
- if c.ascii == 50 then return dfastate_33
- if c.ascii == 51 then return dfastate_33
- if c.ascii == 52 then return dfastate_33
- if c.ascii == 53 then return dfastate_33
- if c.ascii == 54 then return dfastate_33
- if c.ascii == 55 then return dfastate_33
- if c.ascii == 56 then return dfastate_33
- if c.ascii == 57 then return dfastate_33
- if c.ascii == 58 then return dfastate_33
- if c.ascii == 59 then return dfastate_33
- if c.ascii == 60 then return dfastate_33
- if c.ascii == 61 then return dfastate_33
- if c.ascii == 62 then return dfastate_33
- if c.ascii == 63 then return dfastate_33
- if c.ascii == 64 then return dfastate_33
- if c.ascii == 65 then return dfastate_33
- if c.ascii == 66 then return dfastate_33
- if c.ascii == 67 then return dfastate_33
- if c.ascii == 68 then return dfastate_33
- if c.ascii == 69 then return dfastate_33
- if c.ascii == 70 then return dfastate_33
- if c.ascii == 71 then return dfastate_33
- if c.ascii == 72 then return dfastate_33
- if c.ascii == 73 then return dfastate_33
- if c.ascii == 74 then return dfastate_33
- if c.ascii == 75 then return dfastate_33
- if c.ascii == 76 then return dfastate_33
- if c.ascii == 77 then return dfastate_33
- if c.ascii == 78 then return dfastate_33
- if c.ascii == 79 then return dfastate_33
- if c.ascii == 80 then return dfastate_33
- if c.ascii == 81 then return dfastate_33
- if c.ascii == 82 then return dfastate_33
- if c.ascii == 83 then return dfastate_33
- if c.ascii == 84 then return dfastate_33
- if c.ascii == 85 then return dfastate_33
- if c.ascii == 86 then return dfastate_33
- if c.ascii == 87 then return dfastate_33
- if c.ascii == 88 then return dfastate_33
- if c.ascii == 89 then return dfastate_33
- if c.ascii == 90 then return dfastate_33
- if c.ascii == 91 then return dfastate_33
- if c.ascii == 92 then return dfastate_34
- if c.ascii == 93 then return dfastate_33
- if c.ascii == 94 then return dfastate_33
- if c.ascii == 95 then return dfastate_33
- if c.ascii == 96 then return dfastate_33
- if c.ascii == 97 then return dfastate_33
- if c.ascii == 98 then return dfastate_33
- if c.ascii == 99 then return dfastate_33
- if c.ascii == 100 then return dfastate_33
- if c.ascii == 101 then return dfastate_33
- if c.ascii == 102 then return dfastate_33
- if c.ascii == 103 then return dfastate_33
- if c.ascii == 104 then return dfastate_33
- if c.ascii == 105 then return dfastate_33
- if c.ascii == 106 then return dfastate_33
- if c.ascii == 107 then return dfastate_33
- if c.ascii == 108 then return dfastate_33
- if c.ascii == 109 then return dfastate_33
- if c.ascii == 110 then return dfastate_33
- if c.ascii == 111 then return dfastate_33
- if c.ascii == 112 then return dfastate_33
- if c.ascii == 113 then return dfastate_33
- if c.ascii == 114 then return dfastate_33
- if c.ascii == 115 then return dfastate_33
- if c.ascii == 116 then return dfastate_33
- if c.ascii == 117 then return dfastate_33
- if c.ascii == 118 then return dfastate_33
- if c.ascii == 119 then return dfastate_33
- if c.ascii == 120 then return dfastate_33
- if c.ascii == 121 then return dfastate_33
- if c.ascii == 122 then return dfastate_33
- if c.ascii == 123 then return dfastate_33
- if c.ascii == 124 then return dfastate_33
- if c.ascii == 125 then return dfastate_33
- if c.ascii == 126 then return dfastate_33
- return null
- end
-end
-class DFAState41
- super DFAState
- redef fun trans(c) do
- if c.ascii == 34 then return dfastate_40
- if c.ascii == 32 then return dfastate_36
- if c.ascii == 33 then return dfastate_36
- if c.ascii == 35 then return dfastate_36
- if c.ascii == 36 then return dfastate_36
- if c.ascii == 37 then return dfastate_36
- if c.ascii == 38 then return dfastate_36
- if c.ascii == 39 then return dfastate_36
- if c.ascii == 40 then return dfastate_36
- if c.ascii == 41 then return dfastate_36
- if c.ascii == 42 then return dfastate_36
- if c.ascii == 43 then return dfastate_36
- if c.ascii == 44 then return dfastate_36
- if c.ascii == 45 then return dfastate_36
- if c.ascii == 46 then return dfastate_36
- if c.ascii == 47 then return dfastate_36
- if c.ascii == 48 then return dfastate_36
- if c.ascii == 49 then return dfastate_36
- if c.ascii == 50 then return dfastate_36
- if c.ascii == 51 then return dfastate_36
- if c.ascii == 52 then return dfastate_36
- if c.ascii == 53 then return dfastate_36
- if c.ascii == 54 then return dfastate_36
- if c.ascii == 55 then return dfastate_36
- if c.ascii == 56 then return dfastate_36
- if c.ascii == 57 then return dfastate_36
- if c.ascii == 58 then return dfastate_36
- if c.ascii == 59 then return dfastate_36
- if c.ascii == 60 then return dfastate_36
- if c.ascii == 61 then return dfastate_36
- if c.ascii == 62 then return dfastate_36
- if c.ascii == 63 then return dfastate_36
- if c.ascii == 64 then return dfastate_36
- if c.ascii == 65 then return dfastate_36
- if c.ascii == 66 then return dfastate_36
- if c.ascii == 67 then return dfastate_36
- if c.ascii == 68 then return dfastate_36
- if c.ascii == 69 then return dfastate_36
- if c.ascii == 70 then return dfastate_36
- if c.ascii == 71 then return dfastate_36
- if c.ascii == 72 then return dfastate_36
- if c.ascii == 73 then return dfastate_36
- if c.ascii == 74 then return dfastate_36
- if c.ascii == 75 then return dfastate_36
- if c.ascii == 76 then return dfastate_36
- if c.ascii == 77 then return dfastate_36
- if c.ascii == 78 then return dfastate_36
- if c.ascii == 79 then return dfastate_36
- if c.ascii == 80 then return dfastate_36
- if c.ascii == 81 then return dfastate_36
- if c.ascii == 82 then return dfastate_36
- if c.ascii == 83 then return dfastate_36
- if c.ascii == 84 then return dfastate_36
- if c.ascii == 85 then return dfastate_36
- if c.ascii == 86 then return dfastate_36
- if c.ascii == 87 then return dfastate_36
- if c.ascii == 88 then return dfastate_36
- if c.ascii == 89 then return dfastate_36
- if c.ascii == 90 then return dfastate_36
- if c.ascii == 91 then return dfastate_36
- if c.ascii == 92 then return dfastate_41
- if c.ascii == 93 then return dfastate_36
- if c.ascii == 94 then return dfastate_36
- if c.ascii == 95 then return dfastate_36
- if c.ascii == 96 then return dfastate_36
- if c.ascii == 97 then return dfastate_36
- if c.ascii == 98 then return dfastate_36
- if c.ascii == 99 then return dfastate_36
- if c.ascii == 100 then return dfastate_36
- if c.ascii == 101 then return dfastate_36
- if c.ascii == 102 then return dfastate_36
- if c.ascii == 103 then return dfastate_36
- if c.ascii == 104 then return dfastate_36
- if c.ascii == 105 then return dfastate_36
- if c.ascii == 106 then return dfastate_36
- if c.ascii == 107 then return dfastate_36
- if c.ascii == 108 then return dfastate_36
- if c.ascii == 109 then return dfastate_36
- if c.ascii == 110 then return dfastate_36
- if c.ascii == 111 then return dfastate_36
- if c.ascii == 112 then return dfastate_36
- if c.ascii == 113 then return dfastate_36
- if c.ascii == 114 then return dfastate_36
- if c.ascii == 115 then return dfastate_36
- if c.ascii == 116 then return dfastate_36
- if c.ascii == 117 then return dfastate_36
- if c.ascii == 118 then return dfastate_36
- if c.ascii == 119 then return dfastate_36
- if c.ascii == 120 then return dfastate_36
- if c.ascii == 121 then return dfastate_36
- if c.ascii == 122 then return dfastate_36
- if c.ascii == 123 then return dfastate_36
- if c.ascii == 124 then return dfastate_36
- if c.ascii == 125 then return dfastate_36
- if c.ascii == 126 then return dfastate_36
- return null
- end
-end
-class DFAState42
- super DFAState
- redef fun trans(c) do
- if c.ascii == 34 then return dfastate_35
- if c.ascii == 32 then return dfastate_33
- if c.ascii == 33 then return dfastate_33
- if c.ascii == 35 then return dfastate_33
- if c.ascii == 36 then return dfastate_33
- if c.ascii == 37 then return dfastate_33
- if c.ascii == 38 then return dfastate_33
- if c.ascii == 39 then return dfastate_33
- if c.ascii == 40 then return dfastate_33
- if c.ascii == 41 then return dfastate_33
- if c.ascii == 42 then return dfastate_33
- if c.ascii == 43 then return dfastate_33
- if c.ascii == 44 then return dfastate_33
- if c.ascii == 45 then return dfastate_33
- if c.ascii == 46 then return dfastate_33
- if c.ascii == 47 then return dfastate_33
- if c.ascii == 48 then return dfastate_33
- if c.ascii == 49 then return dfastate_33
- if c.ascii == 50 then return dfastate_33
- if c.ascii == 51 then return dfastate_33
- if c.ascii == 52 then return dfastate_33
- if c.ascii == 53 then return dfastate_33
- if c.ascii == 54 then return dfastate_33
- if c.ascii == 55 then return dfastate_33
- if c.ascii == 56 then return dfastate_33
- if c.ascii == 57 then return dfastate_33
- if c.ascii == 58 then return dfastate_33
- if c.ascii == 59 then return dfastate_33
- if c.ascii == 60 then return dfastate_33
- if c.ascii == 61 then return dfastate_33
- if c.ascii == 62 then return dfastate_33
- if c.ascii == 63 then return dfastate_33
- if c.ascii == 64 then return dfastate_33
- if c.ascii == 65 then return dfastate_33
- if c.ascii == 66 then return dfastate_33
- if c.ascii == 67 then return dfastate_33
- if c.ascii == 68 then return dfastate_33
- if c.ascii == 69 then return dfastate_33
- if c.ascii == 70 then return dfastate_33
- if c.ascii == 71 then return dfastate_33
- if c.ascii == 72 then return dfastate_33
- if c.ascii == 73 then return dfastate_33
- if c.ascii == 74 then return dfastate_33
- if c.ascii == 75 then return dfastate_33
- if c.ascii == 76 then return dfastate_33
- if c.ascii == 77 then return dfastate_33
- if c.ascii == 78 then return dfastate_33
- if c.ascii == 79 then return dfastate_33
- if c.ascii == 80 then return dfastate_33
- if c.ascii == 81 then return dfastate_33
- if c.ascii == 82 then return dfastate_33
- if c.ascii == 83 then return dfastate_33
- if c.ascii == 84 then return dfastate_33
- if c.ascii == 85 then return dfastate_33
- if c.ascii == 86 then return dfastate_33
- if c.ascii == 87 then return dfastate_33
- if c.ascii == 88 then return dfastate_33
- if c.ascii == 89 then return dfastate_33
- if c.ascii == 90 then return dfastate_33
- if c.ascii == 91 then return dfastate_33
- if c.ascii == 92 then return dfastate_39
- if c.ascii == 93 then return dfastate_33
- if c.ascii == 94 then return dfastate_33
- if c.ascii == 95 then return dfastate_33
- if c.ascii == 96 then return dfastate_33
- if c.ascii == 97 then return dfastate_33
- if c.ascii == 98 then return dfastate_33
- if c.ascii == 99 then return dfastate_33
- if c.ascii == 100 then return dfastate_33
- if c.ascii == 101 then return dfastate_33
- if c.ascii == 102 then return dfastate_33
- if c.ascii == 103 then return dfastate_33
- if c.ascii == 104 then return dfastate_33
- if c.ascii == 105 then return dfastate_33
- if c.ascii == 106 then return dfastate_33
- if c.ascii == 107 then return dfastate_33
- if c.ascii == 108 then return dfastate_33
- if c.ascii == 109 then return dfastate_33
- if c.ascii == 110 then return dfastate_33
- if c.ascii == 111 then return dfastate_33
- if c.ascii == 112 then return dfastate_33
- if c.ascii == 113 then return dfastate_33
- if c.ascii == 114 then return dfastate_33
- if c.ascii == 115 then return dfastate_33
- if c.ascii == 116 then return dfastate_33
- if c.ascii == 117 then return dfastate_33
- if c.ascii == 118 then return dfastate_33
- if c.ascii == 119 then return dfastate_33
- if c.ascii == 120 then return dfastate_33
- if c.ascii == 121 then return dfastate_33
- if c.ascii == 122 then return dfastate_33
- if c.ascii == 123 then return dfastate_33
- if c.ascii == 124 then return dfastate_33
- if c.ascii == 125 then return dfastate_33
- if c.ascii == 126 then return dfastate_33
- return null
- end
-end
-class DFAState43
- super DFAState
- redef fun trans(c) do
- if c.ascii == 113 then return dfastate_95
- if c.ascii == 81 then return dfastate_96
- if c.ascii == 110 then return dfastate_97
- if c.ascii == 78 then return dfastate_98
- return null
- end
-end
-class DFAState44
- super DFAState
- redef fun trans(c) do
- if c.ascii == 113 then return dfastate_95
- if c.ascii == 81 then return dfastate_96
- if c.ascii == 110 then return dfastate_97
- if c.ascii == 78 then return dfastate_98
- return null
- end
-end
-class DFAState45
- super DFAState
- redef fun trans(c) do
- if c.ascii == 117 then return dfastate_75
- if c.ascii == 85 then return dfastate_76
- if c.ascii == 108 then return dfastate_77
- if c.ascii == 76 then return dfastate_78
- if c.ascii == 121 then return dfastate_79
- if c.ascii == 89 then return dfastate_80
- return null
- end
-end
-class DFAState46
- super DFAState
- redef fun trans(c) do
- if c.ascii == 117 then return dfastate_75
- if c.ascii == 85 then return dfastate_76
- if c.ascii == 108 then return dfastate_77
- if c.ascii == 76 then return dfastate_78
- if c.ascii == 121 then return dfastate_79
- if c.ascii == 89 then return dfastate_80
- return null
- end
-end
-class DFAState47
- super DFAState
- redef fun trans(c) do
- if c.ascii == 111 then return dfastate_69
- if c.ascii == 79 then return dfastate_70
- return null
- end
-end
-class DFAState48
- super DFAState
- redef fun trans(c) do
- if c.ascii == 111 then return dfastate_69
- if c.ascii == 79 then return dfastate_70
- return null
- end
-end
-class DFAState49
- super DFAState
- redef fun trans(c) do
- if c.ascii == 100 then return dfastate_51
- if c.ascii == 68 then return dfastate_52
- if c.ascii == 115 then return dfastate_53
- if c.ascii == 83 then return dfastate_54
- return null
- end
-end
-class DFAState50
- super DFAState
- redef fun trans(c) do
- if c.ascii == 100 then return dfastate_51
- if c.ascii == 68 then return dfastate_52
- if c.ascii == 115 then return dfastate_53
- if c.ascii == 83 then return dfastate_54
- return null
- end
-end
-class DFAState51
- super DFAState
- redef fun trans(c) do
- if c.ascii == 100 then return dfastate_61
- if c.ascii == 68 then return dfastate_62
- return null
- end
-end
-class DFAState52
- super DFAState
- redef fun trans(c) do
- if c.ascii == 100 then return dfastate_61
- if c.ascii == 68 then return dfastate_62
- return null
- end
-end
-class DFAState53
- super DFAState
- redef fun trans(c) do
- if c.ascii == 99 then return dfastate_55
- if c.ascii == 67 then return dfastate_56
- return null
- end
-end
-class DFAState54
- super DFAState
- redef fun trans(c) do
- if c.ascii == 99 then return dfastate_55
- if c.ascii == 67 then return dfastate_56
- return null
- end
-end
-class DFAState55
- super DFAState
- redef fun trans(c) do
- if c.ascii == 105 then return dfastate_57
- if c.ascii == 73 then return dfastate_58
- return null
- end
-end
-class DFAState56
- super DFAState
- redef fun trans(c) do
- if c.ascii == 105 then return dfastate_57
- if c.ascii == 73 then return dfastate_58
- return null
- end
-end
-class DFAState57
- super DFAState
- redef fun trans(c) do
- if c.ascii == 105 then return dfastate_59
- if c.ascii == 73 then return dfastate_60
- return null
- end
-end
-class DFAState58
- super DFAState
- redef fun trans(c) do
- if c.ascii == 105 then return dfastate_59
- if c.ascii == 73 then return dfastate_60
- return null
- end
-end
-class DFAState59
- super DFAState
- redef fun is_accept do return true
- redef fun make_token(position, text) do
- var t = new Ntk_ascii
- t.position = position
- t.text = text
- return t
- end
-end
-class DFAState60
- super DFAState
- redef fun is_accept do return true
- redef fun make_token(position, text) do
- var t = new Ntk_ascii
- t.position = position
- t.text = text
- return t
- end
-end
-class DFAState61
- super DFAState
- redef fun trans(c) do
- if c.ascii == 114 then return dfastate_63
- if c.ascii == 82 then return dfastate_64
- return null
- end
-end
-class DFAState62
- super DFAState
- redef fun trans(c) do
- if c.ascii == 114 then return dfastate_63
- if c.ascii == 82 then return dfastate_64
- return null
- end
-end
-class DFAState63
- super DFAState
- redef fun trans(c) do
- if c.ascii == 115 then return dfastate_65
- if c.ascii == 83 then return dfastate_66
- return null
- end
-end
-class DFAState64
- super DFAState
- redef fun trans(c) do
- if c.ascii == 115 then return dfastate_65
- if c.ascii == 83 then return dfastate_66
- return null
- end
-end
-class DFAState65
- super DFAState
- redef fun trans(c) do
- if c.ascii == 115 then return dfastate_67
- if c.ascii == 83 then return dfastate_68
- return null
- end
-end
-class DFAState66
- super DFAState
- redef fun trans(c) do
- if c.ascii == 115 then return dfastate_67
- if c.ascii == 83 then return dfastate_68
- return null
- end
-end
-class DFAState67
- super DFAState
- redef fun is_accept do return true
- redef fun make_token(position, text) do
- var t = new Ntk_addrss
- t.position = position
- t.text = text
- return t
- end
-end
-class DFAState68
- super DFAState
- redef fun is_accept do return true
- redef fun make_token(position, text) do
- var t = new Ntk_addrss
- t.position = position
- t.text = text
- return t
- end
-end
-class DFAState69
- super DFAState
- redef fun trans(c) do
- if c.ascii == 114 then return dfastate_71
- if c.ascii == 82 then return dfastate_72
- return null
- end
-end
-class DFAState70
- super DFAState
- redef fun trans(c) do
- if c.ascii == 114 then return dfastate_71
- if c.ascii == 82 then return dfastate_72
- return null
- end
-end
-class DFAState71
- super DFAState
- redef fun trans(c) do
- if c.ascii == 100 then return dfastate_73
- if c.ascii == 68 then return dfastate_74
- return null
- end
-end
-class DFAState72
- super DFAState
- redef fun trans(c) do
- if c.ascii == 100 then return dfastate_73
- if c.ascii == 68 then return dfastate_74
- return null
- end
-end
-class DFAState73
- super DFAState
- redef fun is_accept do return true
- redef fun make_token(position, text) do
- var t = new Ntk_word
- t.position = position
- t.text = text
- return t
- end
-end
-class DFAState74
- super DFAState
- redef fun is_accept do return true
- redef fun make_token(position, text) do
- var t = new Ntk_word
- t.position = position
- t.text = text
- return t
- end
-end
-class DFAState75
- super DFAState
- redef fun trans(c) do
- if c.ascii == 114 then return dfastate_91
- if c.ascii == 82 then return dfastate_92
- return null
- end
-end
-class DFAState76
- super DFAState
- redef fun trans(c) do
- if c.ascii == 114 then return dfastate_91
- if c.ascii == 82 then return dfastate_92
- return null
- end
-end
-class DFAState77
- super DFAState
- redef fun trans(c) do
- if c.ascii == 111 then return dfastate_85
- if c.ascii == 79 then return dfastate_86
- return null
- end
-end
-class DFAState78
- super DFAState
- redef fun trans(c) do
- if c.ascii == 111 then return dfastate_85
- if c.ascii == 79 then return dfastate_86
- return null
- end
-end
-class DFAState79
- super DFAState
- redef fun trans(c) do
- if c.ascii == 116 then return dfastate_81
- if c.ascii == 84 then return dfastate_82
- return null
- end
-end
-class DFAState80
- super DFAState
- redef fun trans(c) do
- if c.ascii == 116 then return dfastate_81
- if c.ascii == 84 then return dfastate_82
- return null
- end
-end
-class DFAState81
- super DFAState
- redef fun trans(c) do
- if c.ascii == 101 then return dfastate_83
- if c.ascii == 69 then return dfastate_84
- return null
- end
-end
-class DFAState82
- super DFAState
- redef fun trans(c) do
- if c.ascii == 101 then return dfastate_83
- if c.ascii == 69 then return dfastate_84
- return null
- end
-end
-class DFAState83
- super DFAState
- redef fun is_accept do return true
- redef fun make_token(position, text) do
- var t = new Ntk_byte
- t.position = position
- t.text = text
- return t
- end
-end
-class DFAState84
- super DFAState
- redef fun is_accept do return true
- redef fun make_token(position, text) do
- var t = new Ntk_byte
- t.position = position
- t.text = text
- return t
- end
-end
-class DFAState85
- super DFAState
- redef fun trans(c) do
- if c.ascii == 99 then return dfastate_87
- if c.ascii == 67 then return dfastate_88
- return null
- end
-end
-class DFAState86
- super DFAState
- redef fun trans(c) do
- if c.ascii == 99 then return dfastate_87
- if c.ascii == 67 then return dfastate_88
- return null
- end
-end
-class DFAState87
- super DFAState
- redef fun trans(c) do
- if c.ascii == 107 then return dfastate_89
- if c.ascii == 75 then return dfastate_90
- return null
- end
-end
-class DFAState88
- super DFAState
- redef fun trans(c) do
- if c.ascii == 107 then return dfastate_89
- if c.ascii == 75 then return dfastate_90
- return null
- end
-end
-class DFAState89
- super DFAState
- redef fun is_accept do return true
- redef fun make_token(position, text) do
- var t = new Ntk_block
- t.position = position
- t.text = text
- return t
- end
-end
-class DFAState90
- super DFAState
- redef fun is_accept do return true
- redef fun make_token(position, text) do
- var t = new Ntk_block
- t.position = position
- t.text = text
- return t
- end
-end
-class DFAState91
- super DFAState
- redef fun trans(c) do
- if c.ascii == 110 then return dfastate_93
- if c.ascii == 78 then return dfastate_94
- return null
- end
-end
-class DFAState92
- super DFAState
- redef fun trans(c) do
- if c.ascii == 110 then return dfastate_93
- if c.ascii == 78 then return dfastate_94
- return null
- end
-end
-class DFAState93
- super DFAState
- redef fun is_accept do return true
- redef fun make_token(position, text) do
- var t = new Ntk_burn
- t.position = position
- t.text = text
- return t
- end
-end
-class DFAState94
- super DFAState
- redef fun is_accept do return true
- redef fun make_token(position, text) do
- var t = new Ntk_burn
- t.position = position
- t.text = text
- return t
- end
-end
-class DFAState95
- super DFAState
- redef fun trans(c) do
- if c.ascii == 117 then return dfastate_105
- if c.ascii == 85 then return dfastate_106
- return null
- end
-end
-class DFAState96
- super DFAState
- redef fun trans(c) do
- if c.ascii == 117 then return dfastate_105
- if c.ascii == 85 then return dfastate_106
- return null
- end
-end
-class DFAState97
- super DFAState
- redef fun trans(c) do
- if c.ascii == 100 then return dfastate_99
- if c.ascii == 68 then return dfastate_100
- return null
- end
-end
-class DFAState98
- super DFAState
- redef fun trans(c) do
- if c.ascii == 100 then return dfastate_99
- if c.ascii == 68 then return dfastate_100
- return null
- end
-end
-class DFAState99
- super DFAState
- redef fun is_accept do return true
- redef fun make_token(position, text) do
- var t = new Nend_block
- t.position = position
- t.text = text
- return t
- end
- redef fun trans(c) do
- if c.ascii == 32 then return dfastate_101
- if c.ascii == 33 then return dfastate_101
- if c.ascii == 34 then return dfastate_101
- if c.ascii == 35 then return dfastate_101
- if c.ascii == 36 then return dfastate_101
- if c.ascii == 37 then return dfastate_101
- if c.ascii == 38 then return dfastate_101
- if c.ascii == 39 then return dfastate_101
- if c.ascii == 40 then return dfastate_101
- if c.ascii == 41 then return dfastate_101
- if c.ascii == 42 then return dfastate_101
- if c.ascii == 43 then return dfastate_101
- if c.ascii == 44 then return dfastate_101
- if c.ascii == 45 then return dfastate_101
- if c.ascii == 46 then return dfastate_101
- if c.ascii == 47 then return dfastate_101
- if c.ascii == 48 then return dfastate_101
- if c.ascii == 49 then return dfastate_101
- if c.ascii == 50 then return dfastate_101
- if c.ascii == 51 then return dfastate_101
- if c.ascii == 52 then return dfastate_101
- if c.ascii == 53 then return dfastate_101
- if c.ascii == 54 then return dfastate_101
- if c.ascii == 55 then return dfastate_101
- if c.ascii == 56 then return dfastate_101
- if c.ascii == 57 then return dfastate_101
- if c.ascii == 58 then return dfastate_101
- if c.ascii == 59 then return dfastate_101
- if c.ascii == 60 then return dfastate_101
- if c.ascii == 61 then return dfastate_101
- if c.ascii == 62 then return dfastate_101
- if c.ascii == 63 then return dfastate_101
- if c.ascii == 64 then return dfastate_101
- if c.ascii == 65 then return dfastate_101
- if c.ascii == 66 then return dfastate_101
- if c.ascii == 67 then return dfastate_101
- if c.ascii == 68 then return dfastate_101
- if c.ascii == 69 then return dfastate_101
- if c.ascii == 70 then return dfastate_101
- if c.ascii == 71 then return dfastate_101
- if c.ascii == 72 then return dfastate_101
- if c.ascii == 73 then return dfastate_101
- if c.ascii == 74 then return dfastate_101
- if c.ascii == 75 then return dfastate_101
- if c.ascii == 76 then return dfastate_101
- if c.ascii == 77 then return dfastate_101
- if c.ascii == 78 then return dfastate_101
- if c.ascii == 79 then return dfastate_101
- if c.ascii == 80 then return dfastate_101
- if c.ascii == 81 then return dfastate_101
- if c.ascii == 82 then return dfastate_101
- if c.ascii == 83 then return dfastate_101
- if c.ascii == 84 then return dfastate_101
- if c.ascii == 85 then return dfastate_101
- if c.ascii == 86 then return dfastate_101
- if c.ascii == 87 then return dfastate_101
- if c.ascii == 88 then return dfastate_101
- if c.ascii == 89 then return dfastate_101
- if c.ascii == 90 then return dfastate_101
- if c.ascii == 91 then return dfastate_101
- if c.ascii == 92 then return dfastate_101
- if c.ascii == 93 then return dfastate_101
- if c.ascii == 94 then return dfastate_101
- if c.ascii == 95 then return dfastate_101
- if c.ascii == 96 then return dfastate_101
- if c.ascii == 97 then return dfastate_101
- if c.ascii == 98 then return dfastate_101
- if c.ascii == 99 then return dfastate_101
- if c.ascii == 100 then return dfastate_101
- if c.ascii == 101 then return dfastate_101
- if c.ascii == 102 then return dfastate_101
- if c.ascii == 103 then return dfastate_101
- if c.ascii == 104 then return dfastate_101
- if c.ascii == 105 then return dfastate_101
- if c.ascii == 106 then return dfastate_101
- if c.ascii == 107 then return dfastate_101
- if c.ascii == 108 then return dfastate_101
- if c.ascii == 109 then return dfastate_101
- if c.ascii == 110 then return dfastate_101
- if c.ascii == 111 then return dfastate_101
- if c.ascii == 112 then return dfastate_101
- if c.ascii == 113 then return dfastate_101
- if c.ascii == 114 then return dfastate_101
- if c.ascii == 115 then return dfastate_101
- if c.ascii == 116 then return dfastate_101
- if c.ascii == 117 then return dfastate_101
- if c.ascii == 118 then return dfastate_101
- if c.ascii == 119 then return dfastate_101
- if c.ascii == 120 then return dfastate_101
- if c.ascii == 121 then return dfastate_101
- if c.ascii == 122 then return dfastate_101
- if c.ascii == 123 then return dfastate_101
- if c.ascii == 124 then return dfastate_101
- if c.ascii == 125 then return dfastate_101
- if c.ascii == 126 then return dfastate_101
- if c.ascii == 13 then return dfastate_102
- if c.ascii == 10 then return dfastate_103
- return null
- end
-end
-class DFAState100
- super DFAState
- redef fun is_accept do return true
- redef fun make_token(position, text) do
- var t = new Nend_block
- t.position = position
- t.text = text
- return t
- end
- redef fun trans(c) do
- if c.ascii == 32 then return dfastate_101
- if c.ascii == 33 then return dfastate_101
- if c.ascii == 34 then return dfastate_101
- if c.ascii == 35 then return dfastate_101
- if c.ascii == 36 then return dfastate_101
- if c.ascii == 37 then return dfastate_101
- if c.ascii == 38 then return dfastate_101
- if c.ascii == 39 then return dfastate_101
- if c.ascii == 40 then return dfastate_101
- if c.ascii == 41 then return dfastate_101
- if c.ascii == 42 then return dfastate_101
- if c.ascii == 43 then return dfastate_101
- if c.ascii == 44 then return dfastate_101
- if c.ascii == 45 then return dfastate_101
- if c.ascii == 46 then return dfastate_101
- if c.ascii == 47 then return dfastate_101
- if c.ascii == 48 then return dfastate_101
- if c.ascii == 49 then return dfastate_101
- if c.ascii == 50 then return dfastate_101
- if c.ascii == 51 then return dfastate_101
- if c.ascii == 52 then return dfastate_101
- if c.ascii == 53 then return dfastate_101
- if c.ascii == 54 then return dfastate_101
- if c.ascii == 55 then return dfastate_101
- if c.ascii == 56 then return dfastate_101
- if c.ascii == 57 then return dfastate_101
- if c.ascii == 58 then return dfastate_101
- if c.ascii == 59 then return dfastate_101
- if c.ascii == 60 then return dfastate_101
- if c.ascii == 61 then return dfastate_101
- if c.ascii == 62 then return dfastate_101
- if c.ascii == 63 then return dfastate_101
- if c.ascii == 64 then return dfastate_101
- if c.ascii == 65 then return dfastate_101
- if c.ascii == 66 then return dfastate_101
- if c.ascii == 67 then return dfastate_101
- if c.ascii == 68 then return dfastate_101
- if c.ascii == 69 then return dfastate_101
- if c.ascii == 70 then return dfastate_101
- if c.ascii == 71 then return dfastate_101
- if c.ascii == 72 then return dfastate_101
- if c.ascii == 73 then return dfastate_101
- if c.ascii == 74 then return dfastate_101
- if c.ascii == 75 then return dfastate_101
- if c.ascii == 76 then return dfastate_101
- if c.ascii == 77 then return dfastate_101
- if c.ascii == 78 then return dfastate_101
- if c.ascii == 79 then return dfastate_101
- if c.ascii == 80 then return dfastate_101
- if c.ascii == 81 then return dfastate_101
- if c.ascii == 82 then return dfastate_101
- if c.ascii == 83 then return dfastate_101
- if c.ascii == 84 then return dfastate_101
- if c.ascii == 85 then return dfastate_101
- if c.ascii == 86 then return dfastate_101
- if c.ascii == 87 then return dfastate_101
- if c.ascii == 88 then return dfastate_101
- if c.ascii == 89 then return dfastate_101
- if c.ascii == 90 then return dfastate_101
- if c.ascii == 91 then return dfastate_101
- if c.ascii == 92 then return dfastate_101
- if c.ascii == 93 then return dfastate_101
- if c.ascii == 94 then return dfastate_101
- if c.ascii == 95 then return dfastate_101
- if c.ascii == 96 then return dfastate_101
- if c.ascii == 97 then return dfastate_101
- if c.ascii == 98 then return dfastate_101
- if c.ascii == 99 then return dfastate_101
- if c.ascii == 100 then return dfastate_101
- if c.ascii == 101 then return dfastate_101
- if c.ascii == 102 then return dfastate_101
- if c.ascii == 103 then return dfastate_101
- if c.ascii == 104 then return dfastate_101
- if c.ascii == 105 then return dfastate_101
- if c.ascii == 106 then return dfastate_101
- if c.ascii == 107 then return dfastate_101
- if c.ascii == 108 then return dfastate_101
- if c.ascii == 109 then return dfastate_101
- if c.ascii == 110 then return dfastate_101
- if c.ascii == 111 then return dfastate_101
- if c.ascii == 112 then return dfastate_101
- if c.ascii == 113 then return dfastate_101
- if c.ascii == 114 then return dfastate_101
- if c.ascii == 115 then return dfastate_101
- if c.ascii == 116 then return dfastate_101
- if c.ascii == 117 then return dfastate_101
- if c.ascii == 118 then return dfastate_101
- if c.ascii == 119 then return dfastate_101
- if c.ascii == 120 then return dfastate_101
- if c.ascii == 121 then return dfastate_101
- if c.ascii == 122 then return dfastate_101
- if c.ascii == 123 then return dfastate_101
- if c.ascii == 124 then return dfastate_101
- if c.ascii == 125 then return dfastate_101
- if c.ascii == 126 then return dfastate_101
- if c.ascii == 13 then return dfastate_102
- if c.ascii == 10 then return dfastate_103
- return null
- end
-end
-class DFAState101
- super DFAState
- redef fun is_accept do return true
- redef fun make_token(position, text) do
- var t = new Nend_block
- t.position = position
- t.text = text
- return t
- end
- redef fun trans(c) do
- if c.ascii == 32 then return dfastate_101
- if c.ascii == 33 then return dfastate_101
- if c.ascii == 34 then return dfastate_101
- if c.ascii == 35 then return dfastate_101
- if c.ascii == 36 then return dfastate_101
- if c.ascii == 37 then return dfastate_101
- if c.ascii == 38 then return dfastate_101
- if c.ascii == 39 then return dfastate_101
- if c.ascii == 40 then return dfastate_101
- if c.ascii == 41 then return dfastate_101
- if c.ascii == 42 then return dfastate_101
- if c.ascii == 43 then return dfastate_101
- if c.ascii == 44 then return dfastate_101
- if c.ascii == 45 then return dfastate_101
- if c.ascii == 46 then return dfastate_101
- if c.ascii == 47 then return dfastate_101
- if c.ascii == 48 then return dfastate_101
- if c.ascii == 49 then return dfastate_101
- if c.ascii == 50 then return dfastate_101
- if c.ascii == 51 then return dfastate_101
- if c.ascii == 52 then return dfastate_101
- if c.ascii == 53 then return dfastate_101
- if c.ascii == 54 then return dfastate_101
- if c.ascii == 55 then return dfastate_101
- if c.ascii == 56 then return dfastate_101
- if c.ascii == 57 then return dfastate_101
- if c.ascii == 58 then return dfastate_101
- if c.ascii == 59 then return dfastate_101
- if c.ascii == 60 then return dfastate_101
- if c.ascii == 61 then return dfastate_101
- if c.ascii == 62 then return dfastate_101
- if c.ascii == 63 then return dfastate_101
- if c.ascii == 64 then return dfastate_101
- if c.ascii == 65 then return dfastate_101
- if c.ascii == 66 then return dfastate_101
- if c.ascii == 67 then return dfastate_101
- if c.ascii == 68 then return dfastate_101
- if c.ascii == 69 then return dfastate_101
- if c.ascii == 70 then return dfastate_101
- if c.ascii == 71 then return dfastate_101
- if c.ascii == 72 then return dfastate_101
- if c.ascii == 73 then return dfastate_101
- if c.ascii == 74 then return dfastate_101
- if c.ascii == 75 then return dfastate_101
- if c.ascii == 76 then return dfastate_101
- if c.ascii == 77 then return dfastate_101
- if c.ascii == 78 then return dfastate_101
- if c.ascii == 79 then return dfastate_101
- if c.ascii == 80 then return dfastate_101
- if c.ascii == 81 then return dfastate_101
- if c.ascii == 82 then return dfastate_101
- if c.ascii == 83 then return dfastate_101
- if c.ascii == 84 then return dfastate_101
- if c.ascii == 85 then return dfastate_101
- if c.ascii == 86 then return dfastate_101
- if c.ascii == 87 then return dfastate_101
- if c.ascii == 88 then return dfastate_101
- if c.ascii == 89 then return dfastate_101
- if c.ascii == 90 then return dfastate_101
- if c.ascii == 91 then return dfastate_101
- if c.ascii == 92 then return dfastate_101
- if c.ascii == 93 then return dfastate_101
- if c.ascii == 94 then return dfastate_101
- if c.ascii == 95 then return dfastate_101
- if c.ascii == 96 then return dfastate_101
- if c.ascii == 97 then return dfastate_101
- if c.ascii == 98 then return dfastate_101
- if c.ascii == 99 then return dfastate_101
- if c.ascii == 100 then return dfastate_101
- if c.ascii == 101 then return dfastate_101
- if c.ascii == 102 then return dfastate_101
- if c.ascii == 103 then return dfastate_101
- if c.ascii == 104 then return dfastate_101
- if c.ascii == 105 then return dfastate_101
- if c.ascii == 106 then return dfastate_101
- if c.ascii == 107 then return dfastate_101
- if c.ascii == 108 then return dfastate_101
- if c.ascii == 109 then return dfastate_101
- if c.ascii == 110 then return dfastate_101
- if c.ascii == 111 then return dfastate_101
- if c.ascii == 112 then return dfastate_101
- if c.ascii == 113 then return dfastate_101
- if c.ascii == 114 then return dfastate_101
- if c.ascii == 115 then return dfastate_101
- if c.ascii == 116 then return dfastate_101
- if c.ascii == 117 then return dfastate_101
- if c.ascii == 118 then return dfastate_101
- if c.ascii == 119 then return dfastate_101
- if c.ascii == 120 then return dfastate_101
- if c.ascii == 121 then return dfastate_101
- if c.ascii == 122 then return dfastate_101
- if c.ascii == 123 then return dfastate_101
- if c.ascii == 124 then return dfastate_101
- if c.ascii == 125 then return dfastate_101
- if c.ascii == 126 then return dfastate_101
- if c.ascii == 13 then return dfastate_102
- if c.ascii == 10 then return dfastate_103
- return null
- end
-end
-class DFAState102
- super DFAState
- redef fun is_accept do return true
- redef fun make_token(position, text) do
- var t = new Nend_block
- t.position = position
- t.text = text
- return t
- end
- redef fun trans(c) do
- if c.ascii == 32 then return dfastate_101
- if c.ascii == 33 then return dfastate_101
- if c.ascii == 34 then return dfastate_101
- if c.ascii == 35 then return dfastate_101
- if c.ascii == 36 then return dfastate_101
- if c.ascii == 37 then return dfastate_101
- if c.ascii == 38 then return dfastate_101
- if c.ascii == 39 then return dfastate_101
- if c.ascii == 40 then return dfastate_101
- if c.ascii == 41 then return dfastate_101
- if c.ascii == 42 then return dfastate_101
- if c.ascii == 43 then return dfastate_101
- if c.ascii == 44 then return dfastate_101
- if c.ascii == 45 then return dfastate_101
- if c.ascii == 46 then return dfastate_101
- if c.ascii == 47 then return dfastate_101
- if c.ascii == 48 then return dfastate_101
- if c.ascii == 49 then return dfastate_101
- if c.ascii == 50 then return dfastate_101
- if c.ascii == 51 then return dfastate_101
- if c.ascii == 52 then return dfastate_101
- if c.ascii == 53 then return dfastate_101
- if c.ascii == 54 then return dfastate_101
- if c.ascii == 55 then return dfastate_101
- if c.ascii == 56 then return dfastate_101
- if c.ascii == 57 then return dfastate_101
- if c.ascii == 58 then return dfastate_101
- if c.ascii == 59 then return dfastate_101
- if c.ascii == 60 then return dfastate_101
- if c.ascii == 61 then return dfastate_101
- if c.ascii == 62 then return dfastate_101
- if c.ascii == 63 then return dfastate_101
- if c.ascii == 64 then return dfastate_101
- if c.ascii == 65 then return dfastate_101
- if c.ascii == 66 then return dfastate_101
- if c.ascii == 67 then return dfastate_101
- if c.ascii == 68 then return dfastate_101
- if c.ascii == 69 then return dfastate_101
- if c.ascii == 70 then return dfastate_101
- if c.ascii == 71 then return dfastate_101
- if c.ascii == 72 then return dfastate_101
- if c.ascii == 73 then return dfastate_101
- if c.ascii == 74 then return dfastate_101
- if c.ascii == 75 then return dfastate_101
- if c.ascii == 76 then return dfastate_101
- if c.ascii == 77 then return dfastate_101
- if c.ascii == 78 then return dfastate_101
- if c.ascii == 79 then return dfastate_101
- if c.ascii == 80 then return dfastate_101
- if c.ascii == 81 then return dfastate_101
- if c.ascii == 82 then return dfastate_101
- if c.ascii == 83 then return dfastate_101
- if c.ascii == 84 then return dfastate_101
- if c.ascii == 85 then return dfastate_101
- if c.ascii == 86 then return dfastate_101
- if c.ascii == 87 then return dfastate_101
- if c.ascii == 88 then return dfastate_101
- if c.ascii == 89 then return dfastate_101
- if c.ascii == 90 then return dfastate_101
- if c.ascii == 91 then return dfastate_101
- if c.ascii == 92 then return dfastate_101
- if c.ascii == 93 then return dfastate_101
- if c.ascii == 94 then return dfastate_101
- if c.ascii == 95 then return dfastate_101
- if c.ascii == 96 then return dfastate_101
- if c.ascii == 97 then return dfastate_101
- if c.ascii == 98 then return dfastate_101
- if c.ascii == 99 then return dfastate_101
- if c.ascii == 100 then return dfastate_101
- if c.ascii == 101 then return dfastate_101
- if c.ascii == 102 then return dfastate_101
- if c.ascii == 103 then return dfastate_101
- if c.ascii == 104 then return dfastate_101
- if c.ascii == 105 then return dfastate_101
- if c.ascii == 106 then return dfastate_101
- if c.ascii == 107 then return dfastate_101
- if c.ascii == 108 then return dfastate_101
- if c.ascii == 109 then return dfastate_101
- if c.ascii == 110 then return dfastate_101
- if c.ascii == 111 then return dfastate_101
- if c.ascii == 112 then return dfastate_101
- if c.ascii == 113 then return dfastate_101
- if c.ascii == 114 then return dfastate_101
- if c.ascii == 115 then return dfastate_101
- if c.ascii == 116 then return dfastate_101
- if c.ascii == 117 then return dfastate_101
- if c.ascii == 118 then return dfastate_101
- if c.ascii == 119 then return dfastate_101
- if c.ascii == 120 then return dfastate_101
- if c.ascii == 121 then return dfastate_101
- if c.ascii == 122 then return dfastate_101
- if c.ascii == 123 then return dfastate_101
- if c.ascii == 124 then return dfastate_101
- if c.ascii == 125 then return dfastate_101
- if c.ascii == 126 then return dfastate_101
- if c.ascii == 13 then return dfastate_102
- if c.ascii == 10 then return dfastate_103
- return null
- end
-end
-class DFAState103
- super DFAState
- redef fun is_accept do return true
- redef fun make_token(position, text) do
- var t = new Nend_block
- t.position = position
- t.text = text
- return t
- end
- redef fun trans(c) do
- if c.ascii == 13 then return dfastate_104
- if c.ascii == 32 then return dfastate_101
- if c.ascii == 33 then return dfastate_101
- if c.ascii == 34 then return dfastate_101
- if c.ascii == 35 then return dfastate_101
- if c.ascii == 36 then return dfastate_101
- if c.ascii == 37 then return dfastate_101
- if c.ascii == 38 then return dfastate_101
- if c.ascii == 39 then return dfastate_101
- if c.ascii == 40 then return dfastate_101
- if c.ascii == 41 then return dfastate_101
- if c.ascii == 42 then return dfastate_101
- if c.ascii == 43 then return dfastate_101
- if c.ascii == 44 then return dfastate_101
- if c.ascii == 45 then return dfastate_101
- if c.ascii == 46 then return dfastate_101
- if c.ascii == 47 then return dfastate_101
- if c.ascii == 48 then return dfastate_101
- if c.ascii == 49 then return dfastate_101
- if c.ascii == 50 then return dfastate_101
- if c.ascii == 51 then return dfastate_101
- if c.ascii == 52 then return dfastate_101
- if c.ascii == 53 then return dfastate_101
- if c.ascii == 54 then return dfastate_101
- if c.ascii == 55 then return dfastate_101
- if c.ascii == 56 then return dfastate_101
- if c.ascii == 57 then return dfastate_101
- if c.ascii == 58 then return dfastate_101
- if c.ascii == 59 then return dfastate_101
- if c.ascii == 60 then return dfastate_101
- if c.ascii == 61 then return dfastate_101
- if c.ascii == 62 then return dfastate_101
- if c.ascii == 63 then return dfastate_101
- if c.ascii == 64 then return dfastate_101
- if c.ascii == 65 then return dfastate_101
- if c.ascii == 66 then return dfastate_101
- if c.ascii == 67 then return dfastate_101
- if c.ascii == 68 then return dfastate_101
- if c.ascii == 69 then return dfastate_101
- if c.ascii == 70 then return dfastate_101
- if c.ascii == 71 then return dfastate_101
- if c.ascii == 72 then return dfastate_101
- if c.ascii == 73 then return dfastate_101
- if c.ascii == 74 then return dfastate_101
- if c.ascii == 75 then return dfastate_101
- if c.ascii == 76 then return dfastate_101
- if c.ascii == 77 then return dfastate_101
- if c.ascii == 78 then return dfastate_101
- if c.ascii == 79 then return dfastate_101
- if c.ascii == 80 then return dfastate_101
- if c.ascii == 81 then return dfastate_101
- if c.ascii == 82 then return dfastate_101
- if c.ascii == 83 then return dfastate_101
- if c.ascii == 84 then return dfastate_101
- if c.ascii == 85 then return dfastate_101
- if c.ascii == 86 then return dfastate_101
- if c.ascii == 87 then return dfastate_101
- if c.ascii == 88 then return dfastate_101
- if c.ascii == 89 then return dfastate_101
- if c.ascii == 90 then return dfastate_101
- if c.ascii == 91 then return dfastate_101
- if c.ascii == 92 then return dfastate_101
- if c.ascii == 93 then return dfastate_101
- if c.ascii == 94 then return dfastate_101
- if c.ascii == 95 then return dfastate_101
- if c.ascii == 96 then return dfastate_101
- if c.ascii == 97 then return dfastate_101
- if c.ascii == 98 then return dfastate_101
- if c.ascii == 99 then return dfastate_101
- if c.ascii == 100 then return dfastate_101
- if c.ascii == 101 then return dfastate_101
- if c.ascii == 102 then return dfastate_101
- if c.ascii == 103 then return dfastate_101
- if c.ascii == 104 then return dfastate_101
- if c.ascii == 105 then return dfastate_101
- if c.ascii == 106 then return dfastate_101
- if c.ascii == 107 then return dfastate_101
- if c.ascii == 108 then return dfastate_101
- if c.ascii == 109 then return dfastate_101
- if c.ascii == 110 then return dfastate_101
- if c.ascii == 111 then return dfastate_101
- if c.ascii == 112 then return dfastate_101
- if c.ascii == 113 then return dfastate_101
- if c.ascii == 114 then return dfastate_101
- if c.ascii == 115 then return dfastate_101
- if c.ascii == 116 then return dfastate_101
- if c.ascii == 117 then return dfastate_101
- if c.ascii == 118 then return dfastate_101
- if c.ascii == 119 then return dfastate_101
- if c.ascii == 120 then return dfastate_101
- if c.ascii == 121 then return dfastate_101
- if c.ascii == 122 then return dfastate_101
- if c.ascii == 123 then return dfastate_101
- if c.ascii == 124 then return dfastate_101
- if c.ascii == 125 then return dfastate_101
- if c.ascii == 126 then return dfastate_101
- if c.ascii == 10 then return dfastate_103
- return null
- end
-end
-class DFAState104
- super DFAState
- redef fun is_accept do return true
- redef fun make_token(position, text) do
- var t = new Nend_block
- t.position = position
- t.text = text
- return t
- end
- redef fun trans(c) do
- if c.ascii == 32 then return dfastate_101
- if c.ascii == 33 then return dfastate_101
- if c.ascii == 34 then return dfastate_101
- if c.ascii == 35 then return dfastate_101
- if c.ascii == 36 then return dfastate_101
- if c.ascii == 37 then return dfastate_101
- if c.ascii == 38 then return dfastate_101
- if c.ascii == 39 then return dfastate_101
- if c.ascii == 40 then return dfastate_101
- if c.ascii == 41 then return dfastate_101
- if c.ascii == 42 then return dfastate_101
- if c.ascii == 43 then return dfastate_101
- if c.ascii == 44 then return dfastate_101
- if c.ascii == 45 then return dfastate_101
- if c.ascii == 46 then return dfastate_101
- if c.ascii == 47 then return dfastate_101
- if c.ascii == 48 then return dfastate_101
- if c.ascii == 49 then return dfastate_101
- if c.ascii == 50 then return dfastate_101
- if c.ascii == 51 then return dfastate_101
- if c.ascii == 52 then return dfastate_101
- if c.ascii == 53 then return dfastate_101
- if c.ascii == 54 then return dfastate_101
- if c.ascii == 55 then return dfastate_101
- if c.ascii == 56 then return dfastate_101
- if c.ascii == 57 then return dfastate_101
- if c.ascii == 58 then return dfastate_101
- if c.ascii == 59 then return dfastate_101
- if c.ascii == 60 then return dfastate_101
- if c.ascii == 61 then return dfastate_101
- if c.ascii == 62 then return dfastate_101
- if c.ascii == 63 then return dfastate_101
- if c.ascii == 64 then return dfastate_101
- if c.ascii == 65 then return dfastate_101
- if c.ascii == 66 then return dfastate_101
- if c.ascii == 67 then return dfastate_101
- if c.ascii == 68 then return dfastate_101
- if c.ascii == 69 then return dfastate_101
- if c.ascii == 70 then return dfastate_101
- if c.ascii == 71 then return dfastate_101
- if c.ascii == 72 then return dfastate_101
- if c.ascii == 73 then return dfastate_101
- if c.ascii == 74 then return dfastate_101
- if c.ascii == 75 then return dfastate_101
- if c.ascii == 76 then return dfastate_101
- if c.ascii == 77 then return dfastate_101
- if c.ascii == 78 then return dfastate_101
- if c.ascii == 79 then return dfastate_101
- if c.ascii == 80 then return dfastate_101
- if c.ascii == 81 then return dfastate_101
- if c.ascii == 82 then return dfastate_101
- if c.ascii == 83 then return dfastate_101
- if c.ascii == 84 then return dfastate_101
- if c.ascii == 85 then return dfastate_101
- if c.ascii == 86 then return dfastate_101
- if c.ascii == 87 then return dfastate_101
- if c.ascii == 88 then return dfastate_101
- if c.ascii == 89 then return dfastate_101
- if c.ascii == 90 then return dfastate_101
- if c.ascii == 91 then return dfastate_101
- if c.ascii == 92 then return dfastate_101
- if c.ascii == 93 then return dfastate_101
- if c.ascii == 94 then return dfastate_101
- if c.ascii == 95 then return dfastate_101
- if c.ascii == 96 then return dfastate_101
- if c.ascii == 97 then return dfastate_101
- if c.ascii == 98 then return dfastate_101
- if c.ascii == 99 then return dfastate_101
- if c.ascii == 100 then return dfastate_101
- if c.ascii == 101 then return dfastate_101
- if c.ascii == 102 then return dfastate_101
- if c.ascii == 103 then return dfastate_101
- if c.ascii == 104 then return dfastate_101
- if c.ascii == 105 then return dfastate_101
- if c.ascii == 106 then return dfastate_101
- if c.ascii == 107 then return dfastate_101
- if c.ascii == 108 then return dfastate_101
- if c.ascii == 109 then return dfastate_101
- if c.ascii == 110 then return dfastate_101
- if c.ascii == 111 then return dfastate_101
- if c.ascii == 112 then return dfastate_101
- if c.ascii == 113 then return dfastate_101
- if c.ascii == 114 then return dfastate_101
- if c.ascii == 115 then return dfastate_101
- if c.ascii == 116 then return dfastate_101
- if c.ascii == 117 then return dfastate_101
- if c.ascii == 118 then return dfastate_101
- if c.ascii == 119 then return dfastate_101
- if c.ascii == 120 then return dfastate_101
- if c.ascii == 121 then return dfastate_101
- if c.ascii == 122 then return dfastate_101
- if c.ascii == 123 then return dfastate_101
- if c.ascii == 124 then return dfastate_101
- if c.ascii == 125 then return dfastate_101
- if c.ascii == 126 then return dfastate_101
- if c.ascii == 13 then return dfastate_102
- if c.ascii == 10 then return dfastate_103
- return null
- end
-end
-class DFAState105
- super DFAState
- redef fun trans(c) do
- if c.ascii == 97 then return dfastate_107
- if c.ascii == 65 then return dfastate_108
- return null
- end
-end
-class DFAState106
- super DFAState
- redef fun trans(c) do
- if c.ascii == 97 then return dfastate_107
- if c.ascii == 65 then return dfastate_108
- return null
- end
-end
-class DFAState107
- super DFAState
- redef fun trans(c) do
- if c.ascii == 116 then return dfastate_109
- if c.ascii == 84 then return dfastate_110
- return null
- end
-end
-class DFAState108
- super DFAState
- redef fun trans(c) do
- if c.ascii == 116 then return dfastate_109
- if c.ascii == 84 then return dfastate_110
- return null
- end
-end
-class DFAState109
- super DFAState
- redef fun trans(c) do
- if c.ascii == 101 then return dfastate_111
- if c.ascii == 69 then return dfastate_112
- return null
- end
-end
-class DFAState110
- super DFAState
- redef fun trans(c) do
- if c.ascii == 101 then return dfastate_111
- if c.ascii == 69 then return dfastate_112
- return null
- end
-end
-class DFAState111
- super DFAState
- redef fun is_accept do return true
- redef fun make_token(position, text) do
- var t = new Ntk_equate
- t.position = position
- t.text = text
- return t
- end
-end
-class DFAState112
- super DFAState
- redef fun is_accept do return true
- redef fun make_token(position, text) do
- var t = new Ntk_equate
- t.position = position
- t.text = text
- return t
- end
-end
+++ /dev/null
-# Parser generated by nitcc
-import nitcc_runtime
-class MyParser
- super Parser
- redef fun start_state do return state_Start
-end
-redef class Object
- private fun state_Start: LRStateStart do return once new LRStateStart
- private fun state_listing: LRStatelisting do return once new LRStatelisting
- private fun state_line_43d: LRStateline_43d do return once new LRStateline_43d
- private fun state_line: LRStateline do return once new LRStateline
- private fun state_label_decl: LRStatelabel_decl do return once new LRStatelabel_decl
- private fun state_id: LRStateid do return once new LRStateid
- private fun state_comment: LRStatecomment do return once new LRStatecomment
- private fun state_eol: LRStateeol do return once new LRStateeol
- private fun state_instruction: LRStateinstruction do return once new LRStateinstruction
- private fun state_directive: LRStatedirective do return once new LRStatedirective
- private fun state_tk_byte: LRStatetk_byte do return once new LRStatetk_byte
- private fun state_tk_word: LRStatetk_word do return once new LRStatetk_word
- private fun state_tk_block: LRStatetk_block do return once new LRStatetk_block
- private fun state_tk_ascii: LRStatetk_ascii do return once new LRStatetk_ascii
- private fun state_tk_addrss: LRStatetk_addrss do return once new LRStatetk_addrss
- private fun state_tk_equate: LRStatetk_equate do return once new LRStatetk_equate
- private fun state_tk_burn: LRStatetk_burn do return once new LRStatetk_burn
- private fun state_end_block: LRStateend_block do return once new LRStateend_block
- private fun state_listing_32dEof: LRStatelisting_32dEof do return once new LRStatelisting_32dEof
- private fun state_line_43d_32dlabel_decl: LRStateline_43d_32dlabel_decl do return once new LRStateline_43d_32dlabel_decl
- private fun state_line_43d_32dline: LRStateline_43d_32dline do return once new LRStateline_43d_32dline
- private fun state_line_43d_32dend_block: LRStateline_43d_32dend_block do return once new LRStateline_43d_32dend_block
- private fun state_label_decl_32dcomment: LRStatelabel_decl_32dcomment do return once new LRStatelabel_decl_32dcomment
- private fun state_label_decl_32deol: LRStatelabel_decl_32deol do return once new LRStatelabel_decl_32deol
- private fun state_label_decl_32dinstruction: LRStatelabel_decl_32dinstruction do return once new LRStatelabel_decl_32dinstruction
- private fun state_label_decl_32ddirective: LRStatelabel_decl_32ddirective do return once new LRStatelabel_decl_32ddirective
- private fun state_label_decl_32dend_block: LRStatelabel_decl_32dend_block do return once new LRStatelabel_decl_32dend_block
- private fun state_label_decl_32did: LRStatelabel_decl_32did do return once new LRStatelabel_decl_32did
- private fun state_id_32dcolon: LRStateid_32dcolon do return once new LRStateid_32dcolon
- private fun state_id_32doperand: LRStateid_32doperand do return once new LRStateid_32doperand
- private fun state_id_32dvalue: LRStateid_32dvalue do return once new LRStateid_32dvalue
- private fun state_id_32did: LRStateid_32did do return once new LRStateid_32did
- private fun state_id_32dchar: LRStateid_32dchar do return once new LRStateid_32dchar
- private fun state_id_32dstring: LRStateid_32dstring do return once new LRStateid_32dstring
- private fun state_comment_32deol: LRStatecomment_32deol do return once new LRStatecomment_32deol
- private fun state_instruction_32dcomment: LRStateinstruction_32dcomment do return once new LRStateinstruction_32dcomment
- private fun state_instruction_32deol: LRStateinstruction_32deol do return once new LRStateinstruction_32deol
- private fun state_directive_32dcomment: LRStatedirective_32dcomment do return once new LRStatedirective_32dcomment
- private fun state_directive_32deol: LRStatedirective_32deol do return once new LRStatedirective_32deol
- private fun state_tk_byte_32dvalue: LRStatetk_byte_32dvalue do return once new LRStatetk_byte_32dvalue
- private fun state_tk_word_32dvalue: LRStatetk_word_32dvalue do return once new LRStatetk_word_32dvalue
- private fun state_tk_block_32dvalue: LRStatetk_block_32dvalue do return once new LRStatetk_block_32dvalue
- private fun state_tk_ascii_32dvalue: LRStatetk_ascii_32dvalue do return once new LRStatetk_ascii_32dvalue
- private fun state_tk_addrss_32dvalue: LRStatetk_addrss_32dvalue do return once new LRStatetk_addrss_32dvalue
- private fun state_tk_equate_32dvalue: LRStatetk_equate_32dvalue do return once new LRStatetk_equate_32dvalue
- private fun state_tk_burn_32dvalue: LRStatetk_burn_32dvalue do return once new LRStatetk_burn_32dvalue
- private fun state_line_43d_32dlabel_decl_32dend_block: LRStateline_43d_32dlabel_decl_32dend_block do return once new LRStateline_43d_32dlabel_decl_32dend_block
- private fun state_label_decl_32dcomment_32deol: LRStatelabel_decl_32dcomment_32deol do return once new LRStatelabel_decl_32dcomment_32deol
- private fun state_label_decl_32dinstruction_32dcomment: LRStatelabel_decl_32dinstruction_32dcomment do return once new LRStatelabel_decl_32dinstruction_32dcomment
- private fun state_label_decl_32dinstruction_32deol: LRStatelabel_decl_32dinstruction_32deol do return once new LRStatelabel_decl_32dinstruction_32deol
- private fun state_label_decl_32ddirective_32dcomment: LRStatelabel_decl_32ddirective_32dcomment do return once new LRStatelabel_decl_32ddirective_32dcomment
- private fun state_label_decl_32ddirective_32deol: LRStatelabel_decl_32ddirective_32deol do return once new LRStatelabel_decl_32ddirective_32deol
- private fun state_id_32dvalue_32dcomma: LRStateid_32dvalue_32dcomma do return once new LRStateid_32dvalue_32dcomma
- private fun state_instruction_32dcomment_32deol: LRStateinstruction_32dcomment_32deol do return once new LRStateinstruction_32dcomment_32deol
- private fun state_directive_32dcomment_32deol: LRStatedirective_32dcomment_32deol do return once new LRStatedirective_32dcomment_32deol
- private fun state_label_decl_32dinstruction_32dcomment_32deol: LRStatelabel_decl_32dinstruction_32dcomment_32deol do return once new LRStatelabel_decl_32dinstruction_32dcomment_32deol
- private fun state_label_decl_32ddirective_32dcomment_32deol: LRStatelabel_decl_32ddirective_32dcomment_32deol do return once new LRStatelabel_decl_32ddirective_32dcomment_32deol
- private fun state_id_32dvalue_32dcomma_32did: LRStateid_32dvalue_32dcomma_32did do return once new LRStateid_32dvalue_32dcomma_32did
- private fun goto_Nlisting: Goto_Nlisting do return once new Goto_Nlisting
- private fun goto_Nline: Goto_Nline do return once new Goto_Nline
- private fun goto_Nlabel_decl: Goto_Nlabel_decl do return once new Goto_Nlabel_decl
- private fun goto_Ninstruction: Goto_Ninstruction do return once new Goto_Ninstruction
- private fun goto_Noperand: Goto_Noperand do return once new Goto_Noperand
- private fun goto_Nvalue: Goto_Nvalue do return once new Goto_Nvalue
- private fun goto_Ndirective: Goto_Ndirective do return once new Goto_Ndirective
- private fun goto_Nline_43d: Goto_Nline_43d do return once new Goto_Nline_43d
- private fun goto_N_start: Goto_N_start do return once new Goto_N_start
-end
-redef class NToken
- # guarded action for state Start
- # 11 shift(s) and 0 reduce(s)
- private fun action_sStart(parser: Parser) do
- parser.parse_error
- end
- # guarded action for state listing
- # 1 shift(s) and 0 reduce(s)
- private fun action_slisting(parser: Parser) do
- parser.parse_error
- end
- # guarded action for state line+
- # 11 shift(s) and 0 reduce(s)
- private fun action_sline_43d(parser: Parser) do
- parser.parse_error
- end
- # guarded action for state label_decl
- # 11 shift(s) and 0 reduce(s)
- private fun action_slabel_decl(parser: Parser) do
- parser.parse_error
- end
- # guarded action for state id
- # 4 shift(s) and 1 reduce(s)
- private fun action_sid(parser: Parser) do
- # REDUCE instruction::instruction_unary=id
- var n0 = parser.pop.as(Nid)
- var p1 = new Ninstruction_unary(n0)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Ninstruction)
- end
- # guarded action for state comment
- # 1 shift(s) and 0 reduce(s)
- private fun action_scomment(parser: Parser) do
- parser.parse_error
- end
- # guarded action for state instruction
- # 2 shift(s) and 0 reduce(s)
- private fun action_sinstruction(parser: Parser) do
- parser.parse_error
- end
- # guarded action for state directive
- # 2 shift(s) and 0 reduce(s)
- private fun action_sdirective(parser: Parser) do
- parser.parse_error
- end
- # guarded action for state tk_byte
- # 3 shift(s) and 0 reduce(s)
- private fun action_stk_byte(parser: Parser) do
- parser.parse_error
- end
- # guarded action for state tk_word
- # 3 shift(s) and 0 reduce(s)
- private fun action_stk_word(parser: Parser) do
- parser.parse_error
- end
- # guarded action for state tk_block
- # 3 shift(s) and 0 reduce(s)
- private fun action_stk_block(parser: Parser) do
- parser.parse_error
- end
- # guarded action for state tk_ascii
- # 3 shift(s) and 0 reduce(s)
- private fun action_stk_ascii(parser: Parser) do
- parser.parse_error
- end
- # guarded action for state tk_addrss
- # 3 shift(s) and 0 reduce(s)
- private fun action_stk_addrss(parser: Parser) do
- parser.parse_error
- end
- # guarded action for state tk_equate
- # 3 shift(s) and 0 reduce(s)
- private fun action_stk_equate(parser: Parser) do
- parser.parse_error
- end
- # guarded action for state tk_burn
- # 3 shift(s) and 0 reduce(s)
- private fun action_stk_burn(parser: Parser) do
- parser.parse_error
- end
- # guarded action for state line+ label_decl
- # 11 shift(s) and 0 reduce(s)
- private fun action_sline_43d_32dlabel_decl(parser: Parser) do
- parser.parse_error
- end
- # guarded action for state label_decl comment
- # 1 shift(s) and 0 reduce(s)
- private fun action_slabel_decl_32dcomment(parser: Parser) do
- parser.parse_error
- end
- # guarded action for state label_decl instruction
- # 2 shift(s) and 0 reduce(s)
- private fun action_slabel_decl_32dinstruction(parser: Parser) do
- parser.parse_error
- end
- # guarded action for state label_decl directive
- # 2 shift(s) and 0 reduce(s)
- private fun action_slabel_decl_32ddirective(parser: Parser) do
- parser.parse_error
- end
- # guarded action for state label_decl id
- # 3 shift(s) and 1 reduce(s)
- private fun action_slabel_decl_32did(parser: Parser) do
- # REDUCE instruction::instruction_unary=id
- var n0 = parser.pop.as(Nid)
- var p1 = new Ninstruction_unary(n0)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Ninstruction)
- end
- # guarded action for state id value
- # 1 shift(s) and 1 reduce(s)
- private fun action_sid_32dvalue(parser: Parser) do
- # REDUCE operand::operand_immediate=value
- var n0 = parser.pop.as(Nvalue)
- var p1 = new Noperand_immediate(n0)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Noperand)
- end
- # guarded action for state instruction comment
- # 1 shift(s) and 0 reduce(s)
- private fun action_sinstruction_32dcomment(parser: Parser) do
- parser.parse_error
- end
- # guarded action for state directive comment
- # 1 shift(s) and 0 reduce(s)
- private fun action_sdirective_32dcomment(parser: Parser) do
- parser.parse_error
- end
- # guarded action for state label_decl instruction comment
- # 1 shift(s) and 0 reduce(s)
- private fun action_slabel_decl_32dinstruction_32dcomment(parser: Parser) do
- parser.parse_error
- end
- # guarded action for state label_decl directive comment
- # 1 shift(s) and 0 reduce(s)
- private fun action_slabel_decl_32ddirective_32dcomment(parser: Parser) do
- parser.parse_error
- end
- # guarded action for state id value comma
- # 1 shift(s) and 0 reduce(s)
- private fun action_sid_32dvalue_32dcomma(parser: Parser) do
- parser.parse_error
- end
-end
-class NIgnored
- super NToken
- redef fun node_name do return "Ignored"
-end
-class Nend_block
- super NToken
- redef fun action_sStart(parser) do
- parser.shift(state_end_block)
- end
- redef fun action_sline_43d(parser) do
- parser.shift(state_line_43d_32dend_block)
- end
- redef fun action_slabel_decl(parser) do
- parser.shift(state_label_decl_32dend_block)
- end
- redef fun action_sline_43d_32dlabel_decl(parser) do
- parser.shift(state_line_43d_32dlabel_decl_32dend_block)
- end
- redef fun node_name do return "end_block"
-end
-class Ncomment
- super NToken
- redef fun action_sStart(parser) do
- parser.shift(state_comment)
- end
- redef fun action_sline_43d(parser) do
- parser.shift(state_comment)
- end
- redef fun action_slabel_decl(parser) do
- parser.shift(state_label_decl_32dcomment)
- end
- redef fun action_sinstruction(parser) do
- parser.shift(state_instruction_32dcomment)
- end
- redef fun action_sdirective(parser) do
- parser.shift(state_directive_32dcomment)
- end
- redef fun action_sline_43d_32dlabel_decl(parser) do
- parser.shift(state_label_decl_32dcomment)
- end
- redef fun action_slabel_decl_32dinstruction(parser) do
- parser.shift(state_label_decl_32dinstruction_32dcomment)
- end
- redef fun action_slabel_decl_32ddirective(parser) do
- parser.shift(state_label_decl_32ddirective_32dcomment)
- end
- redef fun node_name do return "comment"
-end
-class Neol
- super NToken
- redef fun action_sStart(parser) do
- parser.shift(state_eol)
- end
- redef fun action_sline_43d(parser) do
- parser.shift(state_eol)
- end
- redef fun action_slabel_decl(parser) do
- parser.shift(state_label_decl_32deol)
- end
- redef fun action_scomment(parser) do
- parser.shift(state_comment_32deol)
- end
- redef fun action_sinstruction(parser) do
- parser.shift(state_instruction_32deol)
- end
- redef fun action_sdirective(parser) do
- parser.shift(state_directive_32deol)
- end
- redef fun action_sline_43d_32dlabel_decl(parser) do
- parser.shift(state_label_decl_32deol)
- end
- redef fun action_slabel_decl_32dcomment(parser) do
- parser.shift(state_label_decl_32dcomment_32deol)
- end
- redef fun action_slabel_decl_32dinstruction(parser) do
- parser.shift(state_label_decl_32dinstruction_32deol)
- end
- redef fun action_slabel_decl_32ddirective(parser) do
- parser.shift(state_label_decl_32ddirective_32deol)
- end
- redef fun action_sinstruction_32dcomment(parser) do
- parser.shift(state_instruction_32dcomment_32deol)
- end
- redef fun action_sdirective_32dcomment(parser) do
- parser.shift(state_directive_32dcomment_32deol)
- end
- redef fun action_slabel_decl_32dinstruction_32dcomment(parser) do
- parser.shift(state_label_decl_32dinstruction_32dcomment_32deol)
- end
- redef fun action_slabel_decl_32ddirective_32dcomment(parser) do
- parser.shift(state_label_decl_32ddirective_32dcomment_32deol)
- end
- redef fun node_name do return "eol"
-end
-class Nid
- super NToken
- redef fun action_sStart(parser) do
- parser.shift(state_id)
- end
- redef fun action_sline_43d(parser) do
- parser.shift(state_id)
- end
- redef fun action_slabel_decl(parser) do
- parser.shift(state_label_decl_32did)
- end
- redef fun action_sid(parser) do
- parser.shift(state_id_32did)
- end
- redef fun action_stk_byte(parser) do
- parser.shift(state_id_32did)
- end
- redef fun action_stk_word(parser) do
- parser.shift(state_id_32did)
- end
- redef fun action_stk_block(parser) do
- parser.shift(state_id_32did)
- end
- redef fun action_stk_ascii(parser) do
- parser.shift(state_id_32did)
- end
- redef fun action_stk_addrss(parser) do
- parser.shift(state_id_32did)
- end
- redef fun action_stk_equate(parser) do
- parser.shift(state_id_32did)
- end
- redef fun action_stk_burn(parser) do
- parser.shift(state_id_32did)
- end
- redef fun action_sline_43d_32dlabel_decl(parser) do
- parser.shift(state_label_decl_32did)
- end
- redef fun action_slabel_decl_32did(parser) do
- parser.shift(state_id_32did)
- end
- redef fun action_sid_32dvalue_32dcomma(parser) do
- parser.shift(state_id_32dvalue_32dcomma_32did)
- end
- redef fun node_name do return "id"
-end
-class Ncolon
- super NToken
- redef fun action_sid(parser) do
- parser.shift(state_id_32dcolon)
- end
- redef fun node_name do return "colon"
-end
-class Ncomma
- super NToken
- redef fun action_sid_32dvalue(parser) do
- parser.shift(state_id_32dvalue_32dcomma)
- end
- redef fun node_name do return "comma"
-end
-class Nchar
- super NToken
- redef fun action_sid(parser) do
- parser.shift(state_id_32dchar)
- end
- redef fun action_stk_byte(parser) do
- parser.shift(state_id_32dchar)
- end
- redef fun action_stk_word(parser) do
- parser.shift(state_id_32dchar)
- end
- redef fun action_stk_block(parser) do
- parser.shift(state_id_32dchar)
- end
- redef fun action_stk_ascii(parser) do
- parser.shift(state_id_32dchar)
- end
- redef fun action_stk_addrss(parser) do
- parser.shift(state_id_32dchar)
- end
- redef fun action_stk_equate(parser) do
- parser.shift(state_id_32dchar)
- end
- redef fun action_stk_burn(parser) do
- parser.shift(state_id_32dchar)
- end
- redef fun action_slabel_decl_32did(parser) do
- parser.shift(state_id_32dchar)
- end
- redef fun node_name do return "char"
-end
-class Nstring
- super NToken
- redef fun action_sid(parser) do
- parser.shift(state_id_32dstring)
- end
- redef fun action_stk_byte(parser) do
- parser.shift(state_id_32dstring)
- end
- redef fun action_stk_word(parser) do
- parser.shift(state_id_32dstring)
- end
- redef fun action_stk_block(parser) do
- parser.shift(state_id_32dstring)
- end
- redef fun action_stk_ascii(parser) do
- parser.shift(state_id_32dstring)
- end
- redef fun action_stk_addrss(parser) do
- parser.shift(state_id_32dstring)
- end
- redef fun action_stk_equate(parser) do
- parser.shift(state_id_32dstring)
- end
- redef fun action_stk_burn(parser) do
- parser.shift(state_id_32dstring)
- end
- redef fun action_slabel_decl_32did(parser) do
- parser.shift(state_id_32dstring)
- end
- redef fun node_name do return "string"
-end
-class Ntk_byte
- super NToken
- redef fun action_sStart(parser) do
- parser.shift(state_tk_byte)
- end
- redef fun action_sline_43d(parser) do
- parser.shift(state_tk_byte)
- end
- redef fun action_slabel_decl(parser) do
- parser.shift(state_tk_byte)
- end
- redef fun action_sline_43d_32dlabel_decl(parser) do
- parser.shift(state_tk_byte)
- end
- redef fun node_name do return "tk_byte"
-end
-class Ntk_word
- super NToken
- redef fun action_sStart(parser) do
- parser.shift(state_tk_word)
- end
- redef fun action_sline_43d(parser) do
- parser.shift(state_tk_word)
- end
- redef fun action_slabel_decl(parser) do
- parser.shift(state_tk_word)
- end
- redef fun action_sline_43d_32dlabel_decl(parser) do
- parser.shift(state_tk_word)
- end
- redef fun node_name do return "tk_word"
-end
-class Ntk_block
- super NToken
- redef fun action_sStart(parser) do
- parser.shift(state_tk_block)
- end
- redef fun action_sline_43d(parser) do
- parser.shift(state_tk_block)
- end
- redef fun action_slabel_decl(parser) do
- parser.shift(state_tk_block)
- end
- redef fun action_sline_43d_32dlabel_decl(parser) do
- parser.shift(state_tk_block)
- end
- redef fun node_name do return "tk_block"
-end
-class Ntk_ascii
- super NToken
- redef fun action_sStart(parser) do
- parser.shift(state_tk_ascii)
- end
- redef fun action_sline_43d(parser) do
- parser.shift(state_tk_ascii)
- end
- redef fun action_slabel_decl(parser) do
- parser.shift(state_tk_ascii)
- end
- redef fun action_sline_43d_32dlabel_decl(parser) do
- parser.shift(state_tk_ascii)
- end
- redef fun node_name do return "tk_ascii"
-end
-class Ntk_addrss
- super NToken
- redef fun action_sStart(parser) do
- parser.shift(state_tk_addrss)
- end
- redef fun action_sline_43d(parser) do
- parser.shift(state_tk_addrss)
- end
- redef fun action_slabel_decl(parser) do
- parser.shift(state_tk_addrss)
- end
- redef fun action_sline_43d_32dlabel_decl(parser) do
- parser.shift(state_tk_addrss)
- end
- redef fun node_name do return "tk_addrss"
-end
-class Ntk_equate
- super NToken
- redef fun action_sStart(parser) do
- parser.shift(state_tk_equate)
- end
- redef fun action_sline_43d(parser) do
- parser.shift(state_tk_equate)
- end
- redef fun action_slabel_decl(parser) do
- parser.shift(state_tk_equate)
- end
- redef fun action_sline_43d_32dlabel_decl(parser) do
- parser.shift(state_tk_equate)
- end
- redef fun node_name do return "tk_equate"
-end
-class Ntk_burn
- super NToken
- redef fun action_sStart(parser) do
- parser.shift(state_tk_burn)
- end
- redef fun action_sline_43d(parser) do
- parser.shift(state_tk_burn)
- end
- redef fun action_slabel_decl(parser) do
- parser.shift(state_tk_burn)
- end
- redef fun action_sline_43d_32dlabel_decl(parser) do
- parser.shift(state_tk_burn)
- end
- redef fun node_name do return "tk_burn"
-end
-redef class NEof
- super NToken
- redef fun action_slisting(parser) do
- parser.shift(state_listing_32dEof)
- end
- redef fun node_name do return "Eof"
-end
-redef class LRGoto
- private fun goto_sStart(parser: Parser) do abort
- private fun goto_sline_43d(parser: Parser) do abort
- private fun goto_slabel_decl(parser: Parser) do abort
- private fun goto_sid(parser: Parser) do abort
- private fun goto_sline_43d_32dlabel_decl(parser: Parser) do abort
- private fun goto_slabel_decl_32did(parser: Parser) do abort
-end
-class Goto_Nlisting
- super LRGoto
- redef fun goto_sStart(parser) do
- parser.push(state_listing)
- end
-end
-class Goto_Nline
- super LRGoto
- redef fun goto_sStart(parser) do
- parser.push(state_line)
- end
- redef fun goto_sline_43d(parser) do
- parser.push(state_line_43d_32dline)
- end
-end
-class Goto_Nlabel_decl
- super LRGoto
- redef fun goto_sStart(parser) do
- parser.push(state_label_decl)
- end
- redef fun goto_sline_43d(parser) do
- parser.push(state_line_43d_32dlabel_decl)
- end
-end
-class Goto_Ninstruction
- super LRGoto
- redef fun goto_sStart(parser) do
- parser.push(state_instruction)
- end
- redef fun goto_sline_43d(parser) do
- parser.push(state_instruction)
- end
- redef fun goto_slabel_decl(parser) do
- parser.push(state_label_decl_32dinstruction)
- end
- redef fun goto_sline_43d_32dlabel_decl(parser) do
- parser.push(state_label_decl_32dinstruction)
- end
-end
-class Goto_Noperand
- super LRGoto
- redef fun goto_sid(parser) do
- parser.push(state_id_32doperand)
- end
- redef fun goto_slabel_decl_32did(parser) do
- parser.push(state_id_32doperand)
- end
-end
-class Goto_Nvalue
- super LRGoto
- redef fun goto_sid(parser) do
- parser.push(state_id_32dvalue)
- end
- redef fun goto_slabel_decl_32did(parser) do
- parser.push(state_id_32dvalue)
- end
-end
-class Goto_Ndirective
- super LRGoto
- redef fun goto_sStart(parser) do
- parser.push(state_directive)
- end
- redef fun goto_sline_43d(parser) do
- parser.push(state_directive)
- end
- redef fun goto_slabel_decl(parser) do
- parser.push(state_label_decl_32ddirective)
- end
- redef fun goto_sline_43d_32dlabel_decl(parser) do
- parser.push(state_label_decl_32ddirective)
- end
-end
-class Goto_Nline_43d
- super LRGoto
- redef fun goto_sStart(parser) do
- parser.push(state_line_43d)
- end
-end
-class Goto_N_start
- super LRGoto
-end
-class Nlisting
- super NProd
- redef fun node_name do return "listing"
- var n_lines: nullable Nodes[Nline]
- var n_label_decl: nullable Nlabel_decl
- var n_end_block: Nend_block
- init(n_lines: nullable Nodes[Nline], n_label_decl: nullable Nlabel_decl, n_end_block: Nend_block) do
- self.n_lines = n_lines
- self.n_label_decl = n_label_decl
- self.n_end_block = n_end_block
- end
- redef fun number_of_children do return 3
- redef fun child(i) do
- if i == 0 then return n_lines
- if i == 1 then return n_label_decl
- if i == 2 then return n_end_block
- abort
- end
-end
-class Nline
- super NProd
- redef fun node_name do return "line"
-end
-class Nline_empty
- super Nline
- redef fun node_name do return "line_empty"
- var n_label_decl: nullable Nlabel_decl
- var n_comment: nullable Ncomment
- var n_eol: Neol
- init(n_label_decl: nullable Nlabel_decl, n_comment: nullable Ncomment, n_eol: Neol) do
- self.n_label_decl = n_label_decl
- self.n_comment = n_comment
- self.n_eol = n_eol
- end
- redef fun number_of_children do return 3
- redef fun child(i) do
- if i == 0 then return n_label_decl
- if i == 1 then return n_comment
- if i == 2 then return n_eol
- abort
- end
-end
-class Nline_instruction
- super Nline
- redef fun node_name do return "line_instruction"
- var n_label_decl: nullable Nlabel_decl
- var n_instruction: Ninstruction
- var n_comment: nullable Ncomment
- var n_eol: Neol
- init(n_label_decl: nullable Nlabel_decl, n_instruction: Ninstruction, n_comment: nullable Ncomment, n_eol: Neol) do
- self.n_label_decl = n_label_decl
- self.n_instruction = n_instruction
- self.n_comment = n_comment
- self.n_eol = n_eol
- end
- redef fun number_of_children do return 4
- redef fun child(i) do
- if i == 0 then return n_label_decl
- if i == 1 then return n_instruction
- if i == 2 then return n_comment
- if i == 3 then return n_eol
- abort
- end
-end
-class Nline_directive
- super Nline
- redef fun node_name do return "line_directive"
- var n_label_decl: nullable Nlabel_decl
- var n_directive: Ndirective
- var n_comment: nullable Ncomment
- var n_eol: Neol
- init(n_label_decl: nullable Nlabel_decl, n_directive: Ndirective, n_comment: nullable Ncomment, n_eol: Neol) do
- self.n_label_decl = n_label_decl
- self.n_directive = n_directive
- self.n_comment = n_comment
- self.n_eol = n_eol
- end
- redef fun number_of_children do return 4
- redef fun child(i) do
- if i == 0 then return n_label_decl
- if i == 1 then return n_directive
- if i == 2 then return n_comment
- if i == 3 then return n_eol
- abort
- end
-end
-class Nlabel_decl
- super NProd
- redef fun node_name do return "label_decl"
- var n_id: Nid
- var n_colon: Ncolon
- init(n_id: Nid, n_colon: Ncolon) do
- self.n_id = n_id
- self.n_colon = n_colon
- end
- redef fun number_of_children do return 2
- redef fun child(i) do
- if i == 0 then return n_id
- if i == 1 then return n_colon
- abort
- end
-end
-class Ninstruction
- super NProd
- redef fun node_name do return "instruction"
-end
-class Ninstruction_unary
- super Ninstruction
- redef fun node_name do return "instruction_unary"
- var n_id: Nid
- init(n_id: Nid) do
- self.n_id = n_id
- end
- redef fun number_of_children do return 1
- redef fun child(i) do
- if i == 0 then return n_id
- abort
- end
-end
-class Ninstruction_binary
- super Ninstruction
- redef fun node_name do return "instruction_binary"
- var n_id: Nid
- var n_operand: Noperand
- init(n_id: Nid, n_operand: Noperand) do
- self.n_id = n_id
- self.n_operand = n_operand
- end
- redef fun number_of_children do return 2
- redef fun child(i) do
- if i == 0 then return n_id
- if i == 1 then return n_operand
- abort
- end
-end
-class Noperand
- super NProd
- redef fun node_name do return "operand"
-end
-class Noperand_immediate
- super Noperand
- redef fun node_name do return "operand_immediate"
- var n_value: Nvalue
- init(n_value: Nvalue) do
- self.n_value = n_value
- end
- redef fun number_of_children do return 1
- redef fun child(i) do
- if i == 0 then return n_value
- abort
- end
-end
-class Noperand_any
- super Noperand
- redef fun node_name do return "operand_any"
- var n_value: Nvalue
- var n_comma: Ncomma
- var n_id: Nid
- init(n_value: Nvalue, n_comma: Ncomma, n_id: Nid) do
- self.n_value = n_value
- self.n_comma = n_comma
- self.n_id = n_id
- end
- redef fun number_of_children do return 3
- redef fun child(i) do
- if i == 0 then return n_value
- if i == 1 then return n_comma
- if i == 2 then return n_id
- abort
- end
-end
-class Nvalue
- super NProd
- redef fun node_name do return "value"
-end
-class Nvalue_label
- super Nvalue
- redef fun node_name do return "value_label"
- var n_id: Nid
- init(n_id: Nid) do
- self.n_id = n_id
- end
- redef fun number_of_children do return 1
- redef fun child(i) do
- if i == 0 then return n_id
- abort
- end
-end
-class Nvalue_char
- super Nvalue
- redef fun node_name do return "value_char"
- var n_char: Nchar
- init(n_char: Nchar) do
- self.n_char = n_char
- end
- redef fun number_of_children do return 1
- redef fun child(i) do
- if i == 0 then return n_char
- abort
- end
-end
-class Nvalue_string
- super Nvalue
- redef fun node_name do return "value_string"
- var n_string: Nstring
- init(n_string: Nstring) do
- self.n_string = n_string
- end
- redef fun number_of_children do return 1
- redef fun child(i) do
- if i == 0 then return n_string
- abort
- end
-end
-class Ndirective
- super NProd
- redef fun node_name do return "directive"
-end
-class Ndirective_byte
- super Ndirective
- redef fun node_name do return "directive_byte"
- var n_tk_byte: Ntk_byte
- var n_value: Nvalue
- init(n_tk_byte: Ntk_byte, n_value: Nvalue) do
- self.n_tk_byte = n_tk_byte
- self.n_value = n_value
- end
- redef fun number_of_children do return 2
- redef fun child(i) do
- if i == 0 then return n_tk_byte
- if i == 1 then return n_value
- abort
- end
-end
-class Ndirective_word
- super Ndirective
- redef fun node_name do return "directive_word"
- var n_tk_word: Ntk_word
- var n_value: Nvalue
- init(n_tk_word: Ntk_word, n_value: Nvalue) do
- self.n_tk_word = n_tk_word
- self.n_value = n_value
- end
- redef fun number_of_children do return 2
- redef fun child(i) do
- if i == 0 then return n_tk_word
- if i == 1 then return n_value
- abort
- end
-end
-class Ndirective_block
- super Ndirective
- redef fun node_name do return "directive_block"
- var n_tk_block: Ntk_block
- var n_value: Nvalue
- init(n_tk_block: Ntk_block, n_value: Nvalue) do
- self.n_tk_block = n_tk_block
- self.n_value = n_value
- end
- redef fun number_of_children do return 2
- redef fun child(i) do
- if i == 0 then return n_tk_block
- if i == 1 then return n_value
- abort
- end
-end
-class Ndirective_ascii
- super Ndirective
- redef fun node_name do return "directive_ascii"
- var n_tk_ascii: Ntk_ascii
- var n_value: Nvalue
- init(n_tk_ascii: Ntk_ascii, n_value: Nvalue) do
- self.n_tk_ascii = n_tk_ascii
- self.n_value = n_value
- end
- redef fun number_of_children do return 2
- redef fun child(i) do
- if i == 0 then return n_tk_ascii
- if i == 1 then return n_value
- abort
- end
-end
-class Ndirective_addrss
- super Ndirective
- redef fun node_name do return "directive_addrss"
- var n_tk_addrss: Ntk_addrss
- var n_value: Nvalue
- init(n_tk_addrss: Ntk_addrss, n_value: Nvalue) do
- self.n_tk_addrss = n_tk_addrss
- self.n_value = n_value
- end
- redef fun number_of_children do return 2
- redef fun child(i) do
- if i == 0 then return n_tk_addrss
- if i == 1 then return n_value
- abort
- end
-end
-class Ndirective_equate
- super Ndirective
- redef fun node_name do return "directive_equate"
- var n_tk_equate: Ntk_equate
- var n_value: Nvalue
- init(n_tk_equate: Ntk_equate, n_value: Nvalue) do
- self.n_tk_equate = n_tk_equate
- self.n_value = n_value
- end
- redef fun number_of_children do return 2
- redef fun child(i) do
- if i == 0 then return n_tk_equate
- if i == 1 then return n_value
- abort
- end
-end
-class Ndirective_burn
- super Ndirective
- redef fun node_name do return "directive_burn"
- var n_tk_burn: Ntk_burn
- var n_value: Nvalue
- init(n_tk_burn: Ntk_burn, n_value: Nvalue) do
- self.n_tk_burn = n_tk_burn
- self.n_value = n_value
- end
- redef fun number_of_children do return 2
- redef fun child(i) do
- if i == 0 then return n_tk_burn
- if i == 1 then return n_value
- abort
- end
-end
-class N_start
- super NProd
- redef fun node_name do return "_start"
-end
-class NStart
- super N_start
- redef fun node_name do return "Start"
- var n_0: Nlisting
- var n_1: NEof
- init(n_0: Nlisting, n_1: NEof) do
- self.n_0 = n_0
- self.n_1 = n_1
- end
- redef fun number_of_children do return 2
- redef fun child(i) do
- if i == 0 then return n_0
- if i == 1 then return n_1
- abort
- end
-end
-# State Start
-private class LRStateStart
- super LRState
- redef fun to_s do return "Start"
- redef fun error_msg do return "listing, line+, line, label_decl, instruction, directive"
- redef fun action(parser) do
- parser.peek_token.action_sStart(parser)
- end
- redef fun goto(parser, goto) do
- goto.goto_sStart(parser)
- end
-end
-# State listing
-private class LRStatelisting
- super LRState
- redef fun to_s do return "listing"
- redef fun error_msg do return "Eof"
- redef fun action(parser) do
- parser.peek_token.action_slisting(parser)
- end
-end
-# State line+
-private class LRStateline_43d
- super LRState
- redef fun to_s do return "line+"
- redef fun error_msg do return "label_decl, line, instruction, directive"
- redef fun action(parser) do
- parser.peek_token.action_sline_43d(parser)
- end
- redef fun goto(parser, goto) do
- goto.goto_sline_43d(parser)
- end
-end
-# State line
-private class LRStateline
- super LRState
- redef fun to_s do return "line"
- redef fun error_msg do return ""
- redef fun action(parser) do
- # REDUCE line+::line+_one=line
- var n0 = parser.pop.as(Nline)
- var prod = new Nodes[Nline]
- prod.items.add(n0)
- parser.node_stack.push prod
- parser.goto(goto_Nline_43d)
- end
-end
-# State label_decl
-private class LRStatelabel_decl
- super LRState
- redef fun to_s do return "label_decl"
- redef fun error_msg do return "instruction, directive"
- redef fun action(parser) do
- parser.peek_token.action_slabel_decl(parser)
- end
- redef fun goto(parser, goto) do
- goto.goto_slabel_decl(parser)
- end
-end
-# State id
-private class LRStateid
- super LRState
- redef fun to_s do return "id"
- redef fun error_msg do return "operand, value"
- redef fun action(parser) do
- parser.peek_token.action_sid(parser)
- end
- redef fun goto(parser, goto) do
- goto.goto_sid(parser)
- end
-end
-# State comment
-private class LRStatecomment
- super LRState
- redef fun to_s do return "comment"
- redef fun error_msg do return "eol"
- redef fun action(parser) do
- parser.peek_token.action_scomment(parser)
- end
-end
-# State eol
-private class LRStateeol
- super LRState
- redef fun to_s do return "eol"
- redef fun error_msg do return ""
- redef fun action(parser) do
- # REDUCE line::line_empty_3=eol
- var n0 = parser.pop.as(Neol)
- var p1 = new Nline_empty(null, null, n0)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Nline)
- end
-end
-# State instruction
-private class LRStateinstruction
- super LRState
- redef fun to_s do return "instruction"
- redef fun error_msg do return "comment, eol"
- redef fun action(parser) do
- parser.peek_token.action_sinstruction(parser)
- end
-end
-# State directive
-private class LRStatedirective
- super LRState
- redef fun to_s do return "directive"
- redef fun error_msg do return "comment, eol"
- redef fun action(parser) do
- parser.peek_token.action_sdirective(parser)
- end
-end
-# State tk_byte
-private class LRStatetk_byte
- super LRState
- redef fun to_s do return "tk_byte"
- redef fun error_msg do return "value"
- redef fun action(parser) do
- parser.peek_token.action_stk_byte(parser)
- end
- redef fun goto(parser, goto) do
- parser.push(state_tk_byte_32dvalue)
- end
-end
-# State tk_word
-private class LRStatetk_word
- super LRState
- redef fun to_s do return "tk_word"
- redef fun error_msg do return "value"
- redef fun action(parser) do
- parser.peek_token.action_stk_word(parser)
- end
- redef fun goto(parser, goto) do
- parser.push(state_tk_word_32dvalue)
- end
-end
-# State tk_block
-private class LRStatetk_block
- super LRState
- redef fun to_s do return "tk_block"
- redef fun error_msg do return "value"
- redef fun action(parser) do
- parser.peek_token.action_stk_block(parser)
- end
- redef fun goto(parser, goto) do
- parser.push(state_tk_block_32dvalue)
- end
-end
-# State tk_ascii
-private class LRStatetk_ascii
- super LRState
- redef fun to_s do return "tk_ascii"
- redef fun error_msg do return "value"
- redef fun action(parser) do
- parser.peek_token.action_stk_ascii(parser)
- end
- redef fun goto(parser, goto) do
- parser.push(state_tk_ascii_32dvalue)
- end
-end
-# State tk_addrss
-private class LRStatetk_addrss
- super LRState
- redef fun to_s do return "tk_addrss"
- redef fun error_msg do return "value"
- redef fun action(parser) do
- parser.peek_token.action_stk_addrss(parser)
- end
- redef fun goto(parser, goto) do
- parser.push(state_tk_addrss_32dvalue)
- end
-end
-# State tk_equate
-private class LRStatetk_equate
- super LRState
- redef fun to_s do return "tk_equate"
- redef fun error_msg do return "value"
- redef fun action(parser) do
- parser.peek_token.action_stk_equate(parser)
- end
- redef fun goto(parser, goto) do
- parser.push(state_tk_equate_32dvalue)
- end
-end
-# State tk_burn
-private class LRStatetk_burn
- super LRState
- redef fun to_s do return "tk_burn"
- redef fun error_msg do return "value"
- redef fun action(parser) do
- parser.peek_token.action_stk_burn(parser)
- end
- redef fun goto(parser, goto) do
- parser.push(state_tk_burn_32dvalue)
- end
-end
-# State end_block
-private class LRStateend_block
- super LRState
- redef fun to_s do return "end_block"
- redef fun error_msg do return ""
- redef fun action(parser) do
- # REDUCE listing::listing_3=end_block
- var n0 = parser.pop.as(Nend_block)
- var p1 = new Nlisting(null, null, n0)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Nlisting)
- end
-end
-# State listing Eof
-private class LRStatelisting_32dEof
- super LRState
- redef fun to_s do return "listing Eof"
- redef fun error_msg do return ""
- redef fun action(parser) do
- # REDUCE _start::Start=listing Eof
- var n1 = parser.pop.as(NEof)
- var n0 = parser.pop.as(Nlisting)
- var p1 = new NStart(n0, n1)
- var prod = p1
- parser.node_stack.push prod
- parser.stop = true
- end
-end
-# State line+ label_decl
-private class LRStateline_43d_32dlabel_decl
- super LRState
- redef fun to_s do return "line+ label_decl"
- redef fun error_msg do return "instruction, directive"
- redef fun action(parser) do
- parser.peek_token.action_sline_43d_32dlabel_decl(parser)
- end
- redef fun goto(parser, goto) do
- goto.goto_sline_43d_32dlabel_decl(parser)
- end
-end
-# State line+ line
-private class LRStateline_43d_32dline
- super LRState
- redef fun to_s do return "line+ line"
- redef fun error_msg do return ""
- redef fun action(parser) do
- # REDUCE line+::line+_more=line+ line
- var n1 = parser.pop.as(Nline)
- var n0 = parser.pop.as(Nodes[Nline])
- var prod = n0
- n0.items.add(n1)
- parser.node_stack.push prod
- parser.goto(goto_Nline_43d)
- end
-end
-# State line+ end_block
-private class LRStateline_43d_32dend_block
- super LRState
- redef fun to_s do return "line+ end_block"
- redef fun error_msg do return ""
- redef fun action(parser) do
- # REDUCE listing::listing_2=line+ end_block
- var n1 = parser.pop.as(Nend_block)
- var n0 = parser.pop.as(Nodes[Nline])
- var p1 = new Nlisting(n0, null, n1)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Nlisting)
- end
-end
-# State label_decl comment
-private class LRStatelabel_decl_32dcomment
- super LRState
- redef fun to_s do return "label_decl comment"
- redef fun error_msg do return "eol"
- redef fun action(parser) do
- parser.peek_token.action_slabel_decl_32dcomment(parser)
- end
-end
-# State label_decl eol
-private class LRStatelabel_decl_32deol
- super LRState
- redef fun to_s do return "label_decl eol"
- redef fun error_msg do return ""
- redef fun action(parser) do
- # REDUCE line::line_empty_2=label_decl eol
- var n1 = parser.pop.as(Neol)
- var n0 = parser.pop.as(Nlabel_decl)
- var p1 = new Nline_empty(n0, null, n1)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Nline)
- end
-end
-# State label_decl instruction
-private class LRStatelabel_decl_32dinstruction
- super LRState
- redef fun to_s do return "label_decl instruction"
- redef fun error_msg do return "comment, eol"
- redef fun action(parser) do
- parser.peek_token.action_slabel_decl_32dinstruction(parser)
- end
-end
-# State label_decl directive
-private class LRStatelabel_decl_32ddirective
- super LRState
- redef fun to_s do return "label_decl directive"
- redef fun error_msg do return "comment, eol"
- redef fun action(parser) do
- parser.peek_token.action_slabel_decl_32ddirective(parser)
- end
-end
-# State label_decl end_block
-private class LRStatelabel_decl_32dend_block
- super LRState
- redef fun to_s do return "label_decl end_block"
- redef fun error_msg do return ""
- redef fun action(parser) do
- # REDUCE listing::listing_1=label_decl end_block
- var n1 = parser.pop.as(Nend_block)
- var n0 = parser.pop.as(Nlabel_decl)
- var p1 = new Nlisting(null, n0, n1)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Nlisting)
- end
-end
-# State label_decl id
-private class LRStatelabel_decl_32did
- super LRState
- redef fun to_s do return "label_decl id"
- redef fun error_msg do return "operand, value"
- redef fun action(parser) do
- parser.peek_token.action_slabel_decl_32did(parser)
- end
- redef fun goto(parser, goto) do
- goto.goto_slabel_decl_32did(parser)
- end
-end
-# State id colon
-private class LRStateid_32dcolon
- super LRState
- redef fun to_s do return "id colon"
- redef fun error_msg do return ""
- redef fun action(parser) do
- # REDUCE label_decl::label_decl=id colon
- var n1 = parser.pop.as(Ncolon)
- var n0 = parser.pop.as(Nid)
- var p1 = new Nlabel_decl(n0, n1)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Nlabel_decl)
- end
-end
-# State id operand
-private class LRStateid_32doperand
- super LRState
- redef fun to_s do return "id operand"
- redef fun error_msg do return ""
- redef fun action(parser) do
- # REDUCE instruction::instruction_binary=id operand
- var n1 = parser.pop.as(Noperand)
- var n0 = parser.pop.as(Nid)
- var p1 = new Ninstruction_binary(n0, n1)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Ninstruction)
- end
-end
-# State id value
-private class LRStateid_32dvalue
- super LRState
- redef fun to_s do return "id value"
- redef fun error_msg do return "comma"
- redef fun action(parser) do
- parser.peek_token.action_sid_32dvalue(parser)
- end
-end
-# State id id
-private class LRStateid_32did
- super LRState
- redef fun to_s do return "id id"
- redef fun error_msg do return ""
- redef fun action(parser) do
- # REDUCE value::value_label=id
- var n0 = parser.pop.as(Nid)
- var p1 = new Nvalue_label(n0)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Nvalue)
- end
-end
-# State id char
-private class LRStateid_32dchar
- super LRState
- redef fun to_s do return "id char"
- redef fun error_msg do return ""
- redef fun action(parser) do
- # REDUCE value::value_char=char
- var n0 = parser.pop.as(Nchar)
- var p1 = new Nvalue_char(n0)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Nvalue)
- end
-end
-# State id string
-private class LRStateid_32dstring
- super LRState
- redef fun to_s do return "id string"
- redef fun error_msg do return ""
- redef fun action(parser) do
- # REDUCE value::value_string=string
- var n0 = parser.pop.as(Nstring)
- var p1 = new Nvalue_string(n0)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Nvalue)
- end
-end
-# State comment eol
-private class LRStatecomment_32deol
- super LRState
- redef fun to_s do return "comment eol"
- redef fun error_msg do return ""
- redef fun action(parser) do
- # REDUCE line::line_empty_1=comment eol
- var n1 = parser.pop.as(Neol)
- var n0 = parser.pop.as(Ncomment)
- var p1 = new Nline_empty(null, n0, n1)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Nline)
- end
-end
-# State instruction comment
-private class LRStateinstruction_32dcomment
- super LRState
- redef fun to_s do return "instruction comment"
- redef fun error_msg do return "eol"
- redef fun action(parser) do
- parser.peek_token.action_sinstruction_32dcomment(parser)
- end
-end
-# State instruction eol
-private class LRStateinstruction_32deol
- super LRState
- redef fun to_s do return "instruction eol"
- redef fun error_msg do return ""
- redef fun action(parser) do
- # REDUCE line::line_instruction_3=instruction eol
- var n1 = parser.pop.as(Neol)
- var n0 = parser.pop.as(Ninstruction)
- var p1 = new Nline_instruction(null, n0, null, n1)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Nline)
- end
-end
-# State directive comment
-private class LRStatedirective_32dcomment
- super LRState
- redef fun to_s do return "directive comment"
- redef fun error_msg do return "eol"
- redef fun action(parser) do
- parser.peek_token.action_sdirective_32dcomment(parser)
- end
-end
-# State directive eol
-private class LRStatedirective_32deol
- super LRState
- redef fun to_s do return "directive eol"
- redef fun error_msg do return ""
- redef fun action(parser) do
- # REDUCE line::line_directive_3=directive eol
- var n1 = parser.pop.as(Neol)
- var n0 = parser.pop.as(Ndirective)
- var p1 = new Nline_directive(null, n0, null, n1)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Nline)
- end
-end
-# State tk_byte value
-private class LRStatetk_byte_32dvalue
- super LRState
- redef fun to_s do return "tk_byte value"
- redef fun error_msg do return ""
- redef fun action(parser) do
- # REDUCE directive::directive_byte=tk_byte value
- var n1 = parser.pop.as(Nvalue)
- var n0 = parser.pop.as(Ntk_byte)
- var p1 = new Ndirective_byte(n0, n1)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Ndirective)
- end
-end
-# State tk_word value
-private class LRStatetk_word_32dvalue
- super LRState
- redef fun to_s do return "tk_word value"
- redef fun error_msg do return ""
- redef fun action(parser) do
- # REDUCE directive::directive_word=tk_word value
- var n1 = parser.pop.as(Nvalue)
- var n0 = parser.pop.as(Ntk_word)
- var p1 = new Ndirective_word(n0, n1)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Ndirective)
- end
-end
-# State tk_block value
-private class LRStatetk_block_32dvalue
- super LRState
- redef fun to_s do return "tk_block value"
- redef fun error_msg do return ""
- redef fun action(parser) do
- # REDUCE directive::directive_block=tk_block value
- var n1 = parser.pop.as(Nvalue)
- var n0 = parser.pop.as(Ntk_block)
- var p1 = new Ndirective_block(n0, n1)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Ndirective)
- end
-end
-# State tk_ascii value
-private class LRStatetk_ascii_32dvalue
- super LRState
- redef fun to_s do return "tk_ascii value"
- redef fun error_msg do return ""
- redef fun action(parser) do
- # REDUCE directive::directive_ascii=tk_ascii value
- var n1 = parser.pop.as(Nvalue)
- var n0 = parser.pop.as(Ntk_ascii)
- var p1 = new Ndirective_ascii(n0, n1)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Ndirective)
- end
-end
-# State tk_addrss value
-private class LRStatetk_addrss_32dvalue
- super LRState
- redef fun to_s do return "tk_addrss value"
- redef fun error_msg do return ""
- redef fun action(parser) do
- # REDUCE directive::directive_addrss=tk_addrss value
- var n1 = parser.pop.as(Nvalue)
- var n0 = parser.pop.as(Ntk_addrss)
- var p1 = new Ndirective_addrss(n0, n1)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Ndirective)
- end
-end
-# State tk_equate value
-private class LRStatetk_equate_32dvalue
- super LRState
- redef fun to_s do return "tk_equate value"
- redef fun error_msg do return ""
- redef fun action(parser) do
- # REDUCE directive::directive_equate=tk_equate value
- var n1 = parser.pop.as(Nvalue)
- var n0 = parser.pop.as(Ntk_equate)
- var p1 = new Ndirective_equate(n0, n1)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Ndirective)
- end
-end
-# State tk_burn value
-private class LRStatetk_burn_32dvalue
- super LRState
- redef fun to_s do return "tk_burn value"
- redef fun error_msg do return ""
- redef fun action(parser) do
- # REDUCE directive::directive_burn=tk_burn value
- var n1 = parser.pop.as(Nvalue)
- var n0 = parser.pop.as(Ntk_burn)
- var p1 = new Ndirective_burn(n0, n1)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Ndirective)
- end
-end
-# State line+ label_decl end_block
-private class LRStateline_43d_32dlabel_decl_32dend_block
- super LRState
- redef fun to_s do return "line+ label_decl end_block"
- redef fun error_msg do return ""
- redef fun action(parser) do
- # REDUCE listing::listing_0=line+ label_decl end_block
- var n2 = parser.pop.as(Nend_block)
- var n1 = parser.pop.as(Nlabel_decl)
- var n0 = parser.pop.as(Nodes[Nline])
- var p1 = new Nlisting(n0, n1, n2)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Nlisting)
- end
-end
-# State label_decl comment eol
-private class LRStatelabel_decl_32dcomment_32deol
- super LRState
- redef fun to_s do return "label_decl comment eol"
- redef fun error_msg do return ""
- redef fun action(parser) do
- # REDUCE line::line_empty_0=label_decl comment eol
- var n2 = parser.pop.as(Neol)
- var n1 = parser.pop.as(Ncomment)
- var n0 = parser.pop.as(Nlabel_decl)
- var p1 = new Nline_empty(n0, n1, n2)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Nline)
- end
-end
-# State label_decl instruction comment
-private class LRStatelabel_decl_32dinstruction_32dcomment
- super LRState
- redef fun to_s do return "label_decl instruction comment"
- redef fun error_msg do return "eol"
- redef fun action(parser) do
- parser.peek_token.action_slabel_decl_32dinstruction_32dcomment(parser)
- end
-end
-# State label_decl instruction eol
-private class LRStatelabel_decl_32dinstruction_32deol
- super LRState
- redef fun to_s do return "label_decl instruction eol"
- redef fun error_msg do return ""
- redef fun action(parser) do
- # REDUCE line::line_instruction_2=label_decl instruction eol
- var n2 = parser.pop.as(Neol)
- var n1 = parser.pop.as(Ninstruction)
- var n0 = parser.pop.as(Nlabel_decl)
- var p1 = new Nline_instruction(n0, n1, null, n2)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Nline)
- end
-end
-# State label_decl directive comment
-private class LRStatelabel_decl_32ddirective_32dcomment
- super LRState
- redef fun to_s do return "label_decl directive comment"
- redef fun error_msg do return "eol"
- redef fun action(parser) do
- parser.peek_token.action_slabel_decl_32ddirective_32dcomment(parser)
- end
-end
-# State label_decl directive eol
-private class LRStatelabel_decl_32ddirective_32deol
- super LRState
- redef fun to_s do return "label_decl directive eol"
- redef fun error_msg do return ""
- redef fun action(parser) do
- # REDUCE line::line_directive_2=label_decl directive eol
- var n2 = parser.pop.as(Neol)
- var n1 = parser.pop.as(Ndirective)
- var n0 = parser.pop.as(Nlabel_decl)
- var p1 = new Nline_directive(n0, n1, null, n2)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Nline)
- end
-end
-# State id value comma
-private class LRStateid_32dvalue_32dcomma
- super LRState
- redef fun to_s do return "id value comma"
- redef fun error_msg do return "id"
- redef fun action(parser) do
- parser.peek_token.action_sid_32dvalue_32dcomma(parser)
- end
-end
-# State instruction comment eol
-private class LRStateinstruction_32dcomment_32deol
- super LRState
- redef fun to_s do return "instruction comment eol"
- redef fun error_msg do return ""
- redef fun action(parser) do
- # REDUCE line::line_instruction_1=instruction comment eol
- var n2 = parser.pop.as(Neol)
- var n1 = parser.pop.as(Ncomment)
- var n0 = parser.pop.as(Ninstruction)
- var p1 = new Nline_instruction(null, n0, n1, n2)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Nline)
- end
-end
-# State directive comment eol
-private class LRStatedirective_32dcomment_32deol
- super LRState
- redef fun to_s do return "directive comment eol"
- redef fun error_msg do return ""
- redef fun action(parser) do
- # REDUCE line::line_directive_1=directive comment eol
- var n2 = parser.pop.as(Neol)
- var n1 = parser.pop.as(Ncomment)
- var n0 = parser.pop.as(Ndirective)
- var p1 = new Nline_directive(null, n0, n1, n2)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Nline)
- end
-end
-# State label_decl instruction comment eol
-private class LRStatelabel_decl_32dinstruction_32dcomment_32deol
- super LRState
- redef fun to_s do return "label_decl instruction comment eol"
- redef fun error_msg do return ""
- redef fun action(parser) do
- # REDUCE line::line_instruction_0=label_decl instruction comment eol
- var n3 = parser.pop.as(Neol)
- var n2 = parser.pop.as(Ncomment)
- var n1 = parser.pop.as(Ninstruction)
- var n0 = parser.pop.as(Nlabel_decl)
- var p1 = new Nline_instruction(n0, n1, n2, n3)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Nline)
- end
-end
-# State label_decl directive comment eol
-private class LRStatelabel_decl_32ddirective_32dcomment_32deol
- super LRState
- redef fun to_s do return "label_decl directive comment eol"
- redef fun error_msg do return ""
- redef fun action(parser) do
- # REDUCE line::line_directive_0=label_decl directive comment eol
- var n3 = parser.pop.as(Neol)
- var n2 = parser.pop.as(Ncomment)
- var n1 = parser.pop.as(Ndirective)
- var n0 = parser.pop.as(Nlabel_decl)
- var p1 = new Nline_directive(n0, n1, n2, n3)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Nline)
- end
-end
-# State id value comma id
-private class LRStateid_32dvalue_32dcomma_32did
- super LRState
- redef fun to_s do return "id value comma id"
- redef fun error_msg do return ""
- redef fun action(parser) do
- # REDUCE operand::operand_any=value comma id
- var n2 = parser.pop.as(Nid)
- var n1 = parser.pop.as(Ncomma)
- var n0 = parser.pop.as(Nvalue)
- var p1 = new Noperand_any(n0, n1, n2)
- var prod = p1
- parser.node_stack.push prod
- parser.goto(goto_Noperand)
- end
-end
+++ /dev/null
-# Generated by nitcc for the language pep8
-import nitcc_runtime
-import pep8_lexer
-import pep8_parser
-class MyTest
- super TestParser
- redef fun name do return "pep8"
- redef fun new_lexer(text) do return new MyLexer(text)
- redef fun new_parser do return new MyParser
-end
-var t = new MyTest
-t.main
import cfg
import flow_analysis
intrude import standard::stream
+import cpp
in "C++" `{
#include <bind.h>
import test_shared_preferences
import test_assets_and_resources
import test_target_api
+import test_data_store
import test_intent
img = load_image( "fighter.png" )
end
- var r: Float = 0.0
- var g: Float = 0.0
- var b: Float = 0.0
+ var r = 0.0 is writable
+ var g = 0.0 is writable
+ var b = 0.0 is writable
redef fun frame_core( display )
do
b = b + 0.01
import simple
import mnit_linux
+import test_data_store
+
super
--- /dev/null
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Copyright 2014 Alexis Laferrière <alexis.laf@xymus.net>
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Test for the shared_preferences module of App.nit framework
+module test_data_store
+
+import simple
+import app::data_store
+
+redef class App
+ redef fun window_created
+ do
+ super
+
+ # load colors from data store
+ var r = data_store["r"]
+ if r isa Float then
+ self.r = r
+ print "r {r}"
+ else assert r == null
+
+ var g = data_store["g"]
+ if g isa Float then
+ self.g = g
+ print "g {g}"
+ else assert g == null
+ end
+
+ redef fun input(ie)
+ do
+ if ie isa PointerEvent then
+ # save color for next execution
+ data_store["r"] = r
+ data_store["g"] = g
+ end
+
+ return super
+ end
+end
import native_app_glue
import dalvik
private import log
+private import android_data_store
# Uses Android logs to print everything
redef fun print(text) do log_write(priority_info, app.log_prefix.to_cstring, text.to_s.to_cstring)
--- /dev/null
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Copyright 2014 Alexis Laferrière <alexis.laf@xymus.net>
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Implements `app::data_store` using `shared_preferences`
+#
+# We use the shared preferences named "data_store" to store the data.
+module android_data_store
+
+import app::data_store
+private import shared_preferences
+
+redef class App
+ redef var data_store = new SharedPreferenceView
+end
+
+private class SharedPreferenceView
+ super DataStore
+
+ # The `SharedPreferences` used to implement the `DataStore`
+ var shared_preferences = new SharedPreferences.privately(app, "data_store") is lazy
+
+ redef fun [](key) do return shared_preferences[key]
+
+ redef fun []=(key, value) do shared_preferences[key] = value
+end
--- /dev/null
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Copyright 2011-2014 Alexis Laferrière <alexis.laf@xymus.net>
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# app.nit is a framework to create cross-platform applications
+#
+# The features offered by this modules are common to all platforms, but
+# may not be available on all devices.
+module app
+
+import app_base
# See the License for the specific language governing permissions and
# limitations under the License.
-# app.nit is a framework to create cross-platform applications
-#
-# The features offered by this modules are common to all platforms, but
-# may not be available on all devices.
-module app is
+module app_base is
new_annotation app_name
new_annotation app_version
end
--- /dev/null
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Copyright 2014 Alexis Laferrière <alexis.laf@xymus.net>
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Simple data storage services
+#
+# The implementation varies per platform.
+module data_store
+
+import app_base
+import serialization
+
+redef class App
+ # Services to store and load data
+ fun data_store: DataStore is abstract
+end
+
+# Simple data storage facility
+interface DataStore
+
+ # Get the object stored at `key`, or null if nothing is available
+ fun [](key: String): nullable Object is abstract
+
+ # Store `value` at `key`
+ fun []=(key: String, value: Serializable) is abstract
+end
--- /dev/null
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Mix of all things cryptography-related
+module crypto
+
+redef class Char
+ # Rotates self of `x`
+ #
+ # NOTE: works on letters only
+ #
+ # assert 'x'.rot(6) == 'd'
+ # assert 'T'.rot(15) == 'I'
+ # assert '1'.rot(10) == '1'
+ # assert '$'.rot(10) == '$'
+ # assert 'z'.rot(-2) == 'x'
+ fun rot(x: Int): Char do
+ if not is_letter then return self
+ x = x % 26
+ if x < 0 then x += 26
+ var up = false
+ var val = ascii
+ if is_upper then
+ up = true
+ val += 32
+ end
+ val += x
+ if val > 122 then val -= 26
+ if up then val -= 32
+ return val.ascii
+ end
+end
+
+redef class String
+ # Performs a Rotation of `x` on each letter of self
+ #
+ # Works by replacing every character in `self` by its
+ # rotated char.
+ #
+ # Say we have a rotation of `3` (Caesar rotation, for
+ # culture) for a string : "aybabtu"
+ #
+ # a, rotated by 3 becomes d
+ # y, rotated by 3 becomes b
+ # b, rotated by 3 becomes e
+ # t, rotated by 3 becomes w
+ # u, rotated by 3 becomes x
+ #
+ # We then replace every letter in our original string by
+ # their rotated representations, therefore yielding : "dbedewx"
+ #
+ # assert "All your base are belong to us".rot(13) == "Nyy lbhe onfr ner orybat gb hf"
+ # assert "This is no moon.".rot(4).rot(22) == "This is no moon."
+ #
+ # NOTE : Works on letters only
+ # NOTE : This cipher is symmetrically decrypted with an `x` of 26-`x`
+ fun rot(x: Int): String do
+ var rot = x % 26
+ if rot < 0 then rot += 26
+ var d = new FlatBuffer.with_capacity(length)
+ var p = 0
+ for i in chars do
+ d.add i.rot(rot)
+ end
+ return d.to_s
+ end
+
+ # Returns a rail-fence cipher from `self` with `depth` rails
+ #
+ # Rail works by drawing a zig-zag pattern on `depth` rails.
+ #
+ # Say we have "fuckingbehemoth".railfence(4)
+ #
+ # This happens in-memory :
+ # f.....g.....o..
+ # .u...n.b...m.t.
+ # ..c.i...e.e...h
+ # ...k.....h.....
+ #
+ # Therefore, yielding the ciphertext : "fgounbmtcieehkh"
+ #
+ # assert "fuckingbehemoth".railfence(4) == "fgounbmtcieehkh"
+ fun railfence(depth: Int): String do
+ var lines = new Array[FlatBuffer].with_capacity(depth)
+ var up = false
+ for i in [0..depth[ do
+ lines[i] = new FlatBuffer.with_capacity(length)
+ end
+ var curr_depth = 0
+ for i in chars do
+ for j in [0..depth[ do
+ if j == curr_depth then
+ lines[j].add i
+ else
+ lines[j].add '.'
+ end
+ end
+ if up then
+ curr_depth -= 1
+ else
+ curr_depth += 1
+ end
+ if curr_depth == 0 then
+ up = false
+ end
+ if curr_depth == (depth - 1) then
+ up = true
+ end
+ end
+ var r = new FlatBuffer.with_capacity(length)
+ for i in lines do
+ r.append i.to_s.replace(".", "")
+ end
+ return r.to_s
+ end
+
+ # Transforms a rail-fence-encrypted String to its original
+ #
+ # assert "fgounbmtcieehkh".unrail(4) == "fuckingbehemoth"
+ fun unrail(depth: Int): String do
+ var dots = "." * length
+ var arr = new FlatBuffer.from(dots)
+ var start = 0
+ var paces = depth.unrail_paces
+ for i in [0..depth[ do
+ var lp = paces[i].first
+ var rp = paces[i].second
+ var pos = i
+ var l = true
+ while pos < length do
+ arr[pos] = chars[start]
+ if l then
+ pos += lp
+ l = false
+ else
+ pos += rp
+ l = true
+ end
+ start += 1
+ end
+ end
+ return arr.to_s
+ end
+end
+
+redef class Int
+ # Generates the paces for each depth.
+ #
+ # Each entry of the returned array is a couple of the first pace
+ # and the second one, they are alternated when deciphering a rail-encrypted string.
+ #
+ # Say we have the encrypted string "fgounbmtcieehkh" on 4 rails
+ #
+ # To find the distance between each character on the original railed
+ # string, we need to compute the extremes.
+ #
+ # The extremes always have a distance of `depth - 1`, multiplied by 2, no pairing.
+ #
+ # In the example, that would be : [(4 - 1) * 2, (4 - 1) * 2] => [6,6]
+ #
+ # For every rail in-between, the first distance is the largest absolute value
+ # of the difference between the current depth and the extremes, multiplied by 2.
+ #
+ # Its pair is the distance of maximum and the distance yielded by the previous
+ # calculation.
+ #
+ # In our example, that would be :
+ #
+ # Maximums : (4 - 1) * 2 = 3 * 2 => [6,6]
+ # In between : Distance for depth 2 : max(2 - 1, 4 - 2) => 2
+ # The calculation yields the couple [(2 * 2), 6 - 4] => [4, 2]
+ # The symmetric couple is reversed : [2, 4]
+ #
+ # In fine, the example yields the array : [[6,6], [4,2], [2,4], [6,6]]
+ #
+ # In the end, our string is read using the generated array
+ #
+ # SEE: `String::unrail` for how the array is used
+ private fun unrail_paces: Array[Couple[Int, Int]] do
+ var ret = new Array[Couple[Int,Int]].with_capacity(self)
+ var extremes = new Couple[Int, Int]((self - 1) * 2, (self - 1) * 2)
+ for i in [0..self[ do
+ ret.add extremes
+ end
+ var mid = ((self.to_f)/2.0).floor.to_i
+ for i in [1 .. mid[ do
+ var rd = i + 1
+ var lodepth = self - rd
+ var hidepth = (rd - self).abs
+ var dd: Int
+ if hidepth > lodepth then
+ dd = hidepth * 2
+ else
+ dd = lodepth * 2
+ end
+ var cp = new Couple[Int, Int](dd, extremes.first-dd)
+ var ccp = new Couple[Int, Int](extremes.first - dd, dd)
+
+ ret[i] = cp
+ ret[self - rd] = ccp
+ end
+ if not self.is_even then
+ ret[mid] = new Couple[Int, Int](extremes.first/2, extremes.first/2)
+ end
+ return ret
+ end
+end
--- /dev/null
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Copyright 2014 Alexis Laferrière <alexis.laf@xymus.net>
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Implementation of app.nit for the Linux platform
+module linux
+
+import app
+private import linux_data_store
--- /dev/null
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Copyright 2014 Alexis Laferrière <alexis.laf@xymus.net>
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+module linux_data_store
+
+import app::data_store
+private import xdg_basedir
+private import sqlite3
+private import json_serialization
+
+redef class App
+ redef var data_store = new LinuxStore
+end
+
+private class LinuxStore
+ super DataStore
+
+ # File path of the Sqlite3 DB file
+ fun db_file: String do return "data_store.db"
+
+ # Sqlite3 table used
+ fun db_table: String do return "data_store"
+
+ private var db_cache: nullable Sqlite3DB = null
+
+ # Database to use to implement the `DataStore`
+ fun db: nullable Sqlite3DB
+ do
+ var db = db_cache
+ if db != null then return db
+
+ # Find DB path
+ var config_home = xdg_basedir.config_home.to_s
+ var config_dir = config_home.join_path(sys.program_name.basename(""))
+ if not config_dir.file_exists then config_dir.mkdir
+ var db_path = config_dir.join_path(db_file)
+
+ # Open DB connection
+ db = new Sqlite3DB.open(db_path)
+ if not db.is_open then
+ app.log_error "Data store unavaible, cannot load/save data. (at '{db_path}' with '{db.error or else "unknown"}')"
+ return null
+ end
+
+ # Create DB table
+ db.create_table "IF NOT EXISTS {db_table} (key TEXT PRIMARY KEY, value TEXT)"
+
+ db_cache = db
+ return db
+ end
+
+ redef fun [](key)
+ do
+ # Get DB
+ var db = self.db
+ if db == null then return null
+
+ # Prepare SELECT statement
+ var stmt = db.select("* FROM {db_table} WHERE key == {key.to_sql_string}")
+
+ # Execute statment
+ for row in stmt do
+ # Get from statement
+ var serialized = row[1].to_s
+ stmt.close
+
+ # Deserialize
+ var deserializer = new JsonDeserializer(serialized)
+ var deserialized = deserializer.deserialize
+
+ return deserialized
+ end
+
+ stmt.close
+ return null
+ end
+
+ redef fun []=(key, value)
+ do
+ # Get DB
+ var db = self.db
+ if db == null then return
+
+ # Serialize
+ var stream = new StringOStream
+ var serializer = new JsonSerializer(stream)
+ serializer.serialize value
+ var serialized = stream.to_s
+
+ # Save in DB
+ db.execute "BEGIN TRANSACTION"
+ db.insert "OR REPLACE INTO {db_table} VALUES({key.to_sql_string}, {serialized.to_sql_string})"
+ db.execute "COMMIT"
+ end
+end
current_line = line
current_block = root
while current_line != null do
- current_line.kind(self).process(self)
+ line_kind(current_line.as(not null)).process(self)
end
self.in_list = old_mode
self.current_block = old_root
# Is the current recursion in list mode?
# Used when visiting blocks with `recurse`
private var in_list = false
+
+ # The type of line.
+ # see: `md_line_*`
+ fun line_kind(md: MDLine): Line do
+ var value = md.value
+ var leading = md.leading
+ var trailing = md.trailing
+ if md.is_empty then return new LineEmpty
+ if md.leading > 3 then return new LineCode
+ if value[leading] == '#' then return new LineHeadline
+ if value[leading] == '>' then return new LineBlockquote
+
+ if value.length - leading - trailing > 2 then
+ if value[leading] == '`' and md.count_chars_start('`') >= 3 then
+ return new LineFence
+ end
+ if value[leading] == '~' and md.count_chars_start('~') >= 3 then
+ return new LineFence
+ end
+ end
+
+ if value.length - leading - trailing > 2 and
+ (value[leading] == '*' or value[leading] == '-' or value[leading] == '_') then
+ if md.count_chars(value[leading]) >= 3 then
+ return new LineHR
+ end
+ end
+
+ if value.length - leading >= 2 and value[leading + 1] == ' ' then
+ var c = value[leading]
+ if c == '*' or c == '-' or c == '+' then return new LineUList
+ end
+
+ if value.length - leading >= 3 and value[leading].is_digit then
+ var i = leading + 1
+ while i < value.length and value[i].is_digit do i += 1
+ if i + 1 < value.length and value[i] == '.' and value[i + 1] == ' ' then
+ return new LineOList
+ end
+ end
+
+ if value[leading] == '<' and md.check_html then return new LineXML
+
+ var next = md.next
+ if next != null and not next.is_empty then
+ if next.count_chars('=') > 0 then
+ return new LineHeadline1
+ end
+ if next.count_chars('-') > 0 then
+ return new LineHeadline2
+ end
+ end
+ return new LineOther
+ end
+
end
# Emit output corresponding to blocks content.
# Is the link an abreviation?
var is_abbrev = false
+ # Create a link with a title.
init with_title(link: String, title: nullable String) do
self.link = link
self.title = title
# Render a line break
fun add_line_break(v: MarkdownEmitter) is abstract
+
+ # Generate a new html valid id from a `String`.
+ fun strip_id(txt: String): String is abstract
+
+ # Found headlines during the processing labeled by their ids.
+ fun headlines: ArrayMap[String, HeadLine] is abstract
+end
+
+# Class representing a markdown headline.
+class HeadLine
+ # Unique identifier of this headline.
+ var id: String
+
+ # Text of the headline.
+ var title: String
+
+ # Level of this headline.
+ #
+ # According toe the markdown specification, level must be in `[1..6]`.
+ var level: Int
end
# `Decorator` that outputs HTML.
class HTMLDecorator
super Decorator
+ redef var headlines = new ArrayMap[String, HeadLine]
+
redef fun add_ruler(v, block) do v.add "<hr/>\n"
redef fun add_headline(v, block) do
- v.add "<h{block.depth}>"
+ # save headline
+ var txt = block.block.first_line.value
+ var id = strip_id(txt)
+ var lvl = block.depth
+ headlines[id] = new HeadLine(id, txt, lvl)
+ # output it
+ v.add "<h{lvl} id=\"{id}\">"
v.emit_in block
- v.add "</h{block.depth}>\n"
+ v.add "</h{lvl}>\n"
end
redef fun add_paragraph(v, block) do
end
end
end
+
+ redef fun strip_id(txt) do
+ # strip id
+ var b = new FlatBuffer
+ for c in txt do
+ if c == ' ' then
+ b.add '_'
+ else
+ if not c.is_letter and
+ not c.is_digit and
+ not allowed_id_chars.has(c) then continue
+ b.add c
+ end
+ end
+ var res = b.to_s
+ var key = res
+ # check for multiple id definitions
+ if headlines.has_key(key) then
+ var i = 1
+ key = "{res}_{i}"
+ while headlines.has_key(key) do
+ i += 1
+ key = "{res}_{i}"
+ end
+ end
+ return key
+ end
+
+ private var allowed_id_chars: Array[Char] = ['-', '_', ':', '.']
end
# A block of markdown lines.
var line = first_line
while line != null do
if not line.is_empty then
- var kind = line.kind(v)
+ var kind = v.line_kind(line)
if kind isa LineList then
line.value = kind.extract_value(line)
else
class BlockCode
super Block
+ # Number of char to skip at the beginning of the line.
+ #
+ # Block code lines start at 4 spaces.
+ protected var line_start = 4
+
redef fun emit(v) do v.decorator.add_code(v, self)
redef fun emit_lines(v) do
var line = block.first_line
while line != null do
if not line.is_empty then
- v.decorator.append_code(v, line.value, 4, line.value.length)
+ v.decorator.append_code(v, line.value, line_start, line.value.length)
end
v.addn
line = line.next
# this class is only used for typing purposes.
class BlockFence
super BlockCode
+
+ # Fence code lines start at 0 spaces.
+ redef var line_start = 0
end
# A markdown headline.
var line = block.first_line
line = line.next
while line != null do
- var t = line.kind(v)
+ var t = v.line_kind(line)
if t isa LineList or
(not line.is_empty and (line.prev_empty and line.leading == 0 and
not (t isa LineList))) then
# Is the next line empty?
var next_empty: Bool = false is writable
+ # Initialize a new MDLine from its string value
init(value: String) do
self.value = value
self.leading = process_leading
if next != null then next.prev_empty = true
end
- # The type of line.
- # see `md_line_*`
- fun kind(v: MarkdownProcessor): Line do
- var value = self.value
- if is_empty then return new LineEmpty
- if leading > 3 then return new LineCode
- if value[leading] == '#' then return new LineHeadline
- if value[leading] == '>' then return new LineBlockquote
-
- if value.length - leading - trailing > 2 then
- if value[leading] == '`' and count_chars_start('`') >= 3 then
- return new LineFence
- end
- if value[leading] == '~' and count_chars_start('~') >= 3 then
- return new LineFence
- end
- end
-
- if value.length - leading - trailing > 2 and
- (value[leading] == '*' or value[leading] == '-' or value[leading] == '_') then
- if count_chars(value[leading]) >= 3 then
- return new LineHR
- end
- end
-
- if value.length - leading >= 2 and value[leading + 1] == ' ' then
- var c = value[leading]
- if c == '*' or c == '-' or c == '+' then return new LineUList
- end
-
- if value.length - leading >= 3 and value[leading].is_digit then
- var i = leading + 1
- while i < value.length and value[i].is_digit do i += 1
- if i + 1 < value.length and value[i] == '.' and value[i + 1] == ' ' then
- return new LineOList
- end
- end
-
- if value[leading] == '<' and check_html then return new LineXML
-
- if next != null and not next.is_empty then
- if next.count_chars('=') > 0 then
- return new LineHeadline1
- end
- if next.count_chars('-') > 0 then
- return new LineHeadline2
- end
- end
- return new LineOther
- end
-
# Number or leading spaces on this line.
var leading: Int = 0 is writable
pos += 1
end
if pos >= line.value.length then
- if line.value[pos - 2] == '/' then
+ if pos - 2 >= 0 and line.value[pos - 2] == '/' then
tags.pop
if tags.is_empty then
xml_end_line = line
# go to block end
var was_empty = line.prev_empty
while line != null and not line.is_empty do
- var t = line.kind(v)
+ var t = v.line_kind(line)
if v.in_list and t isa LineList then
break
end
line = line.next
end
# build block
- var bk: Block
if line != null and not line.is_empty then
var block = v.current_block.split(line.prev.as(not null))
if v.in_list and not was_empty then
redef fun process(v) do
var line = v.current_line
# lookup block end
- while line != null and (line.is_empty or line.kind(v) isa LineCode) do
+ while line != null and (line.is_empty or v.line_kind(line) isa LineCode) do
line = line.next
end
# split at block end line
while line != null do
if not line.is_empty and (line.prev_empty and
line.leading == 0 and
- not line.kind(v) isa LineBlockquote) then break
+ not v.line_kind(line) isa LineBlockquote) then break
line = line.next
end
# build sub block
# go to fence end
var line = v.current_line.next
while line != null do
- if line.kind(v) isa LineFence then break
+ if v.line_kind(line) isa LineFence then break
line = line.next
end
if line != null then
end
block.kind = new BlockFence(block)
block.first_line.clear
- if block.last_line.kind(v) isa LineFence then
+ var last = block.last_line
+ if last != null and v.line_kind(last) isa LineFence then
block.last_line.clear
end
block.remove_surrounding_empty_lines
var block = v.current_block.split(line.as(not null))
var kind = new BlockHeadline(block)
block.kind = kind
- # TODO block ID
- # block.id = block.first_line.strip_id
kind.transform_headline(block)
v.current_block.remove_leading_empty_lines
v.current_line = v.current_block.first_line
var block = v.current_block.split(line.as(not null))
var kind = new BlockHeadline(block)
kind.depth = 1
- # TODO block ID
- # block.id = block.first_line.strip_id
kind.transform_headline(block)
block.kind = kind
v.current_block.remove_leading_empty_lines
var block = v.current_block.split(line.as(not null))
var kind = new BlockHeadline(block)
kind.depth = 2
- # TODO block ID
- # block.id = block.first_line.strip_id
kind.transform_headline(block)
block.kind = kind
v.current_block.remove_leading_empty_lines
var line = v.current_line
# go to list end
while line != null do
- var t = line.kind(v)
+ var t = v.line_kind(line)
if not line.is_empty and (line.prev_empty and line.leading == 0 and
not t isa LineList) then break
line = line.next
# Create a new block kind based on this line.
protected fun block_kind(block: MDBlock): BlockList is abstract
+ # Extract string value from `MDLine`.
protected fun extract_value(line: MDLine): String is abstract
end
var c0: Char
var c1: Char
var c2: Char
- var c3: Char
if pos > 0 then
c0 = self[pos - 1]
else
c2 = ' '
end
- if pos + 3 < length then
- c3 = self[pos + 3]
- else
- c3 = ' '
- end
if c == '*' then
if c1 == '*' then
This is a H2
-------------
"""
- var exp = "<h1>This is a H1</h1>\n<h2>This is a H2</h2>\n"
+ var exp = """
+<h1 id="This_is_a_H1">This is a H1</h1>
+<h2 id="This_is_a_H2">This is a H2</h2>
+"""
var res = test.md_to_html.write_to_string
assert res == exp
end
## This is a H2
###### This is a H6
"""
- var exp = "<h1>This is a H1</h1>\n<h2>This is a H2</h2>\n<h6>This is a H6</h6>\n"
+ var exp = """
+<h1 id="This_is_a_H1">This is a H1</h1>
+<h2 id="This_is_a_H2">This is a H2</h2>
+<h6 id="This_is_a_H6">This is a H6</h6>
+"""
var res = test.md_to_html.write_to_string
assert res == exp
end
### This is a H3 ######
"""
- var exp = "<h1>This is a H1</h1>\n<h2>This is a H2</h2>\n<h3>This is a H3</h3>\n"
+ var exp = """
+<h1 id="This_is_a_H1">This is a H1</h1>
+<h2 id="This_is_a_H2">This is a H2</h2>
+<h3 id="This_is_a_H3">This is a H3</h3>
+"""
var res = test.md_to_html.write_to_string
assert res == exp
end
assert res == exp
end
+ fun test_process_code3 do
+ var test = """
+Here is an example of AppleScript:
+~~~
+tell application "Foo"
+ beep
+end tell
+
+<div class="footer">
+ © 2004 Foo Corporation
+</div>
+~~~
+"""
+ var exp = """
+<p>Here is an example of AppleScript:</p>
+<pre><code>tell application "Foo"
+ beep
+end tell
+
+<div class="footer">
+ &copy; 2004 Foo Corporation
+</div>
+</code></pre>
+"""
+ var res = test.md_to_html.write_to_string
+ assert res == exp
+ end
+
+ fun test_process_code4 do
+ var test = """
+Here is an example of AppleScript:
+```
+tell application "Foo"
+ beep
+end tell
+
+<div class="footer">
+ © 2004 Foo Corporation
+</div>
+```
+"""
+ var exp = """
+<p>Here is an example of AppleScript:</p>
+<pre><code>tell application "Foo"
+ beep
+end tell
+
+<div class="footer">
+ &copy; 2004 Foo Corporation
+</div>
+</code></pre>
+"""
+ var res = test.md_to_html.write_to_string
+ assert res == exp
+ end
+
+
fun test_process_nesting1 do
var test = """
> ## This is a header.
"""
var exp = """
<blockquote>
-<h2>This is a header.</h2>
+<h2 id="This_is_a_header.">This is a header.</h2>
<ol>
<li>This is the first list item.</li>
<li>This is the second list item.</li>
"""
var exp = """
-<h2>Unordered</h2>
+<h2 id="Unordered">Unordered</h2>
<p>Asterisks tight:</p>
<ul>
<li>asterisk 1</li>
<li><p>Minus 3</p>
</li>
</ul>
-<h2>Ordered</h2>
+<h2 id="Ordered">Ordered</h2>
<p>Tight:</p>
<ol>
<li>First</li>
<li><p>Item 3.</p>
</li>
</ol>
-<h2>Nested</h2>
+<h2 id="Nested">Nested</h2>
<ul>
<li>Tab<ul>
<li>Tab<ul>
fun test_line_type do
var v = new MarkdownProcessor
subject = new MDLine("")
- assert subject.kind(v) isa LineEmpty
+ assert v.line_kind(subject) isa LineEmpty
subject = new MDLine(" ")
- assert subject.kind(v) isa LineEmpty
+ assert v.line_kind(subject) isa LineEmpty
subject = new MDLine("text ")
- assert subject.kind(v) isa LineOther
+ assert v.line_kind(subject) isa LineOther
subject = new MDLine(" # Title")
- assert subject.kind(v) isa LineHeadline
+ assert v.line_kind(subject) isa LineHeadline
subject = new MDLine(" ### Title")
- assert subject.kind(v) isa LineHeadline
+ assert v.line_kind(subject) isa LineHeadline
subject = new MDLine(" code")
- assert subject.kind(v) isa LineCode
+ assert v.line_kind(subject) isa LineCode
subject = new MDLine(" ~~~")
- assert subject.kind(v) isa LineFence
+ assert v.line_kind(subject) isa LineFence
subject = new MDLine(" ```")
- assert subject.kind(v) isa LineFence
+ assert v.line_kind(subject) isa LineFence
subject = new MDLine(" Title ")
subject.next = new MDLine("== ")
- assert subject.kind(v) isa LineHeadline1
+ assert v.line_kind(subject) isa LineHeadline1
subject = new MDLine(" Title ")
subject.next = new MDLine("-- ")
- assert subject.kind(v) isa LineHeadline2
+ assert v.line_kind(subject) isa LineHeadline2
subject = new MDLine(" * * * ")
- assert subject.kind(v) isa LineHR
+ assert v.line_kind(subject) isa LineHR
subject = new MDLine(" *** ")
- assert subject.kind(v) isa LineHR
+ assert v.line_kind(subject) isa LineHR
subject = new MDLine("- -- ")
- assert subject.kind(v) isa LineHR
+ assert v.line_kind(subject) isa LineHR
subject = new MDLine("--------- ")
- assert subject.kind(v) isa LineHR
+ assert v.line_kind(subject) isa LineHR
subject = new MDLine(" >")
- assert subject.kind(v) isa LineBlockquote
+ assert v.line_kind(subject) isa LineBlockquote
subject = new MDLine("<p></p>")
- assert subject.kind(v) isa LineXML
+ assert v.line_kind(subject) isa LineXML
subject = new MDLine("<p>")
- assert subject.kind(v) isa LineOther
+ assert v.line_kind(subject) isa LineOther
subject = new MDLine(" * foo")
- assert subject.kind(v) isa LineUList
+ assert v.line_kind(subject) isa LineUList
subject = new MDLine("- foo")
- assert subject.kind(v) isa LineUList
+ assert v.line_kind(subject) isa LineUList
subject = new MDLine("+ foo")
- assert subject.kind(v) isa LineUList
+ assert v.line_kind(subject) isa LineUList
subject = new MDLine("1. foo")
- assert subject.kind(v) isa LineOList
+ assert v.line_kind(subject) isa LineOList
subject = new MDLine(" 11111. foo")
- assert subject.kind(v) isa LineOList
+ assert v.line_kind(subject) isa LineOList
end
fun test_count_chars do
assert subject.count_chars_start('*') == 0
end
end
+
+class TestHTMLDecorator
+ super TestSuite
+
+ fun test_headlines do
+ var test = """
+# **a**
+## a.a
+### a.a.b
+### a.a.b
+## a.b
+# [b](test)
+## b.a
+### b.a.c
+## b.b
+## b.c
+# c
+"""
+ var proc = new MarkdownProcessor
+ var decorator = proc.emitter.decorator.as(HTMLDecorator)
+ proc.process(test)
+ var res = ""
+ for id, headline in decorator.headlines do
+ res += "{headline.title}:{id}\n"
+ end
+ var exp = """
+**a**:a
+a.a:a.a
+a.a.b:a.a.b
+a.a.b:a.a.b_1
+a.b:a.b
+[b](test):btest
+b.a:b.a
+b.a.c:b.a.c
+b.b:b.b
+b.c:b.c
+c:c
+"""
+ assert res == exp
+ end
+end
glFrontFace( GL_CW );
`}
- redef fun blit( image, x, y ) is extern `{
+ redef fun blit(image, x, y) do native_blit(image, x.to_f, y.to_f)
+
+ private fun native_blit(image: Opengles1Image, x, y: Float) `{
GLfloat texture_coord[4][2] =
{
{image->src_xo, image->src_yi},
}
`}
- redef fun blit_centered( img, x, y )
+ redef fun blit_centered(img, x, y)
do
- x = x - img.center_x
- y = y - img.center_y
- blit( img, x, y )
+ x = x.sub(img.center_x)
+ y = y.sub(img.center_y)
+ blit(img, x, y)
end
- redef fun blit_rotated( image, x, y, angle ) is extern `{
+ redef fun blit_rotated(image, x, y, angle) do native_blit_rotated(image, x.to_f, y.to_f, angle)
+
+ private fun native_blit_rotated(image: Opengles1Image, x, y, angle: Float) `{
GLfloat texture_coord[4][2] =
{
{image->src_xo, image->src_yi},
`}
# a = top left, b = bottom left, c = bottom right, d = top right
- redef fun blit_stretched( image, ax, ay, bx, by, cx, cy, dx, dy ) is extern `{
+ redef fun blit_stretched(image, ax, ay, bx, by, cx, cy, dx, dy)
+ do
+ native_blit_stretched(image,
+ ax.to_f, ay.to_f, bx.to_f, by.to_f,
+ cx.to_f, cy.to_f, dx.to_f, dy.to_f)
+ end
+
+ private fun native_blit_stretched(image: I, ax, ay, bx, by, cx, cy, dx, dy: Float) `{
GLfloat texture_coord[4][2] =
{
{image->src_xo, image->src_yi},
var nb_rows: Int
# Cache for images of tiles
- private var subimages = new Array[Image]
+ var subimages = new Array[Image]
# The subimage of given tile
# Aborts if x or y are out of bound
redef class Display
# Blit the text using a monospace bitmap font
# '\n' are rendered as carriage return
- fun text(text: String, font: TileSetFont, x, y: Int)
+ fun text(text: String, font: TileSetFont, x, y: Numeric)
do
var cx = x
var cy = y
redef fun x: Float do return extern_x(motion_event.inner_event, pointer_id)
private fun extern_x(motion_event: InnerAndroidMotionEvent, pointer_id: Int): Float is extern `{
- return ((int) AMotionEvent_getX(motion_event, pointer_id) * mnit_zoom);
+ return ((int) AMotionEvent_getX(motion_event, pointer_id));
`}
redef fun y: Float do return extern_y(motion_event.inner_event, pointer_id)
private fun extern_y(motion_event: InnerAndroidMotionEvent, pointer_id: Int): Float is extern `{
- return ((int) AMotionEvent_getY(motion_event, pointer_id) * mnit_zoom);
+ return ((int) AMotionEvent_getY(motion_event, pointer_id));
`}
fun pressure: Float do return extern_pressure(motion_event.inner_event, pointer_id)
return AKeyEvent_getKeyCode(recv);
`}
- fun key_char: Char is extern `{
+ redef fun to_c `{
int code = AKeyEvent_getKeyCode(recv);
if (code >= AKEYCODE_0 && code <= AKEYCODE_9)
return '0'+code-AKEYCODE_0;
fun is_back_key: Bool do return key_code == 4
fun is_menu_key: Bool do return key_code == 82
fun is_search_key: Bool do return key_code == 84
+
+ fun is_volume_up: Bool do return key_code == 24
+ fun is_volume_down: Bool do return key_code == 25
end
redef class App
fun set_viewport( x, y, w, h: Int ) is abstract
# Draw image on self, for top left position
- fun blit( image: I, x, y: Int ) is abstract
+ fun blit(image: I, x, y: Numeric) is abstract
# Draw image on self, for top left position but scaled
# the width and height of the target rectangle is specified
- fun blit_scaled(image: Image, x, y, w, h: Int)
+ fun blit_scaled(image: Image, x, y, w, h: Numeric)
do
var fx = x.to_f
var fy = y.to_f
end
# Draw image, centered at position
- fun blit_centered( image: I, x, y: Int ) is abstract
+ fun blit_centered(image: I, x, y: Numeric) is abstract
# Draw image, centered at position but rotated
- fun blit_rotated( image: I, x, y, angle: Float ) is abstract
+ fun blit_rotated(image: I, x, y: Numeric, angle: Float) is abstract
# Draw image, centered, rotated and scaled
- fun blit_rotated_scaled( image: I, x, y, angle, scale: Float ) is abstract
+ fun blit_rotated_scaled(image: I, x, y: Numeric, angle, scale: Float) is abstract
# Draw image by specifying the positon of each image corners
# Corners are in counter-clockwise order stating top left
# | |
# b-c
# ~~~
- fun blit_stretched( image: I, ax, ay, bx, by, cx, cy, dx, dy: Float )
+ fun blit_stretched(image: I, ax, ay, bx, by, cx, cy, dx, dy: Numeric)
is abstract
# Clear entire window with given color
import mnit
import sdl
import linux_opengles1
+import linux
in "C" `{
#include <EGL/egl.h>
redef type I: SDLImage
- redef fun blit(img, x, y) `{
+ redef fun blit(img, x, y) do native_blit(img, x.to_i, y.to_i)
+ fun native_blit(img: I, x, y: Int) `{
SDL_Rect dst;
dst.x = x;
dst.y = y;
return "{self}/{path}"
end
+ # Alias for `join_path`
+ #
+ # assert "hello" / "world" == "hello/world"
+ # assert "hel/lo" / "wor/ld" == "hel/lo/wor/ld"
+ # assert "" / "world" == "world"
+ # assert "/hello" / "/world" == "/world"
+ #
+ # This operator is quite useful for chaining changes of path.
+ # The next one being relative to the previous one.
+ #
+ # var a = "foo"
+ # var b = "/bar"
+ # var c = "baz/foobar"
+ # assert a/b/c == "/bar/baz/foobar"
+ fun /(path: String): String do return join_path(path)
+
+ # Returns the relative path needed to go from `self` to `dest`.
+ #
+ # assert "/foo/bar".relpath("/foo/baz") == "../baz"
+ # assert "/foo/bar".relpath("/baz/bar") == "../../baz/bar"
+ #
+ # If `self` or `dest` is relative, they are considered relatively to `getcwd`.
+ #
+ # In some cases, the result is still independent of the current directory:
+ #
+ # assert "foo/bar".relpath("..") == "../../.."
+ #
+ # In other cases, parts of the current directory may be exhibited:
+ #
+ # var p = "../foo/bar".relpath("baz")
+ # var c = getcwd.basename("")
+ # assert p == "../../{c}/baz"
+ #
+ # For path resolution independent of the current directory (eg. for paths in URL),
+ # or to use an other starting directory than the current directory,
+ # just force absolute paths:
+ #
+ # var start = "/a/b/c/d"
+ # var p2 = (start/"../foo/bar").relpath(start/"baz")
+ # assert p2 == "../../d/baz"
+ #
+ #
+ # Neither `self` or `dest` has to be real paths or to exist in directories since
+ # the resolution is only done with string manipulations and without any access to
+ # the underlying file system.
+ #
+ # If `self` and `dest` are the same directory, the empty string is returned:
+ #
+ # assert "foo".relpath("foo") == ""
+ # assert "foo/../bar".relpath("bar") == ""
+ #
+ # The empty string and "." designate both the current directory:
+ #
+ # assert "".relpath("foo/bar") == "foo/bar"
+ # assert ".".relpath("foo/bar") == "foo/bar"
+ # assert "foo/bar".relpath("") == "../.."
+ # assert "/" + "/".relpath(".") == getcwd
+ fun relpath(dest: String): String
+ do
+ var cwd = getcwd
+ var from = (cwd/self).simplify_path.split("/")
+ if from.last.is_empty then from.pop # case for the root directory
+ var to = (cwd/dest).simplify_path.split("/")
+ if to.last.is_empty then to.pop # case for the root directory
+
+ # Remove common prefixes
+ while not from.is_empty and not to.is_empty and from.first == to.first do
+ from.shift
+ to.shift
+ end
+
+ # Result is going up in `from` with ".." then going down following `to`
+ var from_len = from.length
+ if from_len == 0 then return to.join("/")
+ var up = "../"*(from_len-1) + ".."
+ if to.is_empty then return up
+ var res = up + "/" + to.join("/")
+ return res
+ end
+
# Create a directory (and all intermediate directories if needed)
fun mkdir
do
if self > o then return (self - o).rshift(1).gcd(o)
return (o - self).rshift(1).gcd(self)
end
+
+ # Is `self` even ?
+ #
+ # assert 12.is_even
+ fun is_even: Bool do return self % 2 == 0
+
+ # Is `self` odd ?
+ #
+ # assert not 13.is_even
+ fun is_odd: Bool do return not is_even
end
redef class Float
private var native: nullable NativeRegex = null
# Cache of a single `regmatch_t` to prevent many calls to `malloc`
- private var native_match = new NativeMatchArray.malloc(0) is lazy
+ private var native_match = new NativeMatchArray.malloc(1) is lazy
# `cflags` of the last successful `compile`
private var cflags_cache = 0
end
end
+ # Escape string used in labels for graphviz
+ #
+ # assert ">><<".escape_to_dot == "\\>\\>\\<\\<"
+ fun escape_to_dot: String
+ do
+ return escape_more_to_c("|\{\}<>")
+ end
+
# Flat representation of self
fun flatten: FlatText is abstract
--- /dev/null
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# String templating using macros.
+#
+# There is plenty of macro/templating tools in the worl,
+# yet another one.
+#
+# See `TemplateString` for more details.
+module macro
+
+import template
+
+# Template with macros replacement.
+#
+# `TemplateString` provides a simple way to customize generic string templates
+# using macros and replacement.
+#
+# A macro is represented as a string identifier like `%MACRO%` in the template
+# string. Using `TemplateString`, macros can be replaced by any `Streamable` data:
+#
+# var tpl = new TemplateString("Hello %NAME%!")
+# tpl.replace("NAME", "Dave")
+# assert tpl.write_to_string == "Hello Dave!"
+#
+# A macro identifier is valid if:
+#
+# * starts with an uppercase letter
+# * contains only numers, uppercase letters or '_'
+#
+# See `String::is_valid_macro_name` for more details.
+#
+# ## External template files
+#
+# When using large template files it's recommanded to use external template files.
+#
+# In external file `example.tpl`:
+#
+# <!DOCTYPE html>
+# <html lang="en">
+# <head>
+# <title>%TITLE%</title>
+# </head>
+# <body>
+# <h1>%TITLE%</h1>
+# <p>%ARTICLE%</p>
+# </body>
+# </html>
+#
+# Loading the template file using `TemplateString`:
+#
+# var file = "example.tpl"
+# if file.file_exists then
+# tpl = new TemplateString.from_file("example.tpl")
+# tpl.replace("TITLE", "Home Page")
+# tpl.replace("ARTICLE", "Welcome on my site!")
+# end
+#
+# ## Outputting
+#
+# Once macro replacement has been made, the `TemplateString` can be
+# output like any other `Template` using methods like `write_to`, `write_to_string`
+# or `write_to_file`.
+#
+# tpl = new TemplateString("Hello %NAME%!")
+# tpl.replace("NAME", "Dave")
+# assert tpl.write_to_string == "Hello Dave!"
+#
+# ## Template correctness
+#
+# `TemplateString` can be outputed even if all macros were not replaced.
+# In this case, the name of the macro will be displayed wuthout any replacement.
+#
+# tpl = new TemplateString("Hello %NAME%!")
+# assert tpl.write_to_string == "Hello %NAME%!"
+#
+# The `check` method can be used to ensure that all macros were replaced before
+# performing the output. Warning messages will be stored in `warnings` and can
+# be used to locate unreplaced macros.
+#
+# tpl = new TemplateString("Hello %NAME%!")
+# if not tpl.check then
+# assert not tpl.warnings.is_empty
+# print "Cannot output unfinished template:"
+# print tpl.warnings.join("\n")
+# exit(0)
+# else
+# tpl.write_to sys.stdout
+# end
+# assert tpl.write_to_string == "Hello %NAME%!"
+class TemplateString
+ super Template
+
+ # Template original text.
+ private var tpl_text: String
+
+ # Macros contained in the template file.
+ private var macros = new HashMap[String, Array[TemplateMacro]]
+
+ # Macro identifier delimiter char (`'%'` by default).
+ #
+ # To use a different delimiter you can subclasse `TemplateString` and defined the `marker`.
+ #
+ # class DollarTemplate
+ # super TemplateString
+ # redef var marker = '$'
+ # end
+ # var tpl = new DollarTemplate("Hello $NAME$!")
+ # tpl.replace("NAME", "Dave")
+ # assert tpl.write_to_string == "Hello Dave!"
+ protected var marker = '%'
+
+ # Creates a new template from a `text`.
+ #
+ # var tpl = new TemplateString("Hello %NAME%!")
+ # assert tpl.write_to_string == "Hello %NAME%!"
+ init(text: String) do
+ self.tpl_text = text
+ parse
+ end
+
+ # Creates a new template from the contents of `file`.
+ init from_file(file: String) do
+ init load_template_file(file)
+ end
+
+ # Loads the template file contents.
+ private fun load_template_file(tpl_file: String): String do
+ var file = new IFStream.open(tpl_file)
+ var text = file.read_all
+ file.close
+ return text
+ end
+
+ # Finds all the macros contained in `text` and store them in `macros`.
+ #
+ # Also build `self` template parts using original template text.
+ private fun parse do
+ var text = tpl_text
+ var chars = text.chars
+ var pos = 0
+ var out = new FlatBuffer
+ var start_pos: Int
+ var end_pos: Int
+ while pos < text.length do
+ # lookup opening tag
+ start_pos = text.read_until_char(pos, marker, out)
+ if start_pos < 0 then
+ text.read_until_pos(pos, text.length, out)
+ add out.to_s
+ break
+ end
+ add out.to_s
+ pos = start_pos + 1
+ # lookup closing tag
+ out.clear
+ end_pos = text.read_until_char(pos, marker, out)
+ if end_pos < 0 then
+ text.read_until_pos(pos, text.length, out)
+ add "%"
+ add out.to_s
+ break
+ end
+ pos = end_pos + 1
+ # check macro
+ var name = out.to_s
+ if name.is_valid_macro_name then
+ add make_macro(name, start_pos, end_pos)
+ else
+ add "%"
+ add name
+ add "%"
+ end
+ out.clear
+ end
+ end
+
+ # Add a new macro to the list
+ private fun make_macro(name: String, start_pos, end_pos: Int): TemplateMacro do
+ if not macros.has_key(name) then
+ macros[name] = new Array[TemplateMacro]
+ end
+ var macro = new TemplateMacro(name, start_pos, end_pos)
+ macros[name].add macro
+ return macro
+ end
+
+ # Available macros in `self`.
+ #
+ # var tpl = new TemplateString("Hello %NAME%!")
+ # assert tpl.macro_names.first == "NAME"
+ fun macro_names: Collection[String] do return macros.keys
+
+ # Does `self` contain a macro with `name`.
+ #
+ # var tpl = new TemplateString("Hello %NAME%")
+ # assert tpl.has_macro("NAME")
+ fun has_macro(name: String): Bool do return macro_names.has(name)
+
+ # Replace a `macro` by a streamable `replacement`.
+ #
+ # REQUIRE `has_macro(name)`
+ #
+ # var tpl = new TemplateString("Hello %NAME%!")
+ # tpl.replace("NAME", "Dave")
+ # assert tpl.write_to_string == "Hello Dave!"
+ fun replace(name: String, replacement: Streamable) do
+ assert has_macro(name)
+ for macro in macros[name] do
+ macro.replacement = replacement
+ end
+ end
+
+ # Check if all macros were replaced.
+ #
+ # Return false if a macro was not replaced and store message in `warnings`.
+ #
+ # var tpl = new TemplateString("Hello %FIRSTNAME%, %LASTNAME%!")
+ # assert not tpl.check
+ # tpl.replace("FIRSTNAME", "Corben")
+ # tpl.replace("LASTNAME", "Dallas")
+ # assert tpl.check
+ fun check: Bool do
+ warnings.clear
+ var all_ok = true
+ for name, macros in self.macros do
+ for macro in macros do
+ if not macro.is_replaced then
+ all_ok = false
+ warnings.add "No replacement for macro %{macro.name}% at {macro.location}"
+ end
+ end
+ end
+ return all_ok
+ end
+
+ # Last `check` warnings.
+ #
+ # var tpl = new TemplateString("Hello %FIRSTNAME%, %LASTNAME%!")
+ # tpl.check
+ # assert tpl.warnings.length == 2
+ # assert tpl.warnings[0] == "No replacement for macro %FIRSTNAME% at (6:16)"
+ # assert tpl.warnings[1] == "No replacement for macro %LASTNAME% at (19:28)"
+ # tpl.replace("FIRSTNAME", "Corben")
+ # tpl.replace("LASTNAME", "Dallas")
+ # tpl.check
+ # assert tpl.warnings.is_empty
+ var warnings = new Array[String]
+
+ # Returns a view on `self` macros on the form `macro.name`/`macro.replacement`.
+ #
+ # Given that all macros with the same name are all replaced with the same
+ # replacement, this view contains only one entry for each name.
+ #
+ # var tpl = new TemplateString("Hello %FIRSTNAME%, %LASTNAME%!")
+ # for name, rep in tpl do assert rep == null
+ # tpl.replace("FIRSTNAME", "Corben")
+ # tpl.replace("LASTNAME", "Dallas")
+ # for name, rep in tpl do assert rep != null
+ fun iterator: MapIterator[String, nullable Streamable] do
+ return new TemplateStringIterator(self)
+ end
+end
+
+# A macro is a special text command that is replaced by other content in a `TemplateString`.
+private class TemplateMacro
+ super Template
+ # Macro name as found in the template.
+ var name: String
+
+ # Macro starting position in template.
+ var start_pos: Int
+
+ # Macro ending position in template.
+ var end_pos: Int
+
+ # Macro replacement if any.
+ var replacement: nullable Streamable = null
+
+ # Does `self` already have a `replacement`?
+ fun is_replaced: Bool do return replacement != null
+
+ # Render `replacement` or else `name`.
+ redef fun rendering do
+ if is_replaced then
+ add replacement.as(not null)
+ else
+ add "%{name}%"
+ end
+ end
+
+ # Human readable location.
+ fun location: String do return "({start_pos}:{end_pos})"
+end
+
+redef class String
+ # Reads `self` from pos `from` to pos `to` and store result in `buffer`.
+ private fun read_until_pos(from, to: Int, buffer: Buffer): Int do
+ if from < 0 or from >= length or
+ to < 0 or to >= length or
+ from >= to then return -1
+ var pos = from
+ while pos < to do
+ buffer.add self[pos]
+ pos += 1
+ end
+ return pos
+ end
+
+ # Reads `self` until `to` is encountered and store result in `buffer`.
+ #
+ # Returns `to` position or `-1` if not found.
+ private fun read_until_char(from: Int, char: Char, buffer: Buffer): Int do
+ if from < 0 or from >= length then return -1
+ var pos = from
+ while pos > -1 and pos < length do
+ var c = self[pos]
+ if c == char then return pos
+ buffer.add c
+ pos += 1
+ end
+ return -1
+ end
+
+ # Is `self` a valid macro identifier?
+ #
+ # A macro identifier is valid if:
+ #
+ # * starts with an uppercase letter
+ # * contains only numers, uppercase letters or '_'
+ #
+ # # valid
+ # assert "NAME".is_valid_macro_name
+ # assert "FIRST_NAME".is_valid_macro_name
+ # assert "BLOCK1".is_valid_macro_name
+ # # invalid
+ # assert not "1BLOCK".is_valid_macro_name
+ # assert not "_BLOCK".is_valid_macro_name
+ # assert not "FIRST NAME".is_valid_macro_name
+ # assert not "name".is_valid_macro_name
+ fun is_valid_macro_name: Bool do
+ if not first.is_upper then return false
+ for c in self do
+ if not c.is_upper and c != '_' and not c.is_digit then return false
+ end
+ return true
+ end
+end
+
+private class TemplateStringIterator
+ super MapIterator[String, nullable Streamable]
+
+ private var subject: TemplateString
+ private var key_it: Iterator[String] is noinit
+
+ init do
+ self.key_it = subject.macro_names.iterator
+ end
+
+ redef fun is_ok do return key_it.is_ok
+ redef fun next do key_it.next
+ redef fun key do return key_it.item
+ redef fun item do return subject.macros[key].first.replacement
+end
--- /dev/null
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+module test_macro is test_suite
+
+import test_suite
+import macro
+
+class TestTemplateString
+ super TestSuite
+
+ fun test_tpl_parse_1 do
+ var tpl = """
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <title>Dave's Profile</title>
+ </head>
+ <body>
+ <h1>Dave</h1>
+ <p>Profile</p>
+ </body>
+</html>"""
+ var subject = new TemplateString(tpl)
+ var res = subject.write_to_string
+ assert res == tpl
+ end
+
+ fun test_tpl_parse_2 do
+ var tpl = """
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <title>%TITLE%</title>
+ </head>
+ <body>
+ <h1>%TITLE%</h1>
+ <p>%ARTICLE%</p>
+ </body>
+</html>"""
+ var subject = new TemplateString(tpl)
+ var res = subject.write_to_string
+ assert res == tpl
+ end
+
+ fun test_tpl_parse_3 do
+ var tpl = """
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <title>%</title>
+ </head>
+</html>"""
+ var subject = new TemplateString(tpl)
+ var res = subject.write_to_string
+ assert res == tpl
+ end
+
+ fun test_tpl_parse_4 do
+ var tpl = """
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <title>%</title>
+ </head>
+ <body>
+ <h1>%</h1>
+ </body>
+</html>"""
+ var subject = new TemplateString(tpl)
+ var res = subject.write_to_string
+ assert res == tpl
+ end
+
+ fun test_tpl_parse_5 do
+ var tpl = """
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <title>%</title>
+ </head>
+ <body>
+ <h1>%TITLE%</h1>
+ <p>%ARTICLE%</p>
+ </body>
+</html>"""
+ var subject = new TemplateString(tpl)
+ var res = subject.write_to_string
+ assert res == tpl
+ end
+
+ fun test_tpl_parse_6 do
+ var tpl = """
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <title>%</title>
+ </head>
+ <body>
+ <h1>%%</h1>
+ </body>
+</html>"""
+ var subject = new TemplateString(tpl)
+ var res = subject.write_to_string
+ assert res == tpl
+ end
+
+ fun test_tpl_replace_1 do
+ var tpl = """
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <title>%TITLE%</title>
+ </head>
+ <body>
+ <h1>%TITLE%</h1>
+ <p>%ARTICLE%</p>
+ </body>
+</html>"""
+ var exp = """
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <title>Hello World!</title>
+ </head>
+ <body>
+ <h1>Hello World!</h1>
+ <p>%ARTICLE%</p>
+ </body>
+</html>"""
+ var subject = new TemplateString(tpl)
+ subject.replace("TITLE", "Hello World!")
+ var res = subject.write_to_string
+ assert res == exp
+ end
+
+ fun test_tpl_replace_2 do
+ var tpl = """
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <title>%TITLE%</title>
+ </head>
+ <body>
+ <h1>%TITLE%</h1>
+ <p>%BODY%</p>
+ </body>
+</html>"""
+ var exp = """
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <title>Hello World!</title>
+ </head>
+ <body>
+ <h1>Hello World!</h1>
+ <p>Some body you want to know...</p>
+ </body>
+</html>"""
+ var subject = new TemplateString(tpl)
+ subject.replace("TITLE", "Hello World!")
+ subject.replace("BODY", "Some body you want to know...")
+ var res = subject.write_to_string
+ assert res == exp
+ end
+
+ fun test_tpl_replace_3 do
+ var tpl = """
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <title>%TITLE%</title>
+ </head>
+ <body>
+ <h1>%TITLE%</h1>
+ <p>%BODY%</p>
+ </body>
+</html>"""
+ var exp = """
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <title>Hello World!</title>
+ </head>
+ <body>
+ <h1>Hello World!</h1>
+ <p><a href="#">Click me!</a></p>
+ </body>
+</html>"""
+ var link = new Template
+ var subject = new TemplateString(tpl)
+ subject.replace("TITLE", "Hello World!")
+ subject.replace("BODY", link)
+ link.add "<a href=\"#\">"
+ link.add "Click me!"
+ link.add "</a>"
+ var res = subject.write_to_string
+ assert res == exp
+ end
+end
--- /dev/null
+#!/bin/sh
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# This program list git-registered nit files that correspond to real compilable modules.
+# Real modules exclude basic tests and broken files.
+# Note: `make full` is required in order to build potential generated dependencies.
+#
+# With the flag `-I`, the list of required -I options is also generated.
+# Thus, it allows to use the command as arguments of tools.
+#
+# nitmetrics `./listnit.sh -I`
+
+# Filepaths of modules to exclude (regular expression)
+exclude="parser_abs.nit\|nitcc_lexer0"
+
+# Directories needed for explicit -I options.
+includedirs="src contrib/tnitter/src/ contrib/benitlux/src/ examples/ contrib/wiringPi/lib/"
+
+# Flag -I
+incl=""
+if test "$1" = "-I"; then
+ incl=true
+ shift
+fi
+
+# Get the relative directory to the root of the workdir
+p=`git rev-parse --show-cdup`
+
+# List files
+git ls-files "${p}src/**.nit" "${p}lib/**.nit" "${p}contrib/**.nit" "${p}examples/**.nit" | \
+ grep -v "$exclude" | tee listnit.out
+
+# List -I if needed
+if test -n "$incl"; then
+ for i in $includedirs; do
+ echo "-I $p$i"
+ done
+fi
endfunction
function! SyntaxCheckers_nit_nitg_GetLocList()
- let makeprg = s:nitg . " --no-color --only-metamodel "
+ let makeprg = s:nitg . " --no-color --only-metamodel -W "
" custom NIT_DIR
if exists('g:syntastic_nit_dir')
margin: 10px 0;
}
+article {
+ padding: 10px 0px;
+}
+
+article.nospace {
+ padding: 0;
+ margin: 0;
+}
+
/*
* Sidebar
*/
display: none;
}
-#content article {
- padding: 10px 0px;
-}
-
#content article:target {
padding-left: 10px;
margin-left: -10px;
vertical-align: middle;
}
-.signature a, .list-definition a {
+.signature a, .list-definition a, .info.signature a {
color: #0d8921;
}
text-align: center;
}
-.synopsys {
+.nitdoc .synopsys {
margin: 5px 0;
font-size: 16px;
font-weight: bold;
has_eol = true
end
- var last_current: nullable ANode
+ var last_current: nullable ANode = null
fun write(s: String)
do
redef class ANewExpr
redef fun accept_printer(v)
do
- v.write("new {mtype.as(not null)}.{mproperty.as(not null)}")
+ v.write("new {mtype.as(not null)}.{callsite.mproperty}")
if not n_args.n_exprs.is_empty then
v.write("(")
v.indent
redef fun accept_printer(v)
do
v.enter_visit(n_expr)
- v.write(".{mproperty.name}")
+ v.write(".{callsite.mproperty.name}")
if not raw_arguments.is_empty then
v.write("(")
v.indent
var is_first = true
- for a in raw_arguments.as(not null) do
+ for a in raw_arguments do
if is_first then is_first = false else v.write(",")
v.enter_visit(a)
end
NACL_SDK_ROOT ?= $(abspath $(dir $(THIS_MAKEFILE))../../../..)
# Project Build flags
-WARNINGS := -Wall -pedantic -Wno-long-long -Wno-unused-value -Wno-unused-label -Wno-duplicate-decl-specifier -Wno-switch -Wno-embedded-directive
+WARNINGS := -Wno-long-long -Wno-unused-value -Wno-unused-label -Wno-duplicate-decl-specifier -Wno-switch -Wno-embedded-directive
CXXFLAGS := -pthread $(WARNINGS)
CXXFLAGS += -g -O0 # Debug
lnk.add tpl_link
if mdoc != null then
lnk.add ": "
- lnk.add mdoc.short_comment
+ lnk.add mdoc.short_markdown
end
return new TplListItem.with_content(lnk)
end
lnk.add tpl_anchor
if mdoc != null then
lnk.add ": "
- lnk.add mdoc.short_comment
+ lnk.add mdoc.short_markdown
end
return new TplListItem.with_content(lnk)
end
lnk.add tpl_link
if mdoc != null then
lnk.add ": "
- lnk.add mdoc.short_comment
+ lnk.add mdoc.short_markdown
else if mclass.intro.mdoc != null then
lnk.add ": "
- lnk.add mclass.intro.mdoc.short_comment
+ lnk.add mclass.intro.mdoc.short_markdown
end
return new TplListItem.with_content(lnk)
end
var tpl = new Template
tpl.add mclassdef.tpl_namespace
tpl.add "::"
- tpl.add mproperty.name
+ tpl.add tpl_link
return tpl
end
return tpl
end
- redef fun tpl_title do
- var title = new Template
- title.add tpl_icon
- title.add tpl_link
- title.add tpl_signature
- return title
- end
-
redef fun tpl_definition do
var tpl = new TplDefinition
tpl.namespace = mclassdef.tpl_namespace
redef fun tpl_list_item do
var lnk = new Template
lnk.add new TplLabel.with_classes(tpl_css_classes.to_a)
- lnk.add tpl_link
+ var anchor = tpl_link
+ anchor.href = "{mclassdef.mclass.nitdoc_url}#{mproperty.nitdoc_id}"
+ lnk.add anchor
if mdoc != null then
lnk.add ": "
- lnk.add mdoc.short_comment
+ lnk.add mdoc.short_markdown
else if mproperty.intro.mdoc != null then
lnk.add ": "
- lnk.add mproperty.intro.mdoc.short_comment
+ lnk.add mproperty.intro.mdoc.short_markdown
end
return new TplListItem.with_content(lnk)
end
+
+ fun tpl_inheritance_item: TplListItem do
+ var lnk = new Template
+ lnk.add new TplLabel.with_classes(tpl_css_classes.to_a)
+ lnk.add mclassdef.mmodule.tpl_namespace
+ lnk.add "::"
+ var anchor = mclassdef.tpl_link
+ anchor.href = "{mclassdef.mclass.nitdoc_url}#{mproperty.nitdoc_id}"
+ lnk.add anchor
+ if mdoc != null then
+ lnk.add ": "
+ lnk.add mdoc.short_markdown
+ end
+ var li = new TplListItem.with_content(lnk)
+ li.css_classes.add "signature"
+ return li
+ end
end
redef class MMethod
private fun classes do
for mclass in model.mclasses do
+ if mclass.visibility <= ctx.min_visibility then continue
var page = new NitdocClass(ctx, model, mainmodule, mclass)
page.render.write_to_file("{ctx.output_dir.to_s}/{page.page_url}")
end
private fun properties do
for mproperty in model.mproperties do
+ if mproperty.visibility <= ctx.min_visibility then continue
var page = new NitdocProperty(ctx, model, mainmodule, mproperty)
page.render.write_to_file("{ctx.output_dir.to_s}/{page.page_url}")
end
tpl.add "\"{mproperty}\":["
for mpropdef in mprops do
var full_name = mpropdef.mclassdef.mclass.full_name
- tpl.add "\{txt:\"{full_name}\",url:\"{mpropdef.nitdoc_url}\"\},"
+ var cls_url = mpropdef.mclassdef.mclass.nitdoc_url
+ var def_url = "{cls_url}#{mpropdef.mproperty.nitdoc_id}"
+ tpl.add "\{txt:\"{full_name}\",url:\"{def_url}\"\},"
end
tpl.add "],"
end
do
if location == null then return null
var source = ctx.opt_source.value
- if source == null then return location.file.filename.simplify_path
+ if source == null then
+ var url = location.file.filename.simplify_path
+ return "<a target='_blank' title='Show source' href=\"{url}\">View Source</a>"
+ end
# THIS IS JUST UGLY ! (but there is no replace yet)
var x = source.split_with("%f")
source = x.join(location.file.filename.simplify_path)
end
# MProp description template
- fun tpl_mprop_article(mproperty: MProperty, mpropdefs: Array[MPropDef]): TplArticle do
- var article = mproperty.tpl_article
- if not mpropdefs.has(mproperty.intro) then
- # add intro synopsys
- var intro_article = mproperty.intro.tpl_short_article
- intro_article.source_link = tpl_showsource(mproperty.intro.location)
- article.add_child intro_article
+ #
+ # `main_mpropdef`: The most important mpropdef to display
+ # `local_mpropdefs`: List of other locally defined mpropdefs to display
+ # `lin`: full linearization from local_mpropdefs to intro (displayed in redef tree)
+ fun tpl_mprop_article(main_mpropdef: MPropDef, local_mpropdefs: Array[MPropDef],
+ lin: Array[MPropDef]): TplArticle do
+ var mprop = main_mpropdef.mproperty
+ var article = new TplArticle(mprop.nitdoc_id)
+ var title = new Template
+ title.add mprop.tpl_icon
+ title.add "<span id='{main_mpropdef.nitdoc_id}'></span>"
+ if main_mpropdef.is_intro then
+ title.add mprop.tpl_link
+ title.add mprop.intro.tpl_signature
+ else
+ var cls_url = mprop.intro.mclassdef.mclass.nitdoc_url
+ var def_url = "{cls_url}#{mprop.nitdoc_id}"
+ var lnk = new TplLink.with_title(def_url, mprop.name, "Go to introduction")
+ title.add "redef "
+ title.add lnk
+ end
+ article.title = title
+ article.title_classes.add "signature"
+ article.summary_title = "{mprop.nitdoc_name}"
+ article.subtitle = main_mpropdef.tpl_namespace
+ if main_mpropdef.mdoc != null then
+ article.content = main_mpropdef.mdoc.tpl_comment
+ end
+ var subarticle = new TplArticle("{main_mpropdef.nitdoc_id}_redefs")
+ # Add redef in same `MClass`
+ if local_mpropdefs.length > 1 then
+ for mpropdef in local_mpropdefs do
+ if mpropdef == main_mpropdef then continue
+ var redef_article = new TplArticle("{mpropdef.nitdoc_id}")
+ var redef_title = new Template
+ redef_title.add "also redef in "
+ redef_title.add mpropdef.tpl_namespace
+ redef_article.title = redef_title
+ redef_article.title_classes.add "signature info"
+ redef_article.css_classes.add "nospace"
+ var redef_content = new Template
+ if mpropdef.mdoc != null then
+ redef_content.add mpropdef.mdoc.tpl_comment
+ end
+ redef_article.content = redef_content
+ subarticle.add_child redef_article
+ end
end
- mainmodule.linearize_mpropdefs(mpropdefs)
- for mpropdef in mpropdefs do
- # add mpropdef description
- var redef_article = mpropdef.tpl_article
- redef_article.source_link = tpl_showsource(mpropdef.location)
- article.add_child redef_article
+ # Add linearization
+ if lin.length > 1 then
+ var lin_article = new TplArticle("{main_mpropdef.nitdoc_id}_lin")
+ lin_article.title = "Inheritance"
+ var lst = new TplList.with_classes(["list-unstyled", "list-labeled"])
+ for mpropdef in lin do
+ lst.add_li mpropdef.tpl_inheritance_item
+ end
+ lin_article.content = lst
+ subarticle.add_child lin_article
end
+ article.add_child subarticle
return article
end
# MProperty description template
fun tpl_mpropdef_article(mpropdef: MPropDef): TplArticle do
var article = mpropdef.tpl_article
- if mpropdef.is_intro then article.content = null
article.source_link = tpl_showsource(mpropdef.location)
return article
end
var classes = mprop.intro.tpl_css_classes.to_a
if not mprops2mdefs.has_key(mprop) then
classes.add "inherit"
- var lnk = new Template
- lnk.add new TplLabel.with_classes(classes)
- lnk.add mprop.intro.tpl_link
- return new TplListItem.with_content(lnk)
+ var cls_url = mprop.intro.mclassdef.mclass.nitdoc_url
+ var def_url = "{cls_url}#{mprop.nitdoc_id}"
+ var lnk = new TplLink(def_url, mprop.name)
+ if mprop.intro.mdoc != null then lnk.title = mprop.intro.mdoc.short_comment
+ var item = new Template
+ item.add new TplLabel.with_classes(classes)
+ item.add lnk
+ return new TplListItem.with_content(item)
end
var defs = mprops2mdefs[mprop]
if defs.has(mprop.intro) then
end
var lnk = new Template
lnk.add new TplLabel.with_classes(classes)
- lnk.add mprop.intro.tpl_anchor
+ lnk.add mprop.tpl_anchor
return new TplListItem.with_content(lnk)
end
var mclasses = new HashSet[MClass]
mclasses.add_all hancestors
mclasses.add_all hparents
- if hchildren.length < 10 then mclasses.add_all hchildren
- if hdescendants.length < 10 then mclasses.add_all hdescendants
+ mclasses.add_all hchildren
+ mclasses.add_all hdescendants
mclasses.add mclass
var graph = tpl_dot(mclasses)
if graph != null then section.add_child graph
end
# children
- if not hchildren.is_empty and hchildren.length < 15 then
+ if not hchildren.is_empty then
var lst = hchildren.to_a
name_sorter.sort lst
section.add_child tpl_list("children", "Children", lst)
end
# descendants
- if not hdescendants.is_empty and hchildren.length < 15 then
+ if not hdescendants.is_empty then
var lst = hdescendants.to_a
name_sorter.sort lst
section.add_child tpl_list("descendants", "Descendants", lst)
private fun tpl_list(id: String, title: String, elts: Array[MClass]): TplArticle do
var article = new TplArticle.with_title(id, title)
- var list = new TplList.with_classes(["list-unstyled", "list-definition"])
- for elt in elts do list.elts.add elt.tpl_list_item
- article.content = list
+ if elts.length > 20 then
+ var tpl = new Template
+ for e in elts do
+ tpl.add e.tpl_link
+ if e != elts.last then tpl.add ", "
+ end
+ article.content = tpl
+ else
+ var list = new TplList.with_classes(["list-unstyled", "list-definition"])
+ for elt in elts do list.elts.add elt.tpl_list_item
+ article.content = list
+ end
return article
end
var kind_map = sort_by_kind(mprops)
# virtual types
- var elts = kind_map["type"].to_a
- name_sorter.sort(elts)
- for elt in elts do
- var defs = mprops2mdefs[elt].to_a
- section.add_child tpl_mprop_article(elt, defs)
+ for article in tpl_mproperty_articles(kind_map, "type") do
+ section.add_child article
end
-
# constructors
- elts = kind_map["init"].to_a
- name_sorter.sort(elts)
- for elt in elts do
- var defs = mprops2mdefs[elt].to_a
- section.add_child tpl_mprop_article(elt, defs)
+ for article in tpl_mproperty_articles(kind_map, "init") do
+ section.add_child article
end
-
# methods
- elts = kind_map["fun"].to_a
- name_sorter.sort(elts)
- for elt in elts do
- var defs = mprops2mdefs[elt].to_a
- section.add_child tpl_mprop_article(elt, defs)
+ for article in tpl_mproperty_articles(kind_map, "fun") do
+ section.add_child article
end
parent.add_child section
end
end
end
+ private fun tpl_mproperty_articles(kind_map: Map[String, Set[MProperty]],
+ kind_name: String): Sequence[TplArticle] do
+ var articles = new List[TplArticle]
+ var elts = kind_map[kind_name].to_a
+ name_sorter.sort(elts)
+ for elt in elts do
+ var local_defs = mprops2mdefs[elt]
+ # var all_defs = elt.mpropdefs
+ var all_defs = new HashSet[MPropDef]
+ for local_def in local_defs do
+ all_defs.add local_def
+ var mpropdef = local_def
+ while not mpropdef.is_intro do
+ mpropdef = mpropdef.lookup_next_definition(mainmodule, mpropdef.mclassdef.bound_mtype)
+ all_defs.add mpropdef
+ end
+ end
+ var loc_lin = local_defs.to_a
+ mainmodule.linearize_mpropdefs(loc_lin)
+ var all_lin = all_defs.to_a
+ mainmodule.linearize_mpropdefs(all_lin)
+ articles.add tpl_mprop_article(loc_lin.first, loc_lin, all_lin)
+ end
+ return articles
+ end
+
redef fun tpl_content do
tpl_sidebar_properties
var top = tpl_intro
for mclass in mclasses do
poset.add_node mclass
for oclass in mclasses do
+ if mclass == oclass then continue
poset.add_node oclass
if mclass.in_hierarchy(mainmodule) < oclass then
poset.add_edge(mclass, oclass)
var op = new FlatBuffer
var name = "dep_{mclass.name}"
op.append("digraph {name} \{ rankdir=BT; node[shape=none,margin=0,width=0,height=0,fontsize=10]; edge[dir=none,color=gray]; ranksep=0.2; nodesep=0.1;\n")
- for c in poset do
+ var classes = poset.to_a
+ var todo = new Array[MClass]
+ var done = new HashSet[MClass]
+ mainmodule.linearize_mclasses(classes)
+ if not classes.is_empty then todo.add classes.first
+ while not todo.is_empty do
+ var c = todo.shift
+ if done.has(c) then continue
+ done.add c
if c == mclass then
op.append("\"{c.name}\"[shape=box,margin=0.03];\n")
else
op.append("\"{c.name}\"[URL=\"{c.nitdoc_url}\"];\n")
end
- for c2 in poset[c].direct_greaters do
- op.append("\"{c.name}\"->\"{c2.name}\";\n")
+ var smallers = poset[c].direct_smallers
+ if smallers.length < 10 then
+ for c2 in smallers do
+ op.append("\"{c2.name}\"->\"{c.name}\";\n")
+ end
+ todo.add_all smallers
+ else
+ op.append("\"...\"->\"{c.name}\";\n")
end
end
op.append("\}\n")
end
private fun tpl_intro: TplSection do
- var section = new TplSection.with_title("top", tpl_title)
- section.subtitle = mproperty.tpl_declaration
- var article = new TplArticle("comment")
- if mproperty.intro.mdoc != null then
- article.content = mproperty.intro.mdoc.tpl_comment
- end
- section.add_child article
+ var title = new Template
+ title.add mproperty.nitdoc_name
+ title.add mproperty.intro.tpl_signature
+ var section = new TplSection.with_title("top", title)
+ section.subtitle = mproperty.tpl_namespace
+ section.summary_title = mproperty.nitdoc_name
return section
end
end
end
+# A Bootstrap tab component that contains `TplTabPanel`.
+class TplTab
+ super Template
+
+ # Panels contained in the tab.
+ var panels = new Array[TplTabPanel]
+
+ # Add a new panel.
+ fun add_panel(panel: TplTabPanel) do panels.add panel
+
+ # CSS classes of the tab component.
+ var css_classes = new Array[String]
+
+ redef fun rendering do
+ add "<div class='tab-content'>"
+ for panel in panels do add panel
+ add "</div>"
+ end
+end
+
+# A panel that goes in a `TplTab`.
+class TplTabPanel
+ super Template
+
+ # CSS classes of the pane element.
+ var css_classes = new Array[String]
+
+ # The panel id.
+ #
+ # Used to show/hide panel.
+ var id: String
+
+ # The panel name.
+ #
+ # Displayed in the tab header or in the pointing link.
+ var name: Streamable
+
+ # Is the panel visible by default?
+ var is_active = false is writable
+
+ # Body of the panel
+ var content: nullable Streamable = null is writable
+
+ # Get a link pointing to this panel.
+ fun tpl_link_to: Streamable do
+ var lnk = new Template
+ lnk.add "<a data-target='#{id}' data-toggle='pill'>"
+ lnk.add name
+ lnk.add "</a>"
+ return lnk
+ end
+
+ redef fun rendering do
+ add "<div class='tab-pane {css_classes.join(" ")}"
+ if is_active then add "active"
+ add "' id='{id}'>"
+ if content != null then add content.as(not null)
+ add "</div>"
+ end
+end
+
# A label with a text content
class TplLabel
super Template
for m in super_mmodules do
if declared_annotations[m].has(name) then
- modelbuilder.warning(annot, "Warning: an annotation `{name}` is already declared in module `{m}`")
+ modelbuilder.warning(annot, "multiple-annotation-declarations", "Warning: an annotation `{name}` is already declared in module `{m}`")
break label
end
end
if annots.has(name) then return
- toolcontext.modelbuilder.warning(nat, "Warning: unknown annotation `{name}`")
+ toolcontext.modelbuilder.warning(nat, "unknown-annotation", "Warning: unknown annotation `{name}`")
annots.add(name) # to avoid multiple errors on the same name
end
var toolcontext: ToolContext
- fun warning(node: ANode, msg: String)
+ fun warning(node: ANode, tag, msg: String)
do
- toolcontext.warning(node.hot_location, msg)
+ toolcontext.warning(node.hot_location, tag, msg)
end
init(toolcontext: ToolContext)
redef fun after_simple_misc(v)
do
if self.n_opar != null and self.n_params.is_empty then
- v.warning(self, "Warning: superfluous parentheses.")
+ v.warning(self, "parentheses", "Warning: superfluous parentheses.")
end
end
end
redef class AParExpr
redef fun warn_parentheses(v)
do
- v.warning(self, "Warning: superfluous parentheses.")
+ v.warning(self, "parentheses", "Warning: superfluous parentheses.")
end
end
redef fun after_simple_misc(v)
do
if n_exprs.is_empty then
- v.warning(self, "Warning: superfluous parentheses.")
+ v.warning(self, "parentheses", "Warning: superfluous parentheses.")
end
end
end
redef fun after_simple_misc(v)
do
if n_expr isa ATrueExpr then
- v.warning(self, "Warning: use 'loop' instead of 'while true do'.")
+ v.warning(self, "loop", "Warning: use `loop` instead of `while true do`.")
else
n_expr.warn_parentheses(v)
end
redef fun accept_simple_misc(v)
do
if v.once_count > 0 then
- v.warning(self, "Useless once in a once expression.")
+ v.warning(self, "nested-once", "Warning: useless once in a once expression.")
end
v.once_count = v.once_count + 1
# * `public_visibility`
# * `protected_visibility`
# * `none_visibility`
+# * `private_visiblity`
#
# Note this class is basically an enum.
# FIXME: use a real enum once user-defined enums are available
var mdoc = ndoc.to_mdoc
mmodule.mdoc = mdoc
mdoc.original_mentity = mmodule
+ else
+ advice(decl, "missing-doc", "Documentation warning: Undocumented module `{mmodule}`")
end
end
# Helper function to display a warning on a node.
# Alias for: `self.toolcontext.warning(n.hot_location, text)`
- fun warning(n: ANode, text: String)
+ fun warning(n: ANode, tag, text: String)
+ do
+ self.toolcontext.warning(n.hot_location, tag, text)
+ end
+
+ # Helper function to display an advice on a node.
+ # Alias for: `self.toolcontext.advice(n.hot_location, text)`
+ fun advice(n: ANode, tag, text: String)
do
- self.toolcontext.warning(n.hot_location, text)
+ self.toolcontext.advice(n.hot_location, tag, text)
end
# Force to get the primitive method named `name` on the type `recv` or do a fatal error on `n`
return
end
for c in ptname.chars do if c >= 'a' and c<= 'z' then
- warning(nfd, "Warning: lowercase in the formal parameter type {ptname}")
+ warning(nfd, "formal-type-name", "Warning: lowercase in the formal parameter type {ptname}")
break
end
names.add(ptname)
nfd.bound = bound
end
if bound isa MClassType and bound.mclass.kind == enum_kind then
- warning(nfdt, "Warning: Useless formal parameter type since `{bound}` cannnot have subclasses.")
+ warning(nfdt, "useless-bound", "Warning: Useless formal parameter type since `{bound}` cannnot have subclasses.")
end
else if mclass.mclassdefs.is_empty then
# No bound, then implicitely bound by nullable Object
var mdoc = ndoc.to_mdoc
mclassdef.mdoc = mdoc
mdoc.original_mentity = mclassdef
+ else if mclassdef.is_intro and mclass.visibility >= public_visibility then
+ advice(nclassdef, "missing-doc", "Documentation warning: Undocumented public class `{mclass}`")
end
end
if not parents.has(sc) or sc == objectclass then
# Skip the warning on generated code
if ntype.location.file != null and not ntype.location.file.filename.is_empty then
- warning(ntype, "Warning: superfluous super-class {mtype} in class {mclassdef.mclass}.")
+ warning(ntype, "useless-superclass", "Warning: superfluous super-class {mtype} in class {mclassdef.mclass}.")
end
else if not seen_parents.has_key(sc) then
seen_parents[sc] = ntype
else
- warning(ntype, "Warning: duplicated super-class {mtype} in class {mclassdef.mclass}.")
+ warning(ntype, "useless-superclass", "Warning: duplicated super-class {mtype} in class {mclassdef.mclass}.")
end
end
end
modelbuilder.error(nvisibility, "Error: The only legal visibility for properties in a private class is private.")
else if mvisibility == private_visibility then
assert nvisibility != null
- # Not yet
- # modelbuilder.warning(nvisibility, "Warning: private is unrequired since the only legal visibility for properties in a private class is private.")
+ modelbuilder.advice(nvisibility, "useless-visibility", "Warning: private is superfluous since the only legal visibility for properties in a private class is private.")
end
mvisibility = private_visibility
end
var mdoc = ndoc.to_mdoc
mpropdef.mdoc = mdoc
mdoc.original_mentity = mpropdef
+ else if mpropdef.is_intro and mpropdef.mproperty.visibility >= protected_visibility then
+ modelbuilder.advice(self, "missing-doc", "Documentation warning: Undocumented property `{mpropdef.mproperty}`")
end
var at_deprecated = get_single_annotation("deprecated", modelbuilder)
if not is_init or n_kwredef != null then mprop = modelbuilder.try_get_mproperty_by_name(name_node, mclassdef, name).as(nullable MMethod)
if mprop == null and look_like_a_root_init(modelbuilder) then
mprop = modelbuilder.the_root_init_mmethod
+ var nb = n_block
+ if nb isa ABlockExpr and nb.n_expr.is_empty and n_doc == null then
+ modelbuilder.advice(self, "useless-init", "Warning: useless empty init in {mclassdef}")
+ end
end
if mprop == null then
var mvisibility = new_property_visibility(modelbuilder, mclassdef, self.n_visibility)
else if ntype != null then
if nexpr isa ANewExpr then
var xmtype = modelbuilder.resolve_mtype(mmodule, mclassdef, nexpr.n_type)
- if xmtype == mtype and modelbuilder.toolcontext.opt_warn.value >= 2 then
- modelbuilder.warning(ntype, "Warning: useless type definition")
+ if xmtype == mtype then
+ modelbuilder.advice(ntype, "useless-type", "Warning: useless type definition")
end
end
end
var mvisibility = new_property_visibility(modelbuilder, mclassdef, self.n_visibility)
mprop = new MVirtualTypeProp(mclassdef, name, mvisibility)
for c in name.chars do if c >= 'a' and c<= 'z' then
- modelbuilder.warning(n_id, "Warning: lowercase in the virtual type {name}")
+ modelbuilder.warning(n_id, "bad-type-name", "Warning: lowercase in the virtual type {name}")
break
end
if not self.check_redef_keyword(modelbuilder, mclassdef, self.n_kwredef, false, mprop) then return
end
if p.mclassdef.mclass == mclassdef.mclass then
# Still a warning to pass existing bad code
- modelbuilder.warning(n_type, "Redef Error: a virtual type cannot be refined.")
+ modelbuilder.warning(n_type, "refine-type", "Redef Error: a virtual type cannot be refined.")
break
end
if not bound.is_subtype(mmodule, anchor, supbound) then
--- /dev/null
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# UML generator in dot format.
+module nituml
+
+import modelbuilder
+import frontend
+import uml
+
+redef class ToolContext
+ var umlphase: Phase = new UMLPhase(self, null)
+
+ var opt_gen = new OptionEnum(["class", "package"], "Choose which type of uml diagram to generate", 0, "--diagram")
+
+ redef init do
+ option_context.add_option opt_gen
+ super
+ end
+end
+
+private class UMLPhase
+ super Phase
+ redef fun process_mainmodule(mainmodule, mmodules)
+ do
+ var d = new UMLModel(mainmodule.model, mainmodule, toolcontext)
+ if toolcontext.opt_gen.value == 0 then
+ print d.generate_class_uml.write_to_string
+ else if toolcontext.opt_gen.value == 1 then
+ print d.generate_package_uml.write_to_string
+ end
+ end
+end
+
+# process options
+var toolcontext = new ToolContext
+toolcontext.process_options(args)
+var arguments = toolcontext.option_context.rest
+
+# build model
+var model = new Model
+var mbuilder = new ModelBuilder(model, toolcontext)
+var mmodules = mbuilder.parse(arguments)
+
+if mmodules.is_empty then return
+mbuilder.run_phases
+toolcontext.run_global_phases(mmodules)
// !nopar to unambiguise 'foo[5].bar' between '(foo[5]).bar' and 'foo([5].bar),
!nobra!nopar | {range} obra no expr [n2]:no dotdot [n3]:no [expr2]:expr_nobra [n4]:no cbra annotations_o {-> New expr.crange(obra, expr, expr2.expr, cbra, annotations_o.annotations)}
!nobra!nopar | {orange} obra no expr [n2]:no dotdot [n3]:no [expr2]:expr_nobra [n4]:no [cbra]:obra annotations_o {-> New expr.orange(obra, expr, expr2.expr, cbra, annotations_o.annotations)}
-!nobra!nopar | {array} braargs annotations_o {-> New expr.array(braargs.exprs, annotations_o.annotations)}
+!nobra!nopar | {array} obra no args_list typing_o cbra annotations_o {-> New expr.array(obra, args_list.exprs, typing_o.type, cbra, annotations_o.annotations)}
;
superstring {-> expr}
;
braargs {-> exprs}
= obra no expr_list cbra {-> New exprs.bra(obra, [expr_list.expr], cbra)};
+args_list {-> exprs}
+ = expr_list {-> New exprs.list([expr_list.expr])};
expr_list {-> expr*}
= expr [n2]:no expr_tail* {-> [expr, expr_tail.expr]};
expr_tail {-> expr}
| {range} expr [expr2]:expr annotations?
| {crange} obra expr [expr2]:expr cbra annotations?
| {orange} obra expr [expr2]:expr [cbra]:obra annotations?
- | {array} [exprs]:exprs annotations?
+ | {array} obra [exprs]:exprs type? cbra annotations?
| {self} kwself annotations?
| {implicit_self}
| {true} kwtrue annotations?
new ReduceAction339(90),
new ReduceAction340(90),
new ReduceAction345(91),
- new ReduceAction297(92),
- new ReduceAction347(92),
+ new ReduceAction346(92),
+ new ReduceAction297(93),
new ReduceAction348(93),
new ReduceAction349(94),
- new ReduceAction350(94),
+ new ReduceAction350(95),
new ReduceAction351(95),
- new ReduceAction352(95),
- new ReduceAction353(95),
- new ReduceAction354(95),
+ new ReduceAction352(96),
+ new ReduceAction353(96),
+ new ReduceAction354(96),
new ReduceAction355(96),
- new ReduceAction356(96),
- new ReduceAction357(96),
- new ReduceAction22(96),
- new ReduceAction359(97),
- new ReduceAction360(97),
- new ReduceAction361(97),
- new ReduceAction360(97),
- new ReduceAction363(98),
- new ReduceAction364(98),
- new ReduceAction365(98),
- new ReduceAction364(98),
- new ReduceAction367(99),
+ new ReduceAction356(97),
+ new ReduceAction357(97),
+ new ReduceAction358(97),
+ new ReduceAction22(97),
+ new ReduceAction360(98),
+ new ReduceAction361(98),
+ new ReduceAction362(98),
+ new ReduceAction361(98),
+ new ReduceAction364(99),
+ new ReduceAction365(99),
+ new ReduceAction366(99),
+ new ReduceAction365(99),
new ReduceAction368(100),
- new ReduceAction22(101),
- new ReduceAction370(101),
+ new ReduceAction369(101),
+ new ReduceAction22(102),
new ReduceAction371(102),
- new ReduceAction371(102),
- new ReduceAction373(103),
- new ReduceAction374(103),
- new ReduceAction23(103),
- new ReduceAction22(104),
- new ReduceAction377(104),
+ new ReduceAction372(103),
+ new ReduceAction372(103),
+ new ReduceAction374(104),
+ new ReduceAction375(104),
+ new ReduceAction23(104),
+ new ReduceAction22(105),
new ReduceAction378(105),
- new ReduceAction379(105),
- new ReduceAction371(105),
- new ReduceAction56(106),
- new ReduceAction57(107),
- new ReduceAction58(107),
- new ReduceAction59(107),
- new ReduceAction62(107),
- new ReduceAction63(107),
- new ReduceAction75(108),
- new ReduceAction76(108),
- new ReduceAction141(109),
- new ReduceAction142(109),
- new ReduceAction154(110),
+ new ReduceAction379(106),
+ new ReduceAction380(106),
+ new ReduceAction372(106),
+ new ReduceAction56(107),
+ new ReduceAction57(108),
+ new ReduceAction58(108),
+ new ReduceAction59(108),
+ new ReduceAction62(108),
+ new ReduceAction63(108),
+ new ReduceAction75(109),
+ new ReduceAction76(109),
+ new ReduceAction141(110),
+ new ReduceAction142(110),
new ReduceAction154(111),
- new ReduceAction231(111),
new ReduceAction154(112),
- new ReduceAction233(112),
- new ReduceAction234(112),
- new ReduceAction235(112),
- new ReduceAction236(112),
+ new ReduceAction231(112),
new ReduceAction154(113),
- new ReduceAction238(113),
+ new ReduceAction233(113),
+ new ReduceAction234(113),
+ new ReduceAction235(113),
+ new ReduceAction236(113),
new ReduceAction154(114),
- new ReduceAction240(114),
- new ReduceAction241(114),
- new ReduceAction242(114),
- new ReduceAction243(114),
- new ReduceAction244(114),
- new ReduceAction245(114),
- new ReduceAction246(114),
- new ReduceAction247(114),
- new ReduceAction248(114),
- new ReduceAction249(114),
+ new ReduceAction238(114),
new ReduceAction154(115),
- new ReduceAction251(115),
- new ReduceAction252(115),
+ new ReduceAction240(115),
+ new ReduceAction241(115),
+ new ReduceAction242(115),
+ new ReduceAction243(115),
+ new ReduceAction244(115),
+ new ReduceAction245(115),
+ new ReduceAction246(115),
+ new ReduceAction247(115),
+ new ReduceAction248(115),
+ new ReduceAction249(115),
new ReduceAction154(116),
- new ReduceAction254(116),
- new ReduceAction255(116),
- new ReduceAction256(116),
+ new ReduceAction251(116),
+ new ReduceAction252(116),
new ReduceAction154(117),
- new ReduceAction258(117),
+ new ReduceAction254(117),
+ new ReduceAction255(117),
+ new ReduceAction256(117),
new ReduceAction154(118),
- new ReduceAction260(118),
- new ReduceAction261(118),
+ new ReduceAction258(118),
new ReduceAction154(119),
- new ReduceAction263(119),
- new ReduceAction264(119),
- new ReduceAction265(119),
+ new ReduceAction260(119),
+ new ReduceAction261(119),
new ReduceAction154(120),
- new ReduceAction267(120),
- new ReduceAction268(120),
- new ReduceAction177(120),
- new ReduceAction178(120),
- new ReduceAction179(120),
- new ReduceAction180(120),
- new ReduceAction181(120),
- new ReduceAction275(120),
- new ReduceAction276(120),
- new ReduceAction277(120),
- new ReduceAction278(120),
- new ReduceAction279(120),
- new ReduceAction280(121),
- new ReduceAction281(121),
- new ReduceAction282(121),
- new ReduceAction283(121),
- new ReduceAction284(121),
- new ReduceAction285(121),
- new ReduceAction286(121),
- new ReduceAction287(121),
- new ReduceAction288(121),
+ new ReduceAction263(120),
+ new ReduceAction264(120),
+ new ReduceAction265(120),
new ReduceAction154(121),
- new ReduceAction290(121),
- new ReduceAction141(122),
- new ReduceAction142(122),
- new ReduceAction143(122),
- new ReduceAction144(122),
- new ReduceAction154(123),
- new ReduceAction154(123),
- new ReduceAction164(123),
- new ReduceAction165(123),
- new ReduceAction166(123),
- new ReduceAction167(123),
- new ReduceAction168(123),
- new ReduceAction169(123),
- new ReduceAction170(123),
- new ReduceAction154(123),
- new ReduceAction154(123),
- new ReduceAction154(123),
- new ReduceAction154(123),
- new ReduceAction154(123),
- new ReduceAction154(123),
- new ReduceAction177(123),
- new ReduceAction178(123),
- new ReduceAction179(123),
- new ReduceAction180(123),
- new ReduceAction181(123),
- new ReduceAction182(123),
- new ReduceAction183(123),
- new ReduceAction182(123),
- new ReduceAction185(123),
- new ReduceAction186(123),
- new ReduceAction185(123),
- new ReduceAction188(123),
- new ReduceAction195(124),
- new ReduceAction196(124),
- new ReduceAction197(124),
- new ReduceAction198(124),
- new ReduceAction199(124),
- new ReduceAction200(124),
- new ReduceAction201(124),
- new ReduceAction202(124),
- new ReduceAction203(124),
- new ReduceAction204(124),
- new ReduceAction154(125),
+ new ReduceAction267(121),
+ new ReduceAction268(121),
+ new ReduceAction177(121),
+ new ReduceAction178(121),
+ new ReduceAction179(121),
+ new ReduceAction180(121),
+ new ReduceAction181(121),
+ new ReduceAction275(121),
+ new ReduceAction276(121),
+ new ReduceAction277(121),
+ new ReduceAction278(121),
+ new ReduceAction279(121),
+ new ReduceAction280(122),
+ new ReduceAction281(122),
+ new ReduceAction282(122),
+ new ReduceAction283(122),
+ new ReduceAction284(122),
+ new ReduceAction285(122),
+ new ReduceAction286(122),
+ new ReduceAction287(122),
+ new ReduceAction288(122),
+ new ReduceAction154(122),
+ new ReduceAction290(122),
+ new ReduceAction141(123),
+ new ReduceAction142(123),
+ new ReduceAction143(123),
+ new ReduceAction144(123),
+ new ReduceAction154(124),
+ new ReduceAction154(124),
+ new ReduceAction164(124),
+ new ReduceAction165(124),
+ new ReduceAction166(124),
+ new ReduceAction167(124),
+ new ReduceAction168(124),
+ new ReduceAction169(124),
+ new ReduceAction170(124),
+ new ReduceAction154(124),
+ new ReduceAction154(124),
+ new ReduceAction154(124),
+ new ReduceAction154(124),
+ new ReduceAction154(124),
+ new ReduceAction154(124),
+ new ReduceAction177(124),
+ new ReduceAction178(124),
+ new ReduceAction179(124),
+ new ReduceAction180(124),
+ new ReduceAction181(124),
+ new ReduceAction182(124),
+ new ReduceAction183(124),
+ new ReduceAction182(124),
+ new ReduceAction185(124),
+ new ReduceAction186(124),
+ new ReduceAction185(124),
+ new ReduceAction188(124),
+ new ReduceAction195(125),
+ new ReduceAction196(125),
+ new ReduceAction197(125),
+ new ReduceAction198(125),
+ new ReduceAction199(125),
+ new ReduceAction200(125),
+ new ReduceAction201(125),
+ new ReduceAction202(125),
+ new ReduceAction203(125),
+ new ReduceAction204(125),
new ReduceAction154(126),
- new ReduceAction231(126),
new ReduceAction154(127),
- new ReduceAction233(127),
- new ReduceAction234(127),
- new ReduceAction235(127),
- new ReduceAction236(127),
+ new ReduceAction231(127),
new ReduceAction154(128),
- new ReduceAction238(128),
+ new ReduceAction233(128),
+ new ReduceAction234(128),
+ new ReduceAction235(128),
+ new ReduceAction236(128),
new ReduceAction154(129),
- new ReduceAction240(129),
- new ReduceAction241(129),
- new ReduceAction242(129),
- new ReduceAction243(129),
- new ReduceAction244(129),
- new ReduceAction245(129),
- new ReduceAction246(129),
- new ReduceAction247(129),
- new ReduceAction248(129),
- new ReduceAction249(129),
+ new ReduceAction238(129),
new ReduceAction154(130),
- new ReduceAction251(130),
- new ReduceAction252(130),
+ new ReduceAction240(130),
+ new ReduceAction241(130),
+ new ReduceAction242(130),
+ new ReduceAction243(130),
+ new ReduceAction244(130),
+ new ReduceAction245(130),
+ new ReduceAction246(130),
+ new ReduceAction247(130),
+ new ReduceAction248(130),
+ new ReduceAction249(130),
new ReduceAction154(131),
- new ReduceAction254(131),
- new ReduceAction255(131),
- new ReduceAction256(131),
+ new ReduceAction251(131),
+ new ReduceAction252(131),
new ReduceAction154(132),
- new ReduceAction258(132),
+ new ReduceAction254(132),
+ new ReduceAction255(132),
+ new ReduceAction256(132),
new ReduceAction154(133),
- new ReduceAction260(133),
- new ReduceAction261(133),
+ new ReduceAction258(133),
new ReduceAction154(134),
- new ReduceAction263(134),
- new ReduceAction264(134),
- new ReduceAction265(134),
+ new ReduceAction260(134),
+ new ReduceAction261(134),
new ReduceAction154(135),
- new ReduceAction267(135),
- new ReduceAction268(135),
- new ReduceAction177(135),
- new ReduceAction178(135),
- new ReduceAction179(135),
- new ReduceAction180(135),
- new ReduceAction181(135),
- new ReduceAction274(135),
- new ReduceAction275(135),
- new ReduceAction276(135),
- new ReduceAction277(135),
- new ReduceAction278(135),
- new ReduceAction279(135),
- new ReduceAction280(136),
- new ReduceAction281(136),
- new ReduceAction282(136),
- new ReduceAction283(136),
- new ReduceAction284(136),
- new ReduceAction285(136),
- new ReduceAction286(136),
- new ReduceAction287(136),
- new ReduceAction288(136),
+ new ReduceAction263(135),
+ new ReduceAction264(135),
+ new ReduceAction265(135),
new ReduceAction154(136),
- new ReduceAction303(137),
- new ReduceAction304(137),
- new ReduceAction305(138),
- new ReduceAction22(138),
- new ReduceAction307(139),
+ new ReduceAction267(136),
+ new ReduceAction268(136),
+ new ReduceAction177(136),
+ new ReduceAction178(136),
+ new ReduceAction179(136),
+ new ReduceAction180(136),
+ new ReduceAction181(136),
+ new ReduceAction274(136),
+ new ReduceAction275(136),
+ new ReduceAction276(136),
+ new ReduceAction277(136),
+ new ReduceAction278(136),
+ new ReduceAction279(136),
+ new ReduceAction280(137),
+ new ReduceAction281(137),
+ new ReduceAction282(137),
+ new ReduceAction283(137),
+ new ReduceAction284(137),
+ new ReduceAction285(137),
+ new ReduceAction286(137),
+ new ReduceAction287(137),
+ new ReduceAction288(137),
+ new ReduceAction154(137),
+ new ReduceAction303(138),
+ new ReduceAction304(138),
+ new ReduceAction305(139),
+ new ReduceAction22(139),
new ReduceAction307(140),
- new ReduceAction328(141),
- new ReduceAction329(141),
- new ReduceAction331(142),
- new ReduceAction315(142),
- new ReduceAction315(142),
- new ReduceAction141(143),
- new ReduceAction142(143),
- new ReduceAction154(144),
+ new ReduceAction307(141),
+ new ReduceAction328(142),
+ new ReduceAction329(142),
+ new ReduceAction331(143),
+ new ReduceAction315(143),
+ new ReduceAction315(143),
+ new ReduceAction141(144),
+ new ReduceAction142(144),
new ReduceAction154(145),
- new ReduceAction231(145),
new ReduceAction154(146),
- new ReduceAction233(146),
- new ReduceAction234(146),
- new ReduceAction235(146),
- new ReduceAction236(146),
+ new ReduceAction231(146),
new ReduceAction154(147),
- new ReduceAction238(147),
+ new ReduceAction233(147),
+ new ReduceAction234(147),
+ new ReduceAction235(147),
+ new ReduceAction236(147),
new ReduceAction154(148),
- new ReduceAction240(148),
- new ReduceAction241(148),
- new ReduceAction242(148),
- new ReduceAction243(148),
- new ReduceAction244(148),
- new ReduceAction245(148),
- new ReduceAction246(148),
- new ReduceAction247(148),
- new ReduceAction248(148),
- new ReduceAction249(148),
+ new ReduceAction238(148),
new ReduceAction154(149),
- new ReduceAction251(149),
- new ReduceAction252(149),
+ new ReduceAction240(149),
+ new ReduceAction241(149),
+ new ReduceAction242(149),
+ new ReduceAction243(149),
+ new ReduceAction244(149),
+ new ReduceAction245(149),
+ new ReduceAction246(149),
+ new ReduceAction247(149),
+ new ReduceAction248(149),
+ new ReduceAction249(149),
new ReduceAction154(150),
- new ReduceAction254(150),
- new ReduceAction255(150),
- new ReduceAction256(150),
+ new ReduceAction251(150),
+ new ReduceAction252(150),
new ReduceAction154(151),
- new ReduceAction258(151),
+ new ReduceAction254(151),
+ new ReduceAction255(151),
+ new ReduceAction256(151),
new ReduceAction154(152),
- new ReduceAction260(152),
- new ReduceAction261(152),
+ new ReduceAction258(152),
new ReduceAction154(153),
- new ReduceAction263(153),
- new ReduceAction602(153),
+ new ReduceAction260(153),
+ new ReduceAction261(153),
new ReduceAction154(154),
- new ReduceAction604(154),
- new ReduceAction605(154),
- new ReduceAction179(154),
- new ReduceAction607(154),
- new ReduceAction275(154),
- new ReduceAction276(154),
- new ReduceAction277(154),
- new ReduceAction278(154),
- new ReduceAction279(154),
- new ReduceAction280(155),
- new ReduceAction281(155),
- new ReduceAction282(155),
- new ReduceAction283(155),
- new ReduceAction284(155),
- new ReduceAction285(155),
- new ReduceAction286(155),
- new ReduceAction287(155),
- new ReduceAction288(155),
+ new ReduceAction263(154),
+ new ReduceAction603(154),
new ReduceAction154(155),
- new ReduceAction623(156),
- new ReduceAction624(156),
- new ReduceAction151(157),
- new ReduceAction152(157),
- new ReduceAction153(157),
- new ReduceAction154(157),
- new ReduceAction154(158),
- new ReduceAction154(158),
- new ReduceAction164(158),
- new ReduceAction165(158),
- new ReduceAction166(158),
- new ReduceAction167(158),
- new ReduceAction168(158),
- new ReduceAction169(158),
- new ReduceAction170(158),
- new ReduceAction154(158),
- new ReduceAction154(158),
+ new ReduceAction605(155),
+ new ReduceAction606(155),
+ new ReduceAction179(155),
+ new ReduceAction608(155),
+ new ReduceAction275(155),
+ new ReduceAction276(155),
+ new ReduceAction277(155),
+ new ReduceAction278(155),
+ new ReduceAction279(155),
+ new ReduceAction280(156),
+ new ReduceAction281(156),
+ new ReduceAction282(156),
+ new ReduceAction283(156),
+ new ReduceAction284(156),
+ new ReduceAction285(156),
+ new ReduceAction286(156),
+ new ReduceAction287(156),
+ new ReduceAction288(156),
+ new ReduceAction154(156),
+ new ReduceAction624(157),
+ new ReduceAction625(157),
+ new ReduceAction151(158),
+ new ReduceAction152(158),
+ new ReduceAction153(158),
new ReduceAction154(158),
- new ReduceAction154(158),
- new ReduceAction154(158),
- new ReduceAction154(158),
- new ReduceAction177(158),
- new ReduceAction178(158),
- new ReduceAction179(158),
- new ReduceAction180(158),
- new ReduceAction181(158),
- new ReduceAction182(158),
- new ReduceAction183(158),
- new ReduceAction182(158),
- new ReduceAction185(158),
- new ReduceAction186(158),
- new ReduceAction185(158),
- new ReduceAction188(158),
- new ReduceAction191(159),
- new ReduceAction192(159),
- new ReduceAction193(159),
- new ReduceAction194(159),
- new ReduceAction195(160),
- new ReduceAction196(160),
- new ReduceAction197(160),
- new ReduceAction198(160),
- new ReduceAction199(160),
- new ReduceAction200(160),
- new ReduceAction201(160),
- new ReduceAction202(160),
- new ReduceAction203(160),
- new ReduceAction204(160),
- new ReduceAction207(161),
- new ReduceAction208(161),
- new ReduceAction209(162),
- new ReduceAction216(163),
- new ReduceAction217(163),
- new ReduceAction218(164),
- new ReduceAction219(164),
- new ReduceAction220(165),
- new ReduceAction221(165),
- new ReduceAction222(165),
- new ReduceAction223(165),
- new ReduceAction224(166),
- new ReduceAction225(166),
- new ReduceAction154(167),
+ new ReduceAction154(159),
+ new ReduceAction154(159),
+ new ReduceAction164(159),
+ new ReduceAction165(159),
+ new ReduceAction166(159),
+ new ReduceAction167(159),
+ new ReduceAction168(159),
+ new ReduceAction169(159),
+ new ReduceAction170(159),
+ new ReduceAction154(159),
+ new ReduceAction154(159),
+ new ReduceAction154(159),
+ new ReduceAction154(159),
+ new ReduceAction154(159),
+ new ReduceAction154(159),
+ new ReduceAction177(159),
+ new ReduceAction178(159),
+ new ReduceAction179(159),
+ new ReduceAction180(159),
+ new ReduceAction181(159),
+ new ReduceAction182(159),
+ new ReduceAction183(159),
+ new ReduceAction182(159),
+ new ReduceAction185(159),
+ new ReduceAction186(159),
+ new ReduceAction185(159),
+ new ReduceAction188(159),
+ new ReduceAction191(160),
+ new ReduceAction192(160),
+ new ReduceAction193(160),
+ new ReduceAction194(160),
+ new ReduceAction195(161),
+ new ReduceAction196(161),
+ new ReduceAction197(161),
+ new ReduceAction198(161),
+ new ReduceAction199(161),
+ new ReduceAction200(161),
+ new ReduceAction201(161),
+ new ReduceAction202(161),
+ new ReduceAction203(161),
+ new ReduceAction204(161),
+ new ReduceAction207(162),
+ new ReduceAction208(162),
+ new ReduceAction209(163),
+ new ReduceAction216(164),
+ new ReduceAction217(164),
+ new ReduceAction218(165),
+ new ReduceAction219(165),
+ new ReduceAction220(166),
+ new ReduceAction221(166),
+ new ReduceAction222(166),
+ new ReduceAction223(166),
+ new ReduceAction224(167),
+ new ReduceAction225(167),
new ReduceAction154(168),
new ReduceAction154(169),
- new ReduceAction154(169),
- new ReduceAction164(169),
- new ReduceAction165(169),
- new ReduceAction166(169),
- new ReduceAction167(169),
- new ReduceAction168(169),
- new ReduceAction169(169),
- new ReduceAction170(169),
- new ReduceAction154(169),
- new ReduceAction154(169),
- new ReduceAction154(169),
- new ReduceAction154(169),
- new ReduceAction154(169),
- new ReduceAction154(169),
- new ReduceAction177(169),
- new ReduceAction178(169),
- new ReduceAction179(169),
- new ReduceAction180(169),
- new ReduceAction181(169),
- new ReduceAction182(169),
- new ReduceAction183(169),
- new ReduceAction182(169),
- new ReduceAction185(169),
- new ReduceAction186(169),
- new ReduceAction185(169),
- new ReduceAction188(169),
- new ReduceAction195(170),
- new ReduceAction196(170),
- new ReduceAction197(170),
- new ReduceAction198(170),
- new ReduceAction199(170),
- new ReduceAction200(170),
- new ReduceAction201(170),
- new ReduceAction202(170),
- new ReduceAction203(170),
- new ReduceAction204(170),
- new ReduceAction154(171),
+ new ReduceAction154(170),
+ new ReduceAction154(170),
+ new ReduceAction164(170),
+ new ReduceAction165(170),
+ new ReduceAction166(170),
+ new ReduceAction167(170),
+ new ReduceAction168(170),
+ new ReduceAction169(170),
+ new ReduceAction170(170),
+ new ReduceAction154(170),
+ new ReduceAction154(170),
+ new ReduceAction154(170),
+ new ReduceAction154(170),
+ new ReduceAction154(170),
+ new ReduceAction154(170),
+ new ReduceAction177(170),
+ new ReduceAction178(170),
+ new ReduceAction179(170),
+ new ReduceAction180(170),
+ new ReduceAction181(170),
+ new ReduceAction182(170),
+ new ReduceAction183(170),
+ new ReduceAction182(170),
+ new ReduceAction185(170),
+ new ReduceAction186(170),
+ new ReduceAction185(170),
+ new ReduceAction188(170),
+ new ReduceAction195(171),
+ new ReduceAction196(171),
+ new ReduceAction197(171),
+ new ReduceAction198(171),
+ new ReduceAction199(171),
+ new ReduceAction200(171),
+ new ReduceAction201(171),
+ new ReduceAction202(171),
+ new ReduceAction203(171),
+ new ReduceAction204(171),
new ReduceAction154(172),
- new ReduceAction151(173),
- new ReduceAction152(173),
- new ReduceAction153(173),
+ new ReduceAction154(173),
new ReduceAction151(174),
new ReduceAction152(174),
new ReduceAction153(174),
- new ReduceAction154(175),
- new ReduceAction154(175),
- new ReduceAction164(175),
- new ReduceAction165(175),
- new ReduceAction166(175),
- new ReduceAction167(175),
- new ReduceAction168(175),
- new ReduceAction169(175),
- new ReduceAction170(175),
- new ReduceAction154(175),
- new ReduceAction154(175),
- new ReduceAction154(175),
- new ReduceAction154(175),
- new ReduceAction154(175),
- new ReduceAction188(175),
+ new ReduceAction151(175),
+ new ReduceAction152(175),
+ new ReduceAction153(175),
new ReduceAction154(176),
new ReduceAction154(176),
new ReduceAction164(176),
new ReduceAction154(178),
new ReduceAction154(178),
new ReduceAction188(178),
- new ReduceAction335(179),
- new ReduceAction337(179),
- new ReduceAction792(180),
- new ReduceAction793(180),
+ new ReduceAction154(179),
+ new ReduceAction154(179),
+ new ReduceAction164(179),
+ new ReduceAction165(179),
+ new ReduceAction166(179),
+ new ReduceAction167(179),
+ new ReduceAction168(179),
+ new ReduceAction169(179),
+ new ReduceAction170(179),
+ new ReduceAction154(179),
+ new ReduceAction154(179),
+ new ReduceAction154(179),
+ new ReduceAction154(179),
+ new ReduceAction154(179),
+ new ReduceAction188(179),
+ new ReduceAction335(180),
+ new ReduceAction337(180),
+ new ReduceAction793(181),
new ReduceAction794(181),
- new ReduceAction795(181),
+ new ReduceAction795(182),
new ReduceAction796(182),
- new ReduceAction797(182),
+ new ReduceAction797(183),
new ReduceAction798(183),
- new ReduceAction799(183),
+ new ReduceAction799(184),
new ReduceAction800(184),
- new ReduceAction801(184),
+ new ReduceAction801(185),
new ReduceAction802(185),
- new ReduceAction803(185),
+ new ReduceAction803(186),
new ReduceAction804(186),
- new ReduceAction805(186),
+ new ReduceAction805(187),
new ReduceAction806(187),
- new ReduceAction807(187),
- new ReduceAction145(188),
- new ReduceAction809(188),
+ new ReduceAction807(188),
+ new ReduceAction808(188),
+ new ReduceAction145(189),
new ReduceAction810(189),
- new ReduceAction811(189),
+ new ReduceAction811(190),
new ReduceAction812(190),
- new ReduceAction813(190),
- new ReduceAction310(191),
- new ReduceAction815(191),
+ new ReduceAction813(191),
+ new ReduceAction814(191),
new ReduceAction310(192),
- new ReduceAction815(192),
+ new ReduceAction816(192),
new ReduceAction310(193),
- new ReduceAction815(193),
- new ReduceAction328(194),
- new ReduceAction821(194),
- new ReduceAction810(195),
- new ReduceAction811(195),
- new ReduceAction349(196),
- new ReduceAction825(196),
+ new ReduceAction816(193),
+ new ReduceAction310(194),
+ new ReduceAction816(194),
+ new ReduceAction328(195),
+ new ReduceAction822(195),
+ new ReduceAction811(196),
+ new ReduceAction812(196),
+ new ReduceAction350(197),
new ReduceAction826(197),
- new ReduceAction827(197),
+ new ReduceAction827(198),
new ReduceAction828(198),
- new ReduceAction829(198)
+ new ReduceAction829(199),
+ new ReduceAction830(199)
)
end
end
redef fun action(p: Parser)
do
var node_list: nullable Object = null
+ var nodearraylist6 = p.pop
+ var nodearraylist5 = p.pop
+ var nodearraylist4 = p.pop
+ var nodearraylist3 = p.pop
var nodearraylist2 = p.pop
var nodearraylist1 = p.pop
- var pexprsnode2 = nodearraylist1
- assert pexprsnode2 isa nullable AExprs
- var pannotationsnode3 = nodearraylist2
- assert pannotationsnode3 isa nullable AAnnotations
+ var tobranode2 = nodearraylist1
+ assert tobranode2 isa nullable TObra
+ var pexprsnode3 = nodearraylist3
+ assert pexprsnode3 isa nullable AExprs
+ var ptypenode4 = nodearraylist4
+ assert ptypenode4 isa nullable AType
+ var tcbranode5 = nodearraylist5
+ assert tcbranode5 isa nullable TCbra
+ var pannotationsnode6 = nodearraylist6
+ assert pannotationsnode6 isa nullable AAnnotations
var pexprnode1: nullable AArrayExpr = new AArrayExpr.init_aarrayexpr(
- pexprsnode2,
- pannotationsnode3
+ tobranode2,
+ pexprsnode3,
+ ptypenode4,
+ tcbranode5,
+ pannotationsnode6
)
node_list = pexprnode1
p.push(p.go_to(_goto), node_list)
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction347
+private class ReduceAction346
+ super ReduceAction
+ redef fun action(p: Parser)
+ do
+ var node_list: nullable Object = null
+ var nodearraylist1 = p.pop
+ var listnode3 = new Array[Object]
+ var listnode2 = nodearraylist1
+ assert listnode2 isa Array[Object]
+ listnode3 = concat(listnode3, listnode2)
+ var pexprsnode1: nullable AListExprs = new AListExprs.init_alistexprs(
+ listnode3
+ )
+ node_list = pexprsnode1
+ p.push(p.go_to(_goto), node_list)
+ end
+end
+private class ReduceAction348
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction348
+private class ReduceAction349
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction349
+private class ReduceAction350
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction350
+private class ReduceAction351
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction351
+private class ReduceAction352
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction352
+private class ReduceAction353
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction353
+private class ReduceAction354
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction354
+private class ReduceAction355
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction355
+private class ReduceAction356
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction356
+private class ReduceAction357
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction357
+private class ReduceAction358
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction359
+private class ReduceAction360
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction360
+private class ReduceAction361
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction361
+private class ReduceAction362
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction363
+private class ReduceAction364
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction364
+private class ReduceAction365
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction365
+private class ReduceAction366
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction367
+private class ReduceAction368
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction368
+private class ReduceAction369
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction370
+private class ReduceAction371
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction371
+private class ReduceAction372
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction373
+private class ReduceAction374
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction374
+private class ReduceAction375
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction377
+private class ReduceAction378
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction378
+private class ReduceAction379
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction379
+private class ReduceAction380
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction602
+private class ReduceAction603
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction604
+private class ReduceAction605
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction605
+private class ReduceAction606
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction607
+private class ReduceAction608
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction623
+private class ReduceAction624
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction624
+private class ReduceAction625
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction792
+private class ReduceAction793
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction793
+private class ReduceAction794
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction794
+private class ReduceAction795
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction795
+private class ReduceAction796
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction796
+private class ReduceAction797
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction797
+private class ReduceAction798
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction798
+private class ReduceAction799
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction799
+private class ReduceAction800
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction800
+private class ReduceAction801
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction801
+private class ReduceAction802
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction802
+private class ReduceAction803
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction803
+private class ReduceAction804
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction804
+private class ReduceAction805
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction805
+private class ReduceAction806
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction806
+private class ReduceAction807
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction807
+private class ReduceAction808
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction809
+private class ReduceAction810
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction810
+private class ReduceAction811
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction811
+private class ReduceAction812
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction812
+private class ReduceAction813
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction813
+private class ReduceAction814
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction815
+private class ReduceAction816
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction821
+private class ReduceAction822
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction825
+private class ReduceAction826
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction826
+private class ReduceAction827
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction827
+private class ReduceAction828
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction828
+private class ReduceAction829
super ReduceAction
redef fun action(p: Parser)
do
p.push(p.go_to(_goto), node_list)
end
end
-private class ReduceAction829
+private class ReduceAction830
super ReduceAction
redef fun action(p: Parser)
do
end
class AArrayExpr
super AExpr
+ var n_obra: TObra is writable, noinit
var n_exprs: AExprs is writable, noinit
+ var n_type: nullable AType = null is writable
+ var n_cbra: TCbra is writable, noinit
var n_annotations: nullable AAnnotations = null is writable
end
class ASelfExpr
# A literal array. eg. `[x,y,z]`
class AArrayExpr
super AExpr
+ var n_obra: TObra is writable, noinit
var n_exprs: AExprs is writable, noinit
+ var n_type: nullable AType = null is writable
+ var n_cbra: TCbra is writable, noinit
end
# A read of `self`
end
redef class AArrayExpr
init init_aarrayexpr (
+ n_obra: nullable TObra,
n_exprs: nullable AExprs,
+ n_type: nullable AType,
+ n_cbra: nullable TCbra,
n_annotations: nullable AAnnotations
)
do
+ _n_obra = n_obra.as(not null)
+ n_obra.parent = self
_n_exprs = n_exprs.as(not null)
n_exprs.parent = self
+ _n_type = n_type
+ if n_type != null then n_type.parent = self
+ _n_cbra = n_cbra.as(not null)
+ n_cbra.parent = self
_n_annotations = n_annotations
if n_annotations != null then n_annotations.parent = self
end
redef fun replace_child(old_child: ANode, new_child: nullable ANode)
do
+ if _n_obra == old_child then
+ n_obra = new_child.as(TObra)
+ return
+ end
if _n_exprs == old_child then
n_exprs = new_child.as(AExprs)
return
end
+ if _n_type == old_child then
+ n_type = new_child.as(nullable AType)
+ return
+ end
+ if _n_cbra == old_child then
+ n_cbra = new_child.as(TCbra)
+ return
+ end
if _n_annotations == old_child then
n_annotations = new_child.as(nullable AAnnotations)
return
end
end
+ redef fun n_obra=(node)
+ do
+ _n_obra = node
+ node.parent = self
+ end
redef fun n_exprs=(node)
do
_n_exprs = node
node.parent = self
end
+ redef fun n_type=(node)
+ do
+ _n_type = node
+ if node != null then node.parent = self
+ end
+ redef fun n_cbra=(node)
+ do
+ _n_cbra = node
+ node.parent = self
+ end
redef fun n_annotations=(node)
do
_n_annotations = node
redef fun visit_all(v: Visitor)
do
+ v.enter_visit(_n_obra)
v.enter_visit(_n_exprs)
+ v.enter_visit(_n_type)
+ v.enter_visit(_n_cbra)
v.enter_visit(_n_annotations)
end
end
static int parser_action_row1[] = {
4,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2,
95, 1, 22
};
static int parser_action_row2[] = {
1,
- -1, 1, 828
+ -1, 1, 829
};
static int parser_action_row3[] = {
1,
- -1, 1, 826
+ -1, 1, 827
};
static int parser_action_row4[] = {
2,
};
static int parser_action_row5[] = {
4,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2,
95, 1, 22
};
static int parser_action_row6[] = {
1,
- -1, 1, 792
+ -1, 1, 793
};
static int parser_action_row7[] = {
1,
- -1, 1, 796
+ -1, 1, 797
};
static int parser_action_row8[] = {
1,
};
static int parser_action_row11[] = {
1,
- -1, 1, 794
+ -1, 1, 795
};
static int parser_action_row12[] = {
2,
- -1, 1, 377,
+ -1, 1, 378,
95, 1, 23
};
static int parser_action_row13[] = {
36, 0, 38,
37, 0, 39,
38, 0, 40,
- 41, 1, 358,
+ 41, 1, 359,
42, 0, 41,
43, 0, 42,
44, 0, 43,
53, 0, 47,
81, 0, 48,
82, 0, 49,
- 83, 1, 358,
+ 83, 1, 359,
84, 0, 50,
85, 0, 51,
86, 0, 52,
};
static int parser_action_row14[] = {
2,
- -1, 1, 375,
+ -1, 1, 376,
1, 0, 2
};
static int parser_action_row15[] = {
static int parser_action_row16[] = {
3,
-1, 3, 15,
- 0, 0, 83,
- 1, 0, 84
+ 0, 0, 82,
+ 1, 0, 83
};
static int parser_action_row17[] = {
4,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2,
95, 1, 22
};
static int parser_action_row18[] = {
4,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2,
95, 1, 22
};
static int parser_action_row19[] = {
4,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2,
95, 1, 22
};
static int parser_action_row20[] = {
3,
- -1, 1, 373,
+ -1, 1, 374,
0, 0, 1,
- 1, 0, 97
+ 1, 0, 96
};
static int parser_action_row21[] = {
2,
- -1, 1, 380,
- 0, 0, 99
+ -1, 1, 381,
+ 0, 0, 98
};
static int parser_action_row22[] = {
1,
36, 0, 38,
37, 0, 39,
38, 0, 40,
- 41, 1, 358,
+ 41, 1, 359,
42, 0, 41,
43, 0, 42,
44, 0, 43,
53, 0, 47,
81, 0, 48,
82, 0, 49,
- 83, 1, 358,
+ 83, 1, 359,
84, 0, 50,
85, 0, 51,
86, 0, 52,
};
static int parser_action_row24[] = {
4,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2,
95, 1, 22
};
static int parser_action_row25[] = {
4,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2,
95, 1, 22
};
static int parser_action_row26[] = {
4,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2,
95, 1, 22
static int parser_action_row27[] = {
26,
-1, 1, 344,
- 12, 0, 107,
- 22, 0, 108,
- 31, 0, 109,
- 38, 0, 110,
- 40, 0, 111,
- 41, 1, 358,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 48, 0, 116,
- 51, 0, 117,
+ 12, 0, 106,
+ 22, 0, 107,
+ 31, 0, 108,
+ 38, 0, 109,
+ 40, 0, 110,
+ 41, 1, 359,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 48, 0, 115,
+ 51, 0, 116,
53, 1, 340,
61, 1, 340,
63, 1, 340,
- 65, 0, 118,
+ 65, 0, 117,
81, 0, 48,
82, 0, 49,
- 83, 1, 358,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 83, 1, 359,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
+ 91, 0, 122
};
static int parser_action_row28[] = {
1,
};
static int parser_action_row29[] = {
32,
- -1, 1, 358,
+ -1, 1, 359,
0, 0, 1,
1, 0, 2,
- 9, 0, 142,
+ 9, 0, 141,
12, 0, 26,
15, 0, 28,
16, 0, 29,
static int parser_action_row30[] = {
2,
-1, 3, 29,
- 82, 0, 147
+ 82, 0, 146
};
static int parser_action_row31[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row32[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row33[] = {
32,
- -1, 1, 358,
+ -1, 1, 359,
0, 0, 1,
1, 0, 2,
- 9, 0, 142,
+ 9, 0, 141,
12, 0, 26,
15, 0, 28,
16, 0, 29,
};
static int parser_action_row34[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row35[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row36[] = {
24,
-1, 1, 164,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
- 41, 1, 358,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
+ 41, 1, 359,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
- 83, 1, 358,
+ 83, 1, 359,
84, 0, 50,
85, 0, 51,
86, 0, 52,
static int parser_action_row37[] = {
2,
-1, 1, 169,
- 49, 0, 175
+ 49, 0, 174
};
static int parser_action_row38[] = {
2,
-1, 1, 166,
- 49, 0, 175
+ 49, 0, 174
};
static int parser_action_row39[] = {
1,
};
static int parser_action_row40[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
- 82, 0, 178,
+ 82, 0, 177,
84, 0, 50,
85, 0, 51,
86, 0, 52,
};
static int parser_action_row41[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row42[] = {
2,
-1, 1, 306,
- 80, 0, 184
+ 80, 0, 183
};
static int parser_action_row43[] = {
2,
-1, 1, 306,
- 80, 0, 184
+ 80, 0, 183
};
static int parser_action_row44[] = {
2,
-1, 1, 306,
- 80, 0, 184
+ 80, 0, 183
};
static int parser_action_row45[] = {
2,
-1, 1, 306,
- 80, 0, 184
+ 80, 0, 183
};
static int parser_action_row46[] = {
2,
-1, 3, 45,
- 11, 0, 190
+ 11, 0, 189
};
static int parser_action_row47[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row48[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row49[] = {
2,
-1, 3, 48,
- 57, 0, 193
+ 57, 0, 192
};
static int parser_action_row50[] = {
2,
- -1, 1, 359,
- 57, 0, 194
+ -1, 1, 360,
+ 57, 0, 193
};
static int parser_action_row51[] = {
2,
-1, 1, 306,
- 80, 0, 184
+ 80, 0, 183
};
static int parser_action_row52[] = {
2,
-1, 1, 306,
- 80, 0, 184
+ 80, 0, 183
};
static int parser_action_row53[] = {
2,
-1, 1, 306,
- 80, 0, 184
+ 80, 0, 183
};
static int parser_action_row54[] = {
2,
-1, 1, 306,
- 80, 0, 184
+ 80, 0, 183
};
static int parser_action_row55[] = {
1,
static int parser_action_row56[] = {
2,
-1, 1, 306,
- 80, 0, 184
+ 80, 0, 183
};
static int parser_action_row57[] = {
1,
static int parser_action_row58[] = {
5,
-1, 1, 80,
- 18, 0, 200,
- 19, 0, 201,
- 20, 0, 202,
- 21, 0, 203
+ 18, 0, 199,
+ 19, 0, 200,
+ 20, 0, 201,
+ 21, 0, 202
};
static int parser_action_row59[] = {
2,
-1, 3, 58,
- 94, 0, 205
+ 94, 0, 204
};
static int parser_action_row60[] = {
1,
static int parser_action_row72[] = {
4,
-1, 3, 71,
- 53, 0, 209,
- 61, 0, 210,
- 63, 0, 211
+ 53, 0, 208,
+ 61, 0, 209,
+ 63, 0, 210
};
static int parser_action_row73[] = {
1,
static int parser_action_row75[] = {
3,
-1, 3, 74,
- 89, 0, 213,
- 90, 0, 214
+ 89, 0, 212,
+ 90, 0, 213
};
static int parser_action_row76[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row77[] = {
- 2,
- -1, 1, 306,
- 80, 0, 184
-};
-static int parser_action_row78[] = {
3,
- -1, 3, 77,
- 41, 0, 221,
- 83, 0, 222
+ -1, 3, 76,
+ 41, 0, 219,
+ 83, 0, 220
};
-static int parser_action_row79[] = {
+static int parser_action_row78[] = {
29,
-1, 1, 340,
0, 1, 344,
1, 1, 344,
9, 1, 344,
- 12, 0, 107,
- 22, 0, 108,
- 31, 0, 109,
- 38, 0, 110,
- 40, 0, 111,
- 41, 1, 358,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 48, 0, 116,
- 51, 0, 117,
+ 12, 0, 106,
+ 22, 0, 107,
+ 31, 0, 108,
+ 38, 0, 109,
+ 40, 0, 110,
+ 41, 1, 359,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 48, 0, 115,
+ 51, 0, 116,
52, 1, 344,
55, 1, 344,
- 65, 0, 118,
+ 65, 0, 117,
81, 0, 48,
82, 0, 49,
- 83, 1, 358,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 83, 1, 359,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123,
+ 91, 0, 122,
95, 1, 344
};
-static int parser_action_row80[] = {
+static int parser_action_row79[] = {
1,
- -1, 1, 824
+ -1, 1, 825
};
-static int parser_action_row81[] = {
+static int parser_action_row80[] = {
3,
- -1, 1, 355,
- 12, 0, 225,
- 82, 0, 226
+ -1, 1, 356,
+ 12, 0, 223,
+ 82, 0, 224
};
-static int parser_action_row82[] = {
+static int parser_action_row81[] = {
4,
- -1, 1, 357,
- 12, 0, 227,
+ -1, 1, 358,
+ 12, 0, 225,
81, 0, 48,
- 82, 0, 228
+ 82, 0, 226
};
-static int parser_action_row83[] = {
+static int parser_action_row82[] = {
3,
- -1, 1, 374,
+ -1, 1, 375,
0, 0, 1,
- 1, 0, 97
+ 1, 0, 96
+};
+static int parser_action_row83[] = {
+ 1,
+ -1, 1, 373
};
static int parser_action_row84[] = {
1,
};
static int parser_action_row85[] = {
1,
- -1, 1, 371
+ -1, 1, 382
};
static int parser_action_row86[] = {
1,
- -1, 1, 381
+ -1, 1, 794
};
static int parser_action_row87[] = {
1,
- -1, 1, 793
-};
-static int parser_action_row88[] = {
- 1,
-1, 1, 2
};
-static int parser_action_row89[] = {
+static int parser_action_row88[] = {
4,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2,
95, 1, 22
};
-static int parser_action_row90[] = {
+static int parser_action_row89[] = {
4,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2,
95, 1, 22
};
-static int parser_action_row91[] = {
+static int parser_action_row90[] = {
1,
-1, 1, 4
};
-static int parser_action_row92[] = {
+static int parser_action_row91[] = {
1,
- -1, 1, 795
+ -1, 1, 796
};
-static int parser_action_row93[] = {
+static int parser_action_row92[] = {
34,
-1, 1, 42,
12, 0, 26,
36, 0, 38,
37, 0, 39,
38, 0, 40,
- 41, 1, 358,
+ 41, 1, 359,
42, 0, 41,
43, 0, 42,
44, 0, 43,
53, 0, 47,
81, 0, 48,
82, 0, 49,
- 83, 1, 358,
+ 83, 1, 359,
84, 0, 50,
85, 0, 51,
86, 0, 52,
91, 0, 55,
94, 0, 56
};
-static int parser_action_row94[] = {
+static int parser_action_row93[] = {
4,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2,
95, 1, 22
};
-static int parser_action_row95[] = {
+static int parser_action_row94[] = {
1,
- -1, 1, 797
+ -1, 1, 798
};
-static int parser_action_row96[] = {
+static int parser_action_row95[] = {
1,
-1, 1, 8
};
-static int parser_action_row97[] = {
+static int parser_action_row96[] = {
32,
-1, 1, 42,
12, 0, 26,
36, 0, 38,
37, 0, 39,
38, 0, 40,
- 41, 1, 358,
+ 41, 1, 359,
42, 0, 41,
43, 0, 42,
44, 0, 43,
53, 0, 47,
81, 0, 48,
82, 0, 49,
- 83, 1, 358,
+ 83, 1, 359,
84, 0, 50,
85, 0, 51,
86, 0, 52,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row98[] = {
+static int parser_action_row97[] = {
1,
- -1, 1, 827
+ -1, 1, 828
};
-static int parser_action_row99[] = {
+static int parser_action_row98[] = {
2,
- -1, 1, 378,
- 0, 0, 99
+ -1, 1, 379,
+ 0, 0, 98
};
-static int parser_action_row100[] = {
+static int parser_action_row99[] = {
1,
- -1, 1, 829
+ -1, 1, 830
};
-static int parser_action_row101[] = {
+static int parser_action_row100[] = {
5,
-1, 1, 80,
- 18, 0, 200,
- 19, 0, 201,
- 20, 0, 202,
- 21, 0, 203
+ 18, 0, 199,
+ 19, 0, 200,
+ 20, 0, 201,
+ 21, 0, 202
};
-static int parser_action_row102[] = {
+static int parser_action_row101[] = {
1,
-1, 1, 3
};
-static int parser_action_row103[] = {
+static int parser_action_row102[] = {
4,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2,
95, 1, 22
};
-static int parser_action_row104[] = {
+static int parser_action_row103[] = {
4,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2,
95, 1, 22
};
-static int parser_action_row105[] = {
+static int parser_action_row104[] = {
1,
-1, 1, 5
};
-static int parser_action_row106[] = {
+static int parser_action_row105[] = {
4,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2,
95, 1, 22
};
-static int parser_action_row107[] = {
+static int parser_action_row106[] = {
1,
-1, 1, 9
};
-static int parser_action_row108[] = {
+static int parser_action_row107[] = {
2,
-1, 1, 340,
- 51, 0, 242
+ 51, 0, 240
+};
+static int parser_action_row108[] = {
+ 3,
+ -1, 1, 377,
+ 0, 0, 1,
+ 1, 0, 2
};
static int parser_action_row109[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row110[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row111[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row112[] = {
- 3,
- -1, 1, 376,
- 0, 0, 1,
- 1, 0, 2
+ 2,
+ -1, 1, 306,
+ 80, 0, 183
};
static int parser_action_row113[] = {
2,
-1, 1, 306,
- 80, 0, 184
+ 80, 0, 183
};
static int parser_action_row114[] = {
2,
-1, 1, 306,
- 80, 0, 184
+ 80, 0, 183
};
static int parser_action_row115[] = {
2,
-1, 1, 306,
- 80, 0, 184
+ 80, 0, 183
};
static int parser_action_row116[] = {
- 2,
- -1, 1, 306,
- 80, 0, 184
-};
-static int parser_action_row117[] = {
15,
- -1, 1, 358,
- 12, 0, 107,
- 38, 0, 252,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
+ -1, 1, 359,
+ 12, 0, 106,
+ 38, 0, 250,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
81, 0, 48,
82, 0, 49,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
+ 91, 0, 122
};
-static int parser_action_row118[] = {
+static int parser_action_row117[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row119[] = {
+static int parser_action_row118[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
+static int parser_action_row119[] = {
+ 2,
+ -1, 1, 306,
+ 80, 0, 183
+};
static int parser_action_row120[] = {
2,
-1, 1, 306,
- 80, 0, 184
+ 80, 0, 183
};
static int parser_action_row121[] = {
2,
-1, 1, 306,
- 80, 0, 184
+ 80, 0, 183
};
static int parser_action_row122[] = {
2,
-1, 1, 306,
- 80, 0, 184
+ 80, 0, 183
};
static int parser_action_row123[] = {
2,
-1, 1, 306,
- 80, 0, 184
+ 80, 0, 183
};
static int parser_action_row124[] = {
- 2,
- -1, 1, 306,
- 80, 0, 184
-};
-static int parser_action_row125[] = {
1,
- -1, 1, 553
+ -1, 1, 554
};
-static int parser_action_row126[] = {
+static int parser_action_row125[] = {
1,
-1, 1, 273
};
-static int parser_action_row127[] = {
+static int parser_action_row126[] = {
1,
-1, 1, 181
};
-static int parser_action_row128[] = {
+static int parser_action_row127[] = {
3,
- -1, 3, 127,
- 41, 0, 262,
- 83, 0, 263
+ -1, 3, 126,
+ 41, 0, 260,
+ 83, 0, 261
};
-static int parser_action_row129[] = {
+static int parser_action_row128[] = {
2,
-1, 1, 340,
- 51, 0, 242
+ 51, 0, 240
};
-static int parser_action_row130[] = {
+static int parser_action_row129[] = {
2,
- -1, 1, 355,
- 82, 0, 226
+ -1, 1, 356,
+ 82, 0, 224
};
-static int parser_action_row131[] = {
+static int parser_action_row130[] = {
1,
-1, 1, 342
};
-static int parser_action_row132[] = {
+static int parser_action_row131[] = {
4,
- -1, 1, 494,
- 29, 0, 265,
- 30, 0, 266,
- 32, 0, 267
+ -1, 1, 495,
+ 29, 0, 263,
+ 30, 0, 264,
+ 32, 0, 265
};
-static int parser_action_row133[] = {
+static int parser_action_row132[] = {
1,
- -1, 1, 496
+ -1, 1, 497
};
-static int parser_action_row134[] = {
+static int parser_action_row133[] = {
3,
- -1, 1, 501,
- 74, 0, 268,
- 77, 0, 269
+ -1, 1, 502,
+ 74, 0, 266,
+ 77, 0, 267
};
-static int parser_action_row135[] = {
+static int parser_action_row134[] = {
11,
- -1, 1, 503,
- 39, 0, 270,
- 64, 0, 271,
- 65, 0, 272,
- 70, 0, 273,
- 71, 0, 274,
- 72, 0, 275,
- 73, 0, 276,
- 75, 0, 277,
- 76, 0, 278,
- 78, 0, 279
+ -1, 1, 504,
+ 39, 0, 268,
+ 64, 0, 269,
+ 65, 0, 270,
+ 70, 0, 271,
+ 71, 0, 272,
+ 72, 0, 273,
+ 73, 0, 274,
+ 75, 0, 275,
+ 76, 0, 276,
+ 78, 0, 277
};
-static int parser_action_row136[] = {
+static int parser_action_row135[] = {
4,
- -1, 1, 514,
- 66, 0, 280,
- 68, 0, 281,
- 69, 0, 282
+ -1, 1, 515,
+ 66, 0, 278,
+ 68, 0, 279,
+ 69, 0, 280
};
-static int parser_action_row137[] = {
+static int parser_action_row136[] = {
1,
- -1, 1, 517
+ -1, 1, 518
};
-static int parser_action_row138[] = {
+static int parser_action_row137[] = {
2,
- -1, 1, 521,
- 67, 0, 283
+ -1, 1, 522,
+ 67, 0, 281
};
-static int parser_action_row139[] = {
+static int parser_action_row138[] = {
1,
- -1, 1, 523
+ -1, 1, 524
};
-static int parser_action_row140[] = {
+static int parser_action_row139[] = {
4,
- -1, 1, 526,
- 53, 0, 209,
- 61, 0, 284,
- 63, 0, 285
+ -1, 1, 527,
+ 53, 0, 208,
+ 61, 0, 282,
+ 63, 0, 283
};
-static int parser_action_row141[] = {
+static int parser_action_row140[] = {
1,
- -1, 1, 530
+ -1, 1, 531
};
-static int parser_action_row142[] = {
+static int parser_action_row141[] = {
3,
- -1, 1, 357,
+ -1, 1, 358,
81, 0, 48,
- 82, 0, 228
+ 82, 0, 226
};
-static int parser_action_row143[] = {
+static int parser_action_row142[] = {
2,
-1, 1, 153,
- 49, 1, 726
+ 49, 1, 727
};
-static int parser_action_row144[] = {
+static int parser_action_row143[] = {
1,
-1, 1, 208
};
-static int parser_action_row145[] = {
+static int parser_action_row144[] = {
1,
-1, 1, 154
};
-static int parser_action_row146[] = {
+static int parser_action_row145[] = {
30,
- -1, 1, 358,
- 9, 0, 288,
+ -1, 1, 359,
+ 9, 0, 286,
12, 0, 26,
15, 0, 28,
16, 0, 29,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row147[] = {
+static int parser_action_row146[] = {
2,
- -1, 3, 146,
- 49, 0, 175
+ -1, 3, 145,
+ 49, 0, 174
};
-static int parser_action_row148[] = {
+static int parser_action_row147[] = {
3,
-1, 1, 150,
- 56, 0, 292,
- 80, 0, 184
+ 56, 0, 290,
+ 80, 0, 183
};
-static int parser_action_row149[] = {
+static int parser_action_row148[] = {
1,
- -1, 1, 377
+ -1, 1, 378
};
-static int parser_action_row150[] = {
+static int parser_action_row149[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row151[] = {
+static int parser_action_row150[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row152[] = {
+static int parser_action_row151[] = {
1,
-1, 1, 217
};
-static int parser_action_row153[] = {
+static int parser_action_row152[] = {
2,
+ -1, 3, 151,
+ 49, 0, 174
+};
+static int parser_action_row153[] = {
+ 3,
-1, 3, 152,
- 49, 0, 175
+ 51, 0, 296,
+ 82, 0, 297
};
static int parser_action_row154[] = {
- 3,
+ 2,
-1, 3, 153,
- 51, 0, 298,
- 82, 0, 299
+ 87, 0, 299
};
static int parser_action_row155[] = {
2,
- -1, 3, 154,
- 87, 0, 301
+ -1, 1, 340,
+ 51, 0, 240
};
static int parser_action_row156[] = {
- 2,
- -1, 1, 340,
- 51, 0, 242
+ 3,
+ -1, 1, 377,
+ 0, 0, 1,
+ 1, 0, 2
};
static int parser_action_row157[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row158[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row159[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row160[] = {
- 3,
- -1, 1, 376,
- 0, 0, 1,
- 1, 0, 2
-};
-static int parser_action_row161[] = {
17,
- -1, 1, 358,
- 12, 0, 155,
+ -1, 1, 359,
+ 12, 0, 154,
38, 0, 40,
42, 0, 41,
43, 0, 42,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row162[] = {
+static int parser_action_row161[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row163[] = {
+static int parser_action_row162[] = {
1,
-1, 1, 165
};
-static int parser_action_row164[] = {
+static int parser_action_row163[] = {
1,
-1, 1, 229
};
-static int parser_action_row165[] = {
+static int parser_action_row164[] = {
4,
-1, 1, 230,
- 29, 0, 309,
- 30, 0, 310,
- 32, 0, 311
+ 29, 0, 307,
+ 30, 0, 308,
+ 32, 0, 309
};
-static int parser_action_row166[] = {
+static int parser_action_row165[] = {
1,
-1, 1, 232
};
-static int parser_action_row167[] = {
+static int parser_action_row166[] = {
3,
-1, 1, 237,
- 74, 0, 312,
- 77, 0, 313
+ 74, 0, 310,
+ 77, 0, 311
};
-static int parser_action_row168[] = {
+static int parser_action_row167[] = {
11,
-1, 1, 239,
- 39, 0, 314,
- 64, 0, 315,
- 65, 0, 316,
- 70, 0, 317,
- 71, 0, 318,
- 72, 0, 319,
- 73, 0, 320,
- 75, 0, 321,
- 76, 0, 322,
- 78, 0, 323
+ 39, 0, 312,
+ 64, 0, 313,
+ 65, 0, 314,
+ 70, 0, 315,
+ 71, 0, 316,
+ 72, 0, 317,
+ 73, 0, 318,
+ 75, 0, 319,
+ 76, 0, 320,
+ 78, 0, 321
};
-static int parser_action_row169[] = {
+static int parser_action_row168[] = {
4,
-1, 1, 250,
- 66, 0, 324,
- 68, 0, 325,
- 69, 0, 326
+ 66, 0, 322,
+ 68, 0, 323,
+ 69, 0, 324
};
-static int parser_action_row170[] = {
+static int parser_action_row169[] = {
1,
-1, 1, 253
};
-static int parser_action_row171[] = {
+static int parser_action_row170[] = {
2,
-1, 1, 257,
- 67, 0, 327
+ 67, 0, 325
};
-static int parser_action_row172[] = {
+static int parser_action_row171[] = {
1,
-1, 1, 259
};
-static int parser_action_row173[] = {
+static int parser_action_row172[] = {
4,
-1, 1, 262,
- 53, 0, 209,
- 61, 0, 210,
- 63, 0, 328
+ 53, 0, 208,
+ 61, 0, 209,
+ 63, 0, 326
};
-static int parser_action_row174[] = {
+static int parser_action_row173[] = {
3,
- -1, 3, 173,
- 41, 0, 330,
- 83, 0, 331
+ -1, 3, 172,
+ 41, 0, 328,
+ 83, 0, 329
};
-static int parser_action_row175[] = {
+static int parser_action_row174[] = {
2,
-1, 1, 340,
- 51, 0, 242
+ 51, 0, 240
};
-static int parser_action_row176[] = {
+static int parser_action_row175[] = {
2,
-1, 1, 189,
- 82, 0, 333
+ 82, 0, 331
};
-static int parser_action_row177[] = {
+static int parser_action_row176[] = {
1,
-1, 1, 170
};
-static int parser_action_row178[] = {
+static int parser_action_row177[] = {
1,
-1, 1, 167
};
-static int parser_action_row179[] = {
+static int parser_action_row178[] = {
3,
- -1, 1, 359,
- 56, 0, 334,
- 57, 0, 194
+ -1, 1, 360,
+ 56, 0, 332,
+ 57, 0, 193
};
-static int parser_action_row180[] = {
+static int parser_action_row179[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row181[] = {
+static int parser_action_row180[] = {
1,
-1, 1, 226
};
-static int parser_action_row182[] = {
+static int parser_action_row181[] = {
2,
-1, 1, 229,
- 24, 1, 683
+ 24, 1, 684
};
-static int parser_action_row183[] = {
+static int parser_action_row182[] = {
2,
- -1, 3, 182,
- 24, 0, 337
+ -1, 3, 181,
+ 24, 0, 335
};
-static int parser_action_row184[] = {
+static int parser_action_row183[] = {
3,
- -1, 3, 183,
- 47, 0, 338,
- 81, 0, 339
+ -1, 3, 182,
+ 47, 0, 336,
+ 81, 0, 337
};
-static int parser_action_row185[] = {
+static int parser_action_row184[] = {
3,
-1, 1, 42,
13, 0, 27,
- 51, 0, 341
+ 51, 0, 339
};
-static int parser_action_row186[] = {
+static int parser_action_row185[] = {
1,
-1, 1, 305
};
-static int parser_action_row187[] = {
+static int parser_action_row186[] = {
1,
-1, 1, 280
};
-static int parser_action_row188[] = {
+static int parser_action_row187[] = {
1,
-1, 1, 281
};
-static int parser_action_row189[] = {
+static int parser_action_row188[] = {
1,
-1, 1, 282
};
-static int parser_action_row190[] = {
+static int parser_action_row189[] = {
1,
-1, 1, 283
};
-static int parser_action_row191[] = {
+static int parser_action_row190[] = {
3,
- -1, 3, 190,
- 47, 0, 344,
- 81, 0, 345
+ -1, 3, 189,
+ 47, 0, 342,
+ 81, 0, 343
};
-static int parser_action_row192[] = {
+static int parser_action_row191[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row193[] = {
+static int parser_action_row192[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row194[] = {
+static int parser_action_row193[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row195[] = {
+static int parser_action_row194[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row196[] = {
+static int parser_action_row195[] = {
1,
-1, 1, 284
};
-static int parser_action_row197[] = {
+static int parser_action_row196[] = {
1,
-1, 1, 285
};
-static int parser_action_row198[] = {
+static int parser_action_row197[] = {
1,
-1, 1, 286
};
-static int parser_action_row199[] = {
+static int parser_action_row198[] = {
1,
-1, 1, 288
};
-static int parser_action_row200[] = {
+static int parser_action_row199[] = {
1,
-1, 1, 287
};
-static int parser_action_row201[] = {
+static int parser_action_row200[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row202[] = {
+static int parser_action_row201[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row203[] = {
+static int parser_action_row202[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row204[] = {
+static int parser_action_row203[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row205[] = {
+static int parser_action_row204[] = {
9,
- -1, 3, 204,
- 3, 0, 356,
- 4, 0, 357,
- 5, 0, 358,
- 6, 0, 359,
- 7, 0, 360,
- 8, 0, 361,
- 10, 0, 362,
- 17, 0, 363
+ -1, 3, 203,
+ 3, 0, 355,
+ 4, 0, 356,
+ 5, 0, 357,
+ 6, 0, 358,
+ 7, 0, 359,
+ 8, 0, 360,
+ 10, 0, 361,
+ 17, 0, 362
};
-static int parser_action_row206[] = {
+static int parser_action_row205[] = {
1,
-1, 1, 137
};
-static int parser_action_row207[] = {
+static int parser_action_row206[] = {
1,
- -1, 1, 810
+ -1, 1, 811
};
-static int parser_action_row208[] = {
+static int parser_action_row207[] = {
31,
-1, 1, 157,
12, 0, 26,
36, 0, 38,
37, 0, 39,
38, 0, 40,
- 41, 1, 358,
+ 41, 1, 359,
42, 0, 41,
43, 0, 42,
44, 0, 43,
53, 0, 47,
81, 0, 48,
82, 0, 49,
- 83, 1, 358,
+ 83, 1, 359,
84, 0, 50,
85, 0, 51,
86, 0, 52,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row209[] = {
+static int parser_action_row208[] = {
3,
-1, 1, 156,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row210[] = {
+static int parser_action_row209[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row211[] = {
+static int parser_action_row210[] = {
1,
-1, 1, 279
};
-static int parser_action_row212[] = {
+static int parser_action_row211[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row213[] = {
+static int parser_action_row212[] = {
4,
-1, 1, 274,
- 58, 0, 370,
- 59, 0, 371,
- 60, 0, 372
+ 58, 0, 369,
+ 59, 0, 370,
+ 60, 0, 371
};
-static int parser_action_row214[] = {
+static int parser_action_row213[] = {
1,
-1, 1, 301
};
-static int parser_action_row215[] = {
+static int parser_action_row214[] = {
1,
-1, 1, 302
};
-static int parser_action_row216[] = {
+static int parser_action_row215[] = {
1,
- -1, 1, 812
+ -1, 1, 813
};
-static int parser_action_row217[] = {
+static int parser_action_row216[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row218[] = {
+static int parser_action_row217[] = {
2,
-1, 1, 306,
- 80, 0, 184
+ 80, 0, 183
};
-static int parser_action_row219[] = {
+static int parser_action_row218[] = {
3,
- -1, 3, 218,
- 89, 0, 213,
- 90, 0, 214
+ -1, 3, 217,
+ 89, 0, 212,
+ 90, 0, 213
};
-static int parser_action_row220[] = {
+static int parser_action_row219[] = {
24,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
90, 1, 297,
91, 0, 55
};
-static int parser_action_row221[] = {
- 1,
- -1, 1, 293
-};
-static int parser_action_row222[] = {
+static int parser_action_row220[] = {
26,
-1, 1, 344,
- 12, 0, 107,
- 22, 0, 108,
- 31, 0, 109,
- 38, 0, 110,
- 40, 0, 111,
- 41, 1, 358,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 48, 0, 116,
- 51, 0, 117,
+ 12, 0, 106,
+ 22, 0, 107,
+ 31, 0, 108,
+ 38, 0, 109,
+ 40, 0, 110,
+ 41, 1, 359,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 48, 0, 115,
+ 51, 0, 116,
53, 1, 340,
61, 1, 340,
63, 1, 340,
- 65, 0, 118,
+ 65, 0, 117,
81, 0, 48,
82, 0, 49,
- 83, 1, 358,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 83, 1, 359,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
+ 91, 0, 122
};
-static int parser_action_row223[] = {
+static int parser_action_row221[] = {
4,
-1, 1, 268,
- 58, 0, 381,
- 59, 0, 371,
- 60, 0, 372
+ 58, 0, 380,
+ 59, 0, 370,
+ 60, 0, 371
};
-static int parser_action_row224[] = {
+static int parser_action_row222[] = {
4,
-1, 1, 270,
- 58, 0, 383,
- 59, 0, 371,
- 60, 0, 372
+ 58, 0, 382,
+ 59, 0, 370,
+ 60, 0, 371
};
-static int parser_action_row225[] = {
+static int parser_action_row223[] = {
1,
-1, 1, 178
};
-static int parser_action_row226[] = {
+static int parser_action_row224[] = {
23,
-1, 1, 344,
- 12, 0, 107,
- 22, 0, 108,
- 31, 0, 109,
- 38, 0, 110,
- 40, 0, 111,
- 41, 1, 358,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 48, 0, 116,
- 51, 0, 385,
- 65, 0, 118,
+ 12, 0, 106,
+ 22, 0, 107,
+ 31, 0, 108,
+ 38, 0, 109,
+ 40, 0, 110,
+ 41, 1, 359,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 48, 0, 115,
+ 51, 0, 384,
+ 65, 0, 117,
81, 0, 48,
82, 0, 49,
- 83, 1, 358,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 83, 1, 359,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
+ 91, 0, 122
};
-static int parser_action_row227[] = {
+static int parser_action_row225[] = {
1,
- -1, 1, 360
+ -1, 1, 361
};
-static int parser_action_row228[] = {
+static int parser_action_row226[] = {
23,
-1, 1, 344,
- 12, 0, 107,
- 22, 0, 108,
- 31, 0, 109,
- 38, 0, 110,
- 40, 0, 111,
- 41, 1, 358,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 48, 0, 116,
- 51, 0, 385,
- 65, 0, 118,
+ 12, 0, 106,
+ 22, 0, 107,
+ 31, 0, 108,
+ 38, 0, 109,
+ 40, 0, 110,
+ 41, 1, 359,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 48, 0, 115,
+ 51, 0, 384,
+ 65, 0, 117,
81, 0, 48,
82, 0, 49,
- 83, 1, 358,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 83, 1, 359,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
+ 91, 0, 122
};
-static int parser_action_row229[] = {
+static int parser_action_row227[] = {
2,
- -1, 1, 362,
- 57, 0, 194
+ -1, 1, 363,
+ 57, 0, 193
};
-static int parser_action_row230[] = {
+static int parser_action_row228[] = {
1,
- -1, 1, 825
+ -1, 1, 826
};
-static int parser_action_row231[] = {
+static int parser_action_row229[] = {
3,
- -1, 1, 356,
- 12, 0, 388,
- 82, 0, 389
+ -1, 1, 357,
+ 12, 0, 387,
+ 82, 0, 388
};
-static int parser_action_row232[] = {
+static int parser_action_row230[] = {
2,
- -1, 1, 379,
- 0, 0, 99
+ -1, 1, 380,
+ 0, 0, 98
};
-static int parser_action_row233[] = {
+static int parser_action_row231[] = {
1,
-1, 1, 6
};
-static int parser_action_row234[] = {
+static int parser_action_row232[] = {
4,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2,
95, 1, 22
};
-static int parser_action_row235[] = {
+static int parser_action_row233[] = {
1,
-1, 1, 10
};
-static int parser_action_row236[] = {
+static int parser_action_row234[] = {
5,
-1, 1, 80,
- 18, 0, 200,
- 19, 0, 201,
- 20, 0, 202,
- 21, 0, 203
+ 18, 0, 199,
+ 19, 0, 200,
+ 20, 0, 201,
+ 21, 0, 202
};
-static int parser_action_row237[] = {
+static int parser_action_row235[] = {
1,
-1, 1, 12
};
-static int parser_action_row238[] = {
+static int parser_action_row236[] = {
8,
- -1, 3, 237,
- 4, 0, 357,
- 5, 0, 358,
- 6, 0, 359,
- 7, 0, 360,
- 8, 0, 361,
- 10, 0, 362,
- 17, 0, 363
+ -1, 3, 235,
+ 4, 0, 356,
+ 5, 0, 357,
+ 6, 0, 358,
+ 7, 0, 359,
+ 8, 0, 360,
+ 10, 0, 361,
+ 17, 0, 362
};
-static int parser_action_row239[] = {
+static int parser_action_row237[] = {
1,
-1, 1, 7
};
-static int parser_action_row240[] = {
+static int parser_action_row238[] = {
4,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2,
95, 1, 22
};
-static int parser_action_row241[] = {
+static int parser_action_row239[] = {
1,
-1, 1, 11
};
-static int parser_action_row242[] = {
+static int parser_action_row240[] = {
1,
-1, 1, 13
};
-static int parser_action_row243[] = {
+static int parser_action_row241[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row244[] = {
+static int parser_action_row242[] = {
1,
- -1, 1, 537
+ -1, 1, 538
};
-static int parser_action_row245[] = {
+static int parser_action_row243[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row246[] = {
+static int parser_action_row244[] = {
19,
- -1, 1, 358,
- 12, 0, 107,
- 31, 0, 109,
- 38, 0, 110,
- 40, 0, 111,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 48, 0, 116,
- 65, 0, 118,
+ -1, 1, 359,
+ 12, 0, 106,
+ 31, 0, 108,
+ 38, 0, 109,
+ 40, 0, 110,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 48, 0, 115,
+ 65, 0, 117,
81, 0, 48,
82, 0, 49,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
+ 91, 0, 122
};
-static int parser_action_row247[] = {
+static int parser_action_row245[] = {
3,
- -1, 3, 246,
- 47, 0, 338,
- 81, 0, 339
+ -1, 3, 244,
+ 47, 0, 336,
+ 81, 0, 337
};
-static int parser_action_row248[] = {
+static int parser_action_row246[] = {
18,
- -1, 1, 358,
- 12, 0, 107,
- 38, 0, 110,
- 40, 0, 111,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 48, 0, 116,
- 65, 0, 118,
+ -1, 1, 359,
+ 12, 0, 106,
+ 38, 0, 109,
+ 40, 0, 110,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 48, 0, 115,
+ 65, 0, 117,
81, 0, 48,
82, 0, 49,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
-};
-static int parser_action_row249[] = {
- 1,
- -1, 1, 544
+ 91, 0, 122
};
-static int parser_action_row250[] = {
+static int parser_action_row247[] = {
1,
-1, 1, 545
};
-static int parser_action_row251[] = {
+static int parser_action_row248[] = {
1,
-1, 1, 546
};
-static int parser_action_row252[] = {
+static int parser_action_row249[] = {
1,
-1, 1, 547
};
-static int parser_action_row253[] = {
+static int parser_action_row250[] = {
+ 1,
+ -1, 1, 548
+};
+static int parser_action_row251[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row254[] = {
+static int parser_action_row252[] = {
3,
- -1, 3, 253,
- 41, 0, 262,
- 83, 0, 399
+ -1, 3, 251,
+ 41, 0, 260,
+ 83, 0, 398
};
-static int parser_action_row255[] = {
+static int parser_action_row253[] = {
4,
- -1, 3, 254,
- 53, 0, 209,
- 61, 0, 284,
- 63, 0, 400
+ -1, 3, 252,
+ 53, 0, 208,
+ 61, 0, 282,
+ 63, 0, 399
};
-static int parser_action_row256[] = {
+static int parser_action_row254[] = {
23,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
- 52, 0, 401,
+ 52, 0, 400,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row257[] = {
+static int parser_action_row255[] = {
18,
- -1, 1, 358,
- 12, 0, 107,
- 38, 0, 110,
- 40, 0, 111,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 48, 0, 116,
- 65, 0, 118,
+ -1, 1, 359,
+ 12, 0, 106,
+ 38, 0, 109,
+ 40, 0, 110,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 48, 0, 115,
+ 65, 0, 117,
81, 0, 48,
82, 0, 49,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
+ 91, 0, 122
+};
+static int parser_action_row256[] = {
+ 1,
+ -1, 1, 549
+};
+static int parser_action_row257[] = {
+ 1,
+ -1, 1, 550
};
static int parser_action_row258[] = {
1,
- -1, 1, 548
+ -1, 1, 551
};
static int parser_action_row259[] = {
1,
- -1, 1, 549
+ -1, 1, 553
};
static int parser_action_row260[] = {
1,
- -1, 1, 550
+ -1, 1, 552
};
static int parser_action_row261[] = {
- 1,
- -1, 1, 552
+ 2,
+ -1, 1, 340,
+ 51, 0, 240
};
static int parser_action_row262[] = {
1,
- -1, 1, 551
+ -1, 1, 533
};
static int parser_action_row263[] = {
- 2,
- -1, 1, 340,
- 51, 0, 242
+ 1,
+ -1, 1, 535
};
static int parser_action_row264[] = {
- 1,
- -1, 1, 532
+ 3,
+ -1, 1, 377,
+ 0, 0, 1,
+ 1, 0, 2
};
static int parser_action_row265[] = {
- 1,
- -1, 1, 534
+ 4,
+ -1, 1, 377,
+ 0, 0, 1,
+ 1, 0, 2,
+ 24, 0, 406
};
static int parser_action_row266[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row267[] = {
- 4,
- -1, 1, 376,
+ 3,
+ -1, 1, 377,
0, 0, 1,
- 1, 0, 2,
- 24, 0, 407
+ 1, 0, 2
};
static int parser_action_row268[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row269[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row270[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row271[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row272[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row273[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row274[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row275[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row276[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row277[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row278[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row279[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row280[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row281[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row282[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row283[] = {
- 3,
- -1, 1, 376,
- 0, 0, 1,
- 1, 0, 2
+ 1,
+ -1, 1, 544
};
static int parser_action_row284[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row285[] = {
1,
- -1, 1, 543
+ -1, 1, 539
};
static int parser_action_row286[] = {
- 3,
- -1, 1, 376,
- 0, 0, 1,
- 1, 0, 2
-};
-static int parser_action_row287[] = {
- 1,
- -1, 1, 538
-};
-static int parser_action_row288[] = {
2,
- -1, 1, 356,
- 82, 0, 389
+ -1, 1, 357,
+ 82, 0, 388
};
-static int parser_action_row289[] = {
+static int parser_action_row287[] = {
2,
-1, 1, 152,
- 49, 1, 725
+ 49, 1, 726
};
-static int parser_action_row290[] = {
+static int parser_action_row288[] = {
2,
-1, 1, 151,
- 49, 1, 724
+ 49, 1, 725
};
-static int parser_action_row291[] = {
+static int parser_action_row289[] = {
3,
- -1, 3, 290,
+ -1, 3, 288,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row292[] = {
+static int parser_action_row290[] = {
1,
-1, 1, 207
};
-static int parser_action_row293[] = {
+static int parser_action_row291[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row294[] = {
+static int parser_action_row292[] = {
2,
-1, 1, 191,
- 58, 0, 430
+ 58, 0, 429
};
-static int parser_action_row295[] = {
+static int parser_action_row293[] = {
2,
-1, 1, 150,
- 56, 0, 292
+ 56, 0, 290
};
-static int parser_action_row296[] = {
+static int parser_action_row294[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row297[] = {
+static int parser_action_row295[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row298[] = {
+static int parser_action_row296[] = {
1,
-1, 1, 216
};
-static int parser_action_row299[] = {
+static int parser_action_row297[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row300[] = {
+static int parser_action_row298[] = {
1,
- -1, 1, 349
+ -1, 1, 350
};
-static int parser_action_row301[] = {
+static int parser_action_row299[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row302[] = {
+static int parser_action_row300[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row303[] = {
+static int parser_action_row301[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row304[] = {
+static int parser_action_row302[] = {
21,
- -1, 1, 358,
- 12, 0, 155,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row305[] = {
+static int parser_action_row303[] = {
3,
- -1, 3, 304,
- 47, 0, 338,
- 81, 0, 339
+ -1, 3, 302,
+ 47, 0, 336,
+ 81, 0, 337
};
-static int parser_action_row306[] = {
+static int parser_action_row304[] = {
20,
- -1, 1, 358,
- 12, 0, 155,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row307[] = {
+static int parser_action_row305[] = {
4,
- -1, 3, 306,
- 53, 0, 209,
- 61, 0, 210,
- 63, 0, 441
+ -1, 3, 304,
+ 53, 0, 208,
+ 61, 0, 209,
+ 63, 0, 440
};
-static int parser_action_row308[] = {
+static int parser_action_row306[] = {
3,
- -1, 3, 307,
- 41, 0, 330,
- 83, 0, 442
+ -1, 3, 305,
+ 41, 0, 328,
+ 83, 0, 441
};
-static int parser_action_row309[] = {
+static int parser_action_row307[] = {
20,
- -1, 1, 358,
- 12, 0, 155,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row310[] = {
+static int parser_action_row308[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row311[] = {
+static int parser_action_row309[] = {
4,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2,
- 24, 0, 445
+ 24, 0, 444
+};
+static int parser_action_row310[] = {
+ 3,
+ -1, 1, 377,
+ 0, 0, 1,
+ 1, 0, 2
+};
+static int parser_action_row311[] = {
+ 3,
+ -1, 1, 377,
+ 0, 0, 1,
+ 1, 0, 2
};
static int parser_action_row312[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row313[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row314[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row315[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row316[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row317[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row318[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row319[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row320[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row321[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row322[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row323[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row324[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row325[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row326[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row327[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row328[] = {
- 3,
- -1, 1, 376,
- 0, 0, 1,
- 1, 0, 2
-};
-static int parser_action_row329[] = {
- 3,
- -1, 1, 376,
- 0, 0, 1,
- 1, 0, 2
-};
-static int parser_action_row330[] = {
1,
-1, 1, 274
};
-static int parser_action_row331[] = {
+static int parser_action_row329[] = {
2,
-1, 1, 340,
- 51, 0, 242
+ 51, 0, 240
};
-static int parser_action_row332[] = {
+static int parser_action_row330[] = {
1,
-1, 1, 268
};
-static int parser_action_row333[] = {
+static int parser_action_row331[] = {
1,
-1, 1, 270
};
-static int parser_action_row334[] = {
+static int parser_action_row332[] = {
1,
-1, 1, 190
};
-static int parser_action_row335[] = {
+static int parser_action_row333[] = {
1,
-1, 1, 228
};
-static int parser_action_row336[] = {
+static int parser_action_row334[] = {
1,
-1, 1, 227
};
-static int parser_action_row337[] = {
+static int parser_action_row335[] = {
2,
- -1, 3, 336,
- 24, 0, 465
+ -1, 3, 334,
+ 24, 0, 464
};
-static int parser_action_row338[] = {
+static int parser_action_row336[] = {
32,
- -1, 1, 358,
+ -1, 1, 359,
0, 0, 1,
1, 0, 2,
- 9, 0, 466,
+ 9, 0, 465,
12, 0, 26,
15, 0, 28,
16, 0, 29,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row339[] = {
+static int parser_action_row337[] = {
2,
- -1, 3, 338,
- 81, 0, 469
+ -1, 3, 336,
+ 81, 0, 468
};
-static int parser_action_row340[] = {
+static int parser_action_row338[] = {
3,
- -1, 1, 557,
- 53, 0, 470,
- 80, 0, 471
+ -1, 1, 558,
+ 53, 0, 469,
+ 80, 0, 470
};
-static int parser_action_row341[] = {
+static int parser_action_row339[] = {
2,
- -1, 3, 340,
- 63, 0, 474
+ -1, 3, 338,
+ 63, 0, 473
};
-static int parser_action_row342[] = {
+static int parser_action_row340[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row343[] = {
+static int parser_action_row341[] = {
5,
-1, 1, 80,
- 18, 0, 200,
- 19, 0, 201,
- 20, 0, 202,
- 21, 0, 203
+ 18, 0, 199,
+ 19, 0, 200,
+ 20, 0, 201,
+ 21, 0, 202
};
-static int parser_action_row344[] = {
+static int parser_action_row342[] = {
1,
-1, 1, 303
};
-static int parser_action_row345[] = {
+static int parser_action_row343[] = {
2,
- -1, 3, 344,
- 81, 0, 477
+ -1, 3, 342,
+ 81, 0, 476
};
-static int parser_action_row346[] = {
+static int parser_action_row344[] = {
3,
-1, 1, 306,
- 53, 0, 478,
- 80, 0, 184
+ 53, 0, 477,
+ 80, 0, 183
};
-static int parser_action_row347[] = {
+static int parser_action_row345[] = {
2,
- -1, 3, 346,
- 56, 0, 480
+ -1, 3, 344,
+ 56, 0, 479
};
-static int parser_action_row348[] = {
+static int parser_action_row346[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row349[] = {
+static int parser_action_row347[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row350[] = {
+static int parser_action_row348[] = {
2,
- -1, 3, 349,
- 54, 0, 483
+ -1, 1, 150,
+ 56, 0, 290
+};
+static int parser_action_row349[] = {
+ 1,
+ -1, 1, 346
+};
+static int parser_action_row350[] = {
+ 1,
+ -1, 1, 369
};
static int parser_action_row351[] = {
1,
};
static int parser_action_row352[] = {
1,
- -1, 1, 367
-};
-static int parser_action_row353[] = {
- 1,
-1, 1, 81
};
-static int parser_action_row354[] = {
+static int parser_action_row353[] = {
1,
-1, 1, 83
};
-static int parser_action_row355[] = {
+static int parser_action_row354[] = {
1,
-1, 1, 82
};
-static int parser_action_row356[] = {
+static int parser_action_row355[] = {
1,
-1, 1, 84
};
-static int parser_action_row357[] = {
+static int parser_action_row356[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row358[] = {
+static int parser_action_row357[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row359[] = {
+static int parser_action_row358[] = {
1,
-1, 1, 44
};
-static int parser_action_row360[] = {
+static int parser_action_row359[] = {
2,
- -1, 3, 359,
- 5, 0, 486
+ -1, 3, 358,
+ 5, 0, 485
};
-static int parser_action_row361[] = {
+static int parser_action_row360[] = {
1,
-1, 1, 46
};
-static int parser_action_row362[] = {
+static int parser_action_row361[] = {
1,
-1, 1, 47
};
-static int parser_action_row363[] = {
+static int parser_action_row362[] = {
18,
- -1, 3, 362,
- 53, 0, 487,
- 64, 0, 488,
- 65, 0, 489,
- 66, 0, 490,
- 67, 0, 491,
- 68, 0, 492,
- 69, 0, 493,
- 70, 0, 494,
- 71, 0, 495,
- 72, 0, 496,
- 73, 0, 497,
- 74, 0, 498,
- 75, 0, 499,
- 76, 0, 500,
- 77, 0, 501,
- 78, 0, 502,
- 82, 0, 503
+ -1, 3, 361,
+ 53, 0, 486,
+ 64, 0, 487,
+ 65, 0, 488,
+ 66, 0, 489,
+ 67, 0, 490,
+ 68, 0, 491,
+ 69, 0, 492,
+ 70, 0, 493,
+ 71, 0, 494,
+ 72, 0, 495,
+ 73, 0, 496,
+ 74, 0, 497,
+ 75, 0, 498,
+ 76, 0, 499,
+ 77, 0, 500,
+ 78, 0, 501,
+ 82, 0, 502
};
-static int parser_action_row364[] = {
+static int parser_action_row363[] = {
2,
- -1, 3, 363,
- 5, 0, 505
+ -1, 3, 362,
+ 5, 0, 504
};
-static int parser_action_row365[] = {
+static int parser_action_row364[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row366[] = {
+static int parser_action_row365[] = {
1,
-1, 1, 161
};
-static int parser_action_row367[] = {
+static int parser_action_row366[] = {
1,
- -1, 1, 811
+ -1, 1, 812
};
-static int parser_action_row368[] = {
+static int parser_action_row367[] = {
31,
-1, 1, 158,
12, 0, 26,
36, 0, 38,
37, 0, 39,
38, 0, 40,
- 41, 1, 358,
+ 41, 1, 359,
42, 0, 41,
43, 0, 42,
44, 0, 43,
53, 0, 47,
81, 0, 48,
82, 0, 49,
- 83, 1, 358,
+ 83, 1, 359,
84, 0, 50,
85, 0, 51,
86, 0, 52,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row369[] = {
+static int parser_action_row368[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row370[] = {
+static int parser_action_row369[] = {
5,
- -1, 1, 358,
+ -1, 1, 359,
12, 0, 507,
46, 0, 508,
81, 0, 48,
82, 0, 49
};
-static int parser_action_row371[] = {
+static int parser_action_row370[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row372[] = {
+static int parser_action_row371[] = {
1,
-1, 1, 205
};
-static int parser_action_row373[] = {
+static int parser_action_row372[] = {
1,
-1, 1, 206
};
-static int parser_action_row374[] = {
+static int parser_action_row373[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row375[] = {
+static int parser_action_row374[] = {
24,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
90, 1, 300,
91, 0, 55
};
-static int parser_action_row376[] = {
+static int parser_action_row375[] = {
1,
-1, 1, 294
};
-static int parser_action_row377[] = {
+static int parser_action_row376[] = {
1,
- -1, 1, 813
+ -1, 1, 814
};
-static int parser_action_row378[] = {
+static int parser_action_row377[] = {
2,
-1, 1, 306,
- 80, 0, 184
+ 80, 0, 183
};
-static int parser_action_row379[] = {
+static int parser_action_row378[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row380[] = {
+static int parser_action_row379[] = {
1,
-1, 1, 271
};
-static int parser_action_row381[] = {
+static int parser_action_row380[] = {
1,
-1, 1, 179
};
-static int parser_action_row382[] = {
+static int parser_action_row381[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row383[] = {
+static int parser_action_row382[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row384[] = {
+static int parser_action_row383[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row385[] = {
+static int parser_action_row384[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row386[] = {
+static int parser_action_row385[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row387[] = {
+static int parser_action_row386[] = {
1,
-1, 1, 185
};
-static int parser_action_row388[] = {
+static int parser_action_row387[] = {
1,
-1, 1, 187
};
-static int parser_action_row389[] = {
+static int parser_action_row388[] = {
23,
-1, 1, 344,
- 12, 0, 107,
- 22, 0, 108,
- 31, 0, 109,
- 38, 0, 110,
- 40, 0, 111,
- 41, 1, 358,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 48, 0, 116,
- 51, 0, 385,
- 65, 0, 118,
+ 12, 0, 106,
+ 22, 0, 107,
+ 31, 0, 108,
+ 38, 0, 109,
+ 40, 0, 110,
+ 41, 1, 359,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 48, 0, 115,
+ 51, 0, 384,
+ 65, 0, 117,
81, 0, 48,
82, 0, 49,
- 83, 1, 358,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 83, 1, 359,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
+ 91, 0, 122
};
-static int parser_action_row390[] = {
+static int parser_action_row389[] = {
1,
- -1, 1, 361
+ -1, 1, 362
};
-static int parser_action_row391[] = {
+static int parser_action_row390[] = {
1,
-1, 1, 14
};
-static int parser_action_row392[] = {
+static int parser_action_row391[] = {
7,
- -1, 3, 391,
- 5, 0, 358,
- 6, 0, 359,
- 7, 0, 360,
- 8, 0, 361,
- 10, 0, 362,
- 17, 0, 363
+ -1, 3, 390,
+ 5, 0, 357,
+ 6, 0, 358,
+ 7, 0, 359,
+ 8, 0, 360,
+ 10, 0, 361,
+ 17, 0, 362
};
-static int parser_action_row393[] = {
+static int parser_action_row392[] = {
1,
-1, 1, 15
};
-static int parser_action_row394[] = {
+static int parser_action_row393[] = {
23,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
52, 0, 524,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row395[] = {
+static int parser_action_row394[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row396[] = {
+static int parser_action_row395[] = {
1,
- -1, 1, 502
+ -1, 1, 503
};
-static int parser_action_row397[] = {
+static int parser_action_row396[] = {
3,
-1, 1, 340,
- 51, 0, 242,
+ 51, 0, 240,
63, 0, 527
};
-static int parser_action_row398[] = {
+static int parser_action_row397[] = {
1,
- -1, 1, 525
+ -1, 1, 526
};
-static int parser_action_row399[] = {
+static int parser_action_row398[] = {
3,
- -1, 3, 398,
- 47, 0, 338,
- 81, 0, 339
+ -1, 3, 397,
+ 47, 0, 336,
+ 81, 0, 337
};
-static int parser_action_row400[] = {
+static int parser_action_row399[] = {
4,
- -1, 1, 529,
- 53, 1, 532,
- 61, 1, 532,
- 63, 1, 532
+ -1, 1, 530,
+ 53, 1, 533,
+ 61, 1, 533,
+ 63, 1, 533
};
-static int parser_action_row401[] = {
+static int parser_action_row400[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row402[] = {
+static int parser_action_row401[] = {
7,
-1, 1, 343,
53, 1, 339,
61, 1, 339,
63, 1, 339
};
-static int parser_action_row403[] = {
+static int parser_action_row402[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row404[] = {
+static int parser_action_row403[] = {
2,
- -1, 3, 403,
+ -1, 3, 402,
52, 0, 532
};
-static int parser_action_row405[] = {
+static int parser_action_row404[] = {
1,
- -1, 1, 524
+ -1, 1, 525
};
-static int parser_action_row406[] = {
+static int parser_action_row405[] = {
1,
- -1, 1, 535
+ -1, 1, 536
};
-static int parser_action_row407[] = {
+static int parser_action_row406[] = {
19,
- -1, 1, 358,
- 12, 0, 107,
- 31, 0, 109,
- 38, 0, 110,
- 40, 0, 111,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 48, 0, 116,
- 65, 0, 118,
+ -1, 1, 359,
+ 12, 0, 106,
+ 31, 0, 108,
+ 38, 0, 109,
+ 40, 0, 110,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 48, 0, 115,
+ 65, 0, 117,
81, 0, 48,
82, 0, 49,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
+ 91, 0, 122
};
-static int parser_action_row408[] = {
+static int parser_action_row407[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row409[] = {
+static int parser_action_row408[] = {
19,
- -1, 1, 358,
- 12, 0, 107,
- 31, 0, 109,
- 38, 0, 110,
- 40, 0, 111,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 48, 0, 116,
- 65, 0, 118,
+ -1, 1, 359,
+ 12, 0, 106,
+ 31, 0, 108,
+ 38, 0, 109,
+ 40, 0, 110,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 48, 0, 115,
+ 65, 0, 117,
81, 0, 48,
82, 0, 49,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
+ 91, 0, 122
};
-static int parser_action_row410[] = {
+static int parser_action_row409[] = {
19,
- -1, 1, 358,
- 12, 0, 107,
- 31, 0, 109,
- 38, 0, 110,
- 40, 0, 111,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 48, 0, 116,
- 65, 0, 118,
+ -1, 1, 359,
+ 12, 0, 106,
+ 31, 0, 108,
+ 38, 0, 109,
+ 40, 0, 110,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 48, 0, 115,
+ 65, 0, 117,
81, 0, 48,
82, 0, 49,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
+ 91, 0, 122
};
-static int parser_action_row411[] = {
+static int parser_action_row410[] = {
18,
- -1, 1, 358,
- 12, 0, 107,
- 38, 0, 110,
- 40, 0, 111,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 48, 0, 116,
- 65, 0, 118,
+ -1, 1, 359,
+ 12, 0, 106,
+ 38, 0, 109,
+ 40, 0, 110,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 48, 0, 115,
+ 65, 0, 117,
81, 0, 48,
82, 0, 49,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
+ 91, 0, 122
};
-static int parser_action_row412[] = {
+static int parser_action_row411[] = {
18,
- -1, 1, 358,
- 12, 0, 107,
- 38, 0, 110,
- 40, 0, 111,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 48, 0, 116,
- 65, 0, 118,
+ -1, 1, 359,
+ 12, 0, 106,
+ 38, 0, 109,
+ 40, 0, 110,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 48, 0, 115,
+ 65, 0, 117,
81, 0, 48,
82, 0, 49,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
+ 91, 0, 122
};
-static int parser_action_row413[] = {
+static int parser_action_row412[] = {
3,
- -1, 3, 412,
- 47, 0, 344,
- 81, 0, 345
+ -1, 3, 411,
+ 47, 0, 342,
+ 81, 0, 343
+};
+static int parser_action_row413[] = {
+ 18,
+ -1, 1, 359,
+ 12, 0, 106,
+ 38, 0, 109,
+ 40, 0, 110,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 48, 0, 115,
+ 65, 0, 117,
+ 81, 0, 48,
+ 82, 0, 49,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
+ 88, 0, 54,
+ 91, 0, 122
};
static int parser_action_row414[] = {
18,
- -1, 1, 358,
- 12, 0, 107,
- 38, 0, 110,
- 40, 0, 111,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 48, 0, 116,
- 65, 0, 118,
+ -1, 1, 359,
+ 12, 0, 106,
+ 38, 0, 109,
+ 40, 0, 110,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 48, 0, 115,
+ 65, 0, 117,
81, 0, 48,
82, 0, 49,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
+ 91, 0, 122
};
static int parser_action_row415[] = {
18,
- -1, 1, 358,
- 12, 0, 107,
- 38, 0, 110,
- 40, 0, 111,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 48, 0, 116,
- 65, 0, 118,
+ -1, 1, 359,
+ 12, 0, 106,
+ 38, 0, 109,
+ 40, 0, 110,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 48, 0, 115,
+ 65, 0, 117,
81, 0, 48,
82, 0, 49,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
+ 91, 0, 122
};
static int parser_action_row416[] = {
18,
- -1, 1, 358,
- 12, 0, 107,
- 38, 0, 110,
- 40, 0, 111,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 48, 0, 116,
- 65, 0, 118,
+ -1, 1, 359,
+ 12, 0, 106,
+ 38, 0, 109,
+ 40, 0, 110,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 48, 0, 115,
+ 65, 0, 117,
81, 0, 48,
82, 0, 49,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
+ 91, 0, 122
};
static int parser_action_row417[] = {
18,
- -1, 1, 358,
- 12, 0, 107,
- 38, 0, 110,
- 40, 0, 111,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 48, 0, 116,
- 65, 0, 118,
+ -1, 1, 359,
+ 12, 0, 106,
+ 38, 0, 109,
+ 40, 0, 110,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 48, 0, 115,
+ 65, 0, 117,
81, 0, 48,
82, 0, 49,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
+ 91, 0, 122
};
static int parser_action_row418[] = {
18,
- -1, 1, 358,
- 12, 0, 107,
- 38, 0, 110,
- 40, 0, 111,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 48, 0, 116,
- 65, 0, 118,
+ -1, 1, 359,
+ 12, 0, 106,
+ 38, 0, 109,
+ 40, 0, 110,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 48, 0, 115,
+ 65, 0, 117,
81, 0, 48,
82, 0, 49,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
+ 91, 0, 122
};
static int parser_action_row419[] = {
18,
- -1, 1, 358,
- 12, 0, 107,
- 38, 0, 110,
- 40, 0, 111,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 48, 0, 116,
- 65, 0, 118,
+ -1, 1, 359,
+ 12, 0, 106,
+ 38, 0, 109,
+ 40, 0, 110,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 48, 0, 115,
+ 65, 0, 117,
81, 0, 48,
82, 0, 49,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
+ 91, 0, 122
};
static int parser_action_row420[] = {
18,
- -1, 1, 358,
- 12, 0, 107,
- 38, 0, 110,
- 40, 0, 111,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 48, 0, 116,
- 65, 0, 118,
+ -1, 1, 359,
+ 12, 0, 106,
+ 38, 0, 109,
+ 40, 0, 110,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 48, 0, 115,
+ 65, 0, 117,
81, 0, 48,
82, 0, 49,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
+ 91, 0, 122
};
static int parser_action_row421[] = {
18,
- -1, 1, 358,
- 12, 0, 107,
- 38, 0, 110,
- 40, 0, 111,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 48, 0, 116,
- 65, 0, 118,
+ -1, 1, 359,
+ 12, 0, 106,
+ 38, 0, 109,
+ 40, 0, 110,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 48, 0, 115,
+ 65, 0, 117,
81, 0, 48,
82, 0, 49,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
+ 91, 0, 122
};
static int parser_action_row422[] = {
18,
- -1, 1, 358,
- 12, 0, 107,
- 38, 0, 110,
- 40, 0, 111,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 48, 0, 116,
- 65, 0, 118,
+ -1, 1, 359,
+ 12, 0, 106,
+ 38, 0, 109,
+ 40, 0, 110,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 48, 0, 115,
+ 65, 0, 117,
81, 0, 48,
82, 0, 49,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
+ 91, 0, 122
};
static int parser_action_row423[] = {
18,
- -1, 1, 358,
- 12, 0, 107,
- 38, 0, 110,
- 40, 0, 111,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 48, 0, 116,
- 65, 0, 118,
+ -1, 1, 359,
+ 12, 0, 106,
+ 38, 0, 109,
+ 40, 0, 110,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 48, 0, 115,
+ 65, 0, 117,
81, 0, 48,
82, 0, 49,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
+ 91, 0, 122
};
static int parser_action_row424[] = {
18,
- -1, 1, 358,
- 12, 0, 107,
- 38, 0, 110,
- 40, 0, 111,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 48, 0, 116,
- 65, 0, 118,
+ -1, 1, 359,
+ 12, 0, 106,
+ 38, 0, 109,
+ 40, 0, 110,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 48, 0, 115,
+ 65, 0, 117,
81, 0, 48,
82, 0, 49,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
+ 91, 0, 122
};
static int parser_action_row425[] = {
18,
- -1, 1, 358,
- 12, 0, 107,
- 38, 0, 110,
- 40, 0, 111,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 48, 0, 116,
- 65, 0, 118,
+ -1, 1, 359,
+ 12, 0, 106,
+ 38, 0, 109,
+ 40, 0, 110,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 48, 0, 115,
+ 65, 0, 117,
81, 0, 48,
82, 0, 49,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
+ 91, 0, 122
};
static int parser_action_row426[] = {
- 18,
- -1, 1, 358,
- 12, 0, 107,
- 38, 0, 110,
- 40, 0, 111,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 48, 0, 116,
- 65, 0, 118,
- 81, 0, 48,
- 82, 0, 49,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
- 88, 0, 54,
- 91, 0, 123
-};
-static int parser_action_row427[] = {
5,
- -1, 1, 358,
+ -1, 1, 359,
12, 0, 553,
46, 0, 554,
81, 0, 48,
82, 0, 49
};
-static int parser_action_row428[] = {
+static int parser_action_row427[] = {
30,
- -1, 1, 358,
+ -1, 1, 359,
9, 0, 557,
12, 0, 26,
15, 0, 28,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row429[] = {
+static int parser_action_row428[] = {
3,
- -1, 3, 428,
+ -1, 3, 427,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row430[] = {
+static int parser_action_row429[] = {
3,
- -1, 3, 429,
- 47, 0, 344,
- 81, 0, 345
+ -1, 3, 428,
+ 47, 0, 342,
+ 81, 0, 343
};
-static int parser_action_row431[] = {
+static int parser_action_row430[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row432[] = {
+static int parser_action_row431[] = {
2,
-1, 1, 192,
58, 0, 561
};
+static int parser_action_row432[] = {
+ 2,
+ -1, 3, 431,
+ 23, 0, 562
+};
static int parser_action_row433[] = {
2,
-1, 3, 432,
- 23, 0, 562
+ 15, 0, 563
};
static int parser_action_row434[] = {
2,
-1, 3, 433,
- 15, 0, 563
+ 82, 0, 297
};
static int parser_action_row435[] = {
- 2,
- -1, 3, 434,
- 82, 0, 299
-};
-static int parser_action_row436[] = {
3,
- -1, 3, 435,
+ -1, 3, 434,
28, 0, 565,
55, 0, 566
};
-static int parser_action_row437[] = {
+static int parser_action_row436[] = {
1,
-1, 1, 135
};
-static int parser_action_row438[] = {
+static int parser_action_row437[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row439[] = {
+static int parser_action_row438[] = {
1,
-1, 1, 238
};
-static int parser_action_row440[] = {
+static int parser_action_row439[] = {
3,
-1, 1, 340,
- 51, 0, 242,
- 63, 0, 474
+ 51, 0, 240,
+ 63, 0, 473
};
-static int parser_action_row441[] = {
+static int parser_action_row440[] = {
1,
-1, 1, 261
};
-static int parser_action_row442[] = {
+static int parser_action_row441[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row443[] = {
+static int parser_action_row442[] = {
4,
-1, 1, 265,
53, 1, 268,
61, 1, 268,
63, 1, 268
};
-static int parser_action_row444[] = {
+static int parser_action_row443[] = {
1,
-1, 1, 260
};
-static int parser_action_row445[] = {
+static int parser_action_row444[] = {
21,
- -1, 1, 358,
- 12, 0, 155,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row446[] = {
+static int parser_action_row445[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row447[] = {
+static int parser_action_row446[] = {
21,
- -1, 1, 358,
- 12, 0, 155,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row448[] = {
+static int parser_action_row447[] = {
21,
- -1, 1, 358,
- 12, 0, 155,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row449[] = {
+static int parser_action_row448[] = {
20,
- -1, 1, 358,
- 12, 0, 155,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row450[] = {
+static int parser_action_row449[] = {
20,
- -1, 1, 358,
- 12, 0, 155,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row451[] = {
+static int parser_action_row450[] = {
3,
- -1, 3, 450,
- 47, 0, 344,
- 81, 0, 345
+ -1, 3, 449,
+ 47, 0, 342,
+ 81, 0, 343
};
-static int parser_action_row452[] = {
+static int parser_action_row451[] = {
20,
- -1, 1, 358,
- 12, 0, 155,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row453[] = {
+static int parser_action_row452[] = {
20,
- -1, 1, 358,
- 12, 0, 155,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row454[] = {
+static int parser_action_row453[] = {
20,
- -1, 1, 358,
- 12, 0, 155,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row455[] = {
+static int parser_action_row454[] = {
20,
- -1, 1, 358,
- 12, 0, 155,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row456[] = {
+static int parser_action_row455[] = {
20,
- -1, 1, 358,
- 12, 0, 155,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row457[] = {
+static int parser_action_row456[] = {
20,
- -1, 1, 358,
- 12, 0, 155,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row458[] = {
+static int parser_action_row457[] = {
20,
- -1, 1, 358,
- 12, 0, 155,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row459[] = {
+static int parser_action_row458[] = {
20,
- -1, 1, 358,
- 12, 0, 155,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row460[] = {
+static int parser_action_row459[] = {
20,
- -1, 1, 358,
- 12, 0, 155,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row461[] = {
+static int parser_action_row460[] = {
20,
- -1, 1, 358,
- 12, 0, 155,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row462[] = {
+static int parser_action_row461[] = {
20,
- -1, 1, 358,
- 12, 0, 155,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row463[] = {
+static int parser_action_row462[] = {
20,
- -1, 1, 358,
- 12, 0, 155,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row464[] = {
+static int parser_action_row463[] = {
20,
- -1, 1, 358,
- 12, 0, 155,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row465[] = {
+static int parser_action_row464[] = {
5,
- -1, 1, 358,
+ -1, 1, 359,
12, 0, 590,
46, 0, 508,
81, 0, 48,
82, 0, 49
};
-static int parser_action_row466[] = {
+static int parser_action_row465[] = {
32,
- -1, 1, 358,
+ -1, 1, 359,
0, 0, 1,
1, 0, 2,
- 9, 0, 466,
+ 9, 0, 465,
12, 0, 26,
15, 0, 28,
16, 0, 29,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row467[] = {
+static int parser_action_row466[] = {
1,
-1, 1, 153
};
-static int parser_action_row468[] = {
+static int parser_action_row467[] = {
1,
-1, 1, 224
};
-static int parser_action_row469[] = {
+static int parser_action_row468[] = {
30,
- -1, 1, 358,
+ -1, 1, 359,
9, 0, 594,
12, 0, 26,
15, 0, 28,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row470[] = {
+static int parser_action_row469[] = {
3,
- -1, 1, 557,
+ -1, 1, 558,
53, 0, 596,
- 80, 0, 471
+ 80, 0, 470
};
-static int parser_action_row471[] = {
+static int parser_action_row470[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row472[] = {
+static int parser_action_row471[] = {
3,
-1, 1, 42,
13, 0, 27,
51, 0, 599
};
-static int parser_action_row473[] = {
+static int parser_action_row472[] = {
1,
- -1, 1, 556
+ -1, 1, 557
};
-static int parser_action_row474[] = {
+static int parser_action_row473[] = {
1,
- -1, 1, 452
+ -1, 1, 453
};
-static int parser_action_row475[] = {
+static int parser_action_row474[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row476[] = {
+static int parser_action_row475[] = {
2,
-1, 1, 42,
13, 0, 27
};
-static int parser_action_row477[] = {
+static int parser_action_row476[] = {
4,
- -1, 3, 476,
+ -1, 3, 475,
6, 0, 606,
17, 0, 607,
82, 0, 608
};
-static int parser_action_row478[] = {
+static int parser_action_row477[] = {
3,
-1, 1, 306,
53, 0, 610,
- 80, 0, 184
+ 80, 0, 183
};
-static int parser_action_row479[] = {
+static int parser_action_row478[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row480[] = {
+static int parser_action_row479[] = {
1,
-1, 1, 141
};
-static int parser_action_row481[] = {
+static int parser_action_row480[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row482[] = {
+static int parser_action_row481[] = {
2,
- -1, 3, 481,
+ -1, 3, 480,
52, 0, 614
};
-static int parser_action_row483[] = {
+static int parser_action_row482[] = {
3,
- -1, 1, 346,
+ -1, 1, 347,
55, 0, 615,
62, 0, 616
};
+static int parser_action_row483[] = {
+ 2,
+ -1, 3, 482,
+ 54, 0, 619
+};
static int parser_action_row484[] = {
- 1,
- -1, 1, 345
+ 3,
+ -1, 3, 483,
+ 57, 0, 620,
+ 82, 0, 621
};
static int parser_action_row485[] = {
- 3,
+ 4,
-1, 3, 484,
- 57, 0, 619,
- 82, 0, 620
+ 9, 0, 624,
+ 57, 0, 620,
+ 82, 0, 621
};
static int parser_action_row486[] = {
- 4,
- -1, 3, 485,
- 9, 0, 623,
- 57, 0, 619,
- 82, 0, 620
-};
-static int parser_action_row487[] = {
1,
-1, 1, 45
};
-static int parser_action_row488[] = {
+static int parser_action_row487[] = {
2,
- -1, 3, 487,
- 54, 0, 625
+ -1, 3, 486,
+ 54, 0, 626
};
-static int parser_action_row489[] = {
+static int parser_action_row488[] = {
1,
-1, 1, 86
};
-static int parser_action_row490[] = {
+static int parser_action_row489[] = {
1,
-1, 1, 87
};
-static int parser_action_row491[] = {
+static int parser_action_row490[] = {
1,
-1, 1, 88
};
-static int parser_action_row492[] = {
+static int parser_action_row491[] = {
1,
-1, 1, 89
};
-static int parser_action_row493[] = {
+static int parser_action_row492[] = {
1,
-1, 1, 90
};
-static int parser_action_row494[] = {
+static int parser_action_row493[] = {
1,
-1, 1, 91
};
-static int parser_action_row495[] = {
+static int parser_action_row494[] = {
1,
-1, 1, 92
};
-static int parser_action_row496[] = {
+static int parser_action_row495[] = {
1,
-1, 1, 93
};
-static int parser_action_row497[] = {
+static int parser_action_row496[] = {
1,
-1, 1, 96
};
-static int parser_action_row498[] = {
+static int parser_action_row497[] = {
1,
-1, 1, 94
};
-static int parser_action_row499[] = {
+static int parser_action_row498[] = {
1,
-1, 1, 98
};
-static int parser_action_row500[] = {
+static int parser_action_row499[] = {
1,
-1, 1, 97
};
-static int parser_action_row501[] = {
+static int parser_action_row500[] = {
1,
-1, 1, 95
};
-static int parser_action_row502[] = {
+static int parser_action_row501[] = {
1,
-1, 1, 99
};
-static int parser_action_row503[] = {
+static int parser_action_row502[] = {
1,
-1, 1, 101
};
-static int parser_action_row504[] = {
+static int parser_action_row503[] = {
2,
-1, 1, 85,
- 58, 0, 626
+ 58, 0, 627
};
-static int parser_action_row505[] = {
+static int parser_action_row504[] = {
5,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2,
- 51, 0, 627,
- 56, 0, 628
+ 51, 0, 628,
+ 56, 0, 629
};
-static int parser_action_row506[] = {
+static int parser_action_row505[] = {
1,
-1, 1, 48
};
-static int parser_action_row507[] = {
+static int parser_action_row506[] = {
3,
+ -1, 3, 505,
+ 81, 0, 633,
+ 82, 0, 634
+};
+static int parser_action_row507[] = {
+ 2,
-1, 3, 506,
- 81, 0, 632,
- 82, 0, 633
+ 54, 0, 638
};
static int parser_action_row508[] = {
26,
-1, 1, 344,
- 12, 0, 107,
- 22, 0, 108,
- 31, 0, 109,
- 38, 0, 110,
- 40, 0, 111,
- 41, 1, 358,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 48, 0, 116,
- 51, 0, 117,
+ 12, 0, 106,
+ 22, 0, 107,
+ 31, 0, 108,
+ 38, 0, 109,
+ 40, 0, 110,
+ 41, 1, 359,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 48, 0, 115,
+ 51, 0, 116,
53, 1, 340,
61, 1, 340,
63, 1, 340,
- 65, 0, 118,
+ 65, 0, 117,
81, 0, 48,
82, 0, 49,
- 83, 1, 358,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 83, 1, 359,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
+ 91, 0, 122
};
static int parser_action_row509[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row510[] = {
2,
-1, 3, 509,
- 83, 0, 640
+ 83, 0, 642
};
static int parser_action_row511[] = {
29,
0, 1, 344,
1, 1, 344,
9, 1, 344,
- 12, 0, 107,
- 22, 0, 108,
- 31, 0, 109,
- 38, 0, 110,
- 40, 0, 111,
- 41, 1, 358,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 48, 0, 116,
- 51, 0, 117,
+ 12, 0, 106,
+ 22, 0, 107,
+ 31, 0, 108,
+ 38, 0, 109,
+ 40, 0, 110,
+ 41, 1, 359,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 48, 0, 115,
+ 51, 0, 116,
52, 1, 344,
55, 1, 344,
- 65, 0, 118,
+ 65, 0, 117,
81, 0, 48,
82, 0, 49,
- 83, 1, 358,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 83, 1, 359,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123,
+ 91, 0, 122,
95, 1, 344
};
static int parser_action_row512[] = {
3,
- -1, 1, 355,
- 12, 0, 643,
- 82, 0, 226
+ -1, 1, 356,
+ 12, 0, 645,
+ 82, 0, 224
};
static int parser_action_row513[] = {
4,
- -1, 1, 357,
- 12, 0, 644,
+ -1, 1, 358,
+ 12, 0, 646,
81, 0, 48,
- 82, 0, 228
+ 82, 0, 226
};
static int parser_action_row514[] = {
1,
};
static int parser_action_row516[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
};
static int parser_action_row523[] = {
23,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
- 52, 0, 647,
+ 52, 0, 649,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
static int parser_action_row526[] = {
2,
-1, 3, 525,
- 52, 0, 649
+ 52, 0, 651
};
static int parser_action_row527[] = {
2,
-1, 3, 526,
- 23, 0, 650
+ 23, 0, 652
};
static int parser_action_row528[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row529[] = {
1,
- -1, 1, 527
+ -1, 1, 528
};
static int parser_action_row530[] = {
2,
};
static int parser_action_row531[] = {
5,
- -1, 1, 358,
+ -1, 1, 359,
12, 0, 553,
46, 0, 554,
81, 0, 48,
};
static int parser_action_row532[] = {
2,
- -1, 1, 346,
+ -1, 1, 347,
55, 0, 615
};
static int parser_action_row533[] = {
};
static int parser_action_row534[] = {
1,
- -1, 1, 498
+ -1, 1, 499
};
static int parser_action_row535[] = {
19,
- -1, 1, 358,
- 12, 0, 107,
- 31, 0, 109,
- 38, 0, 110,
- 40, 0, 111,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 48, 0, 116,
- 65, 0, 118,
+ -1, 1, 359,
+ 12, 0, 106,
+ 31, 0, 108,
+ 38, 0, 109,
+ 40, 0, 110,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 48, 0, 115,
+ 65, 0, 117,
81, 0, 48,
82, 0, 49,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
+ 91, 0, 122
};
static int parser_action_row536[] = {
1,
- -1, 1, 497
+ -1, 1, 498
};
static int parser_action_row537[] = {
1,
- -1, 1, 500
+ -1, 1, 501
};
static int parser_action_row538[] = {
3,
- -1, 1, 508,
- 64, 0, 271,
- 65, 0, 272
+ -1, 1, 509,
+ 64, 0, 269,
+ 65, 0, 270
};
static int parser_action_row539[] = {
3,
- -1, 1, 511,
- 64, 0, 271,
- 65, 0, 272
+ -1, 1, 512,
+ 64, 0, 269,
+ 65, 0, 270
};
static int parser_action_row540[] = {
1,
- -1, 1, 513
+ -1, 1, 514
};
static int parser_action_row541[] = {
4,
- -1, 1, 515,
- 66, 0, 280,
- 68, 0, 281,
- 69, 0, 282
+ -1, 1, 516,
+ 66, 0, 278,
+ 68, 0, 279,
+ 69, 0, 280
};
static int parser_action_row542[] = {
4,
- -1, 1, 516,
- 66, 0, 280,
- 68, 0, 281,
- 69, 0, 282
+ -1, 1, 517,
+ 66, 0, 278,
+ 68, 0, 279,
+ 69, 0, 280
};
static int parser_action_row543[] = {
3,
- -1, 1, 504,
- 64, 0, 271,
- 65, 0, 272
+ -1, 1, 505,
+ 64, 0, 269,
+ 65, 0, 270
};
static int parser_action_row544[] = {
3,
- -1, 1, 505,
- 64, 0, 271,
- 65, 0, 272
+ -1, 1, 506,
+ 64, 0, 269,
+ 65, 0, 270
};
static int parser_action_row545[] = {
3,
- -1, 1, 506,
- 64, 0, 271,
- 65, 0, 272
+ -1, 1, 507,
+ 64, 0, 269,
+ 65, 0, 270
};
static int parser_action_row546[] = {
3,
- -1, 1, 507,
- 64, 0, 271,
- 65, 0, 272
+ -1, 1, 508,
+ 64, 0, 269,
+ 65, 0, 270
};
static int parser_action_row547[] = {
3,
- -1, 1, 509,
- 64, 0, 271,
- 65, 0, 272
+ -1, 1, 510,
+ 64, 0, 269,
+ 65, 0, 270
};
static int parser_action_row548[] = {
3,
- -1, 1, 510,
- 64, 0, 271,
- 65, 0, 272
+ -1, 1, 511,
+ 64, 0, 269,
+ 65, 0, 270
};
static int parser_action_row549[] = {
3,
- -1, 1, 512,
- 64, 0, 271,
- 65, 0, 272
+ -1, 1, 513,
+ 64, 0, 269,
+ 65, 0, 270
};
static int parser_action_row550[] = {
1,
- -1, 1, 518
+ -1, 1, 519
};
static int parser_action_row551[] = {
1,
- -1, 1, 519
+ -1, 1, 520
};
static int parser_action_row552[] = {
1,
- -1, 1, 520
+ -1, 1, 521
};
static int parser_action_row553[] = {
1,
- -1, 1, 522
+ -1, 1, 523
};
static int parser_action_row554[] = {
2,
-1, 1, 340,
- 51, 0, 242
+ 51, 0, 240
};
static int parser_action_row555[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row556[] = {
2,
-1, 3, 555,
- 83, 0, 656
+ 83, 0, 658
};
static int parser_action_row557[] = {
2,
-1, 1, 340,
- 51, 0, 242
+ 51, 0, 240
};
static int parser_action_row558[] = {
1,
};
static int parser_action_row559[] = {
30,
- -1, 1, 358,
- 9, 0, 658,
+ -1, 1, 359,
+ 9, 0, 660,
12, 0, 26,
15, 0, 28,
16, 0, 29,
};
static int parser_action_row561[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
};
static int parser_action_row562[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row563[] = {
33,
- -1, 1, 358,
+ -1, 1, 359,
0, 0, 1,
1, 0, 2,
- 9, 0, 661,
- 12, 0, 662,
- 15, 0, 663,
- 16, 0, 664,
- 22, 0, 665,
- 24, 0, 666,
- 25, 0, 667,
- 26, 0, 668,
- 27, 0, 669,
- 33, 0, 670,
- 34, 0, 671,
- 35, 0, 672,
- 36, 0, 673,
- 37, 0, 674,
+ 9, 0, 663,
+ 12, 0, 664,
+ 15, 0, 665,
+ 16, 0, 666,
+ 22, 0, 667,
+ 24, 0, 668,
+ 25, 0, 669,
+ 26, 0, 670,
+ 27, 0, 671,
+ 33, 0, 672,
+ 34, 0, 673,
+ 35, 0, 674,
+ 36, 0, 675,
+ 37, 0, 676,
38, 0, 40,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 50, 0, 675,
+ 50, 0, 677,
51, 0, 46,
53, 0, 47,
81, 0, 48,
};
static int parser_action_row564[] = {
32,
- -1, 1, 358,
+ -1, 1, 359,
0, 0, 1,
1, 0, 2,
- 9, 0, 142,
+ 9, 0, 141,
12, 0, 26,
15, 0, 28,
16, 0, 29,
};
static int parser_action_row565[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row566[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row567[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row568[] = {
2,
-1, 3, 567,
- 23, 0, 698
+ 23, 0, 700
};
static int parser_action_row569[] = {
1,
};
static int parser_action_row570[] = {
5,
- -1, 1, 358,
+ -1, 1, 359,
12, 0, 590,
46, 0, 508,
81, 0, 48,
};
static int parser_action_row572[] = {
21,
- -1, 1, 358,
- 12, 0, 155,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
static int parser_action_row575[] = {
3,
-1, 1, 244,
- 64, 0, 315,
- 65, 0, 316
+ 64, 0, 313,
+ 65, 0, 314
};
static int parser_action_row576[] = {
3,
-1, 1, 247,
- 64, 0, 315,
- 65, 0, 316
+ 64, 0, 313,
+ 65, 0, 314
};
static int parser_action_row577[] = {
1,
static int parser_action_row578[] = {
4,
-1, 1, 251,
- 66, 0, 324,
- 68, 0, 325,
- 69, 0, 326
+ 66, 0, 322,
+ 68, 0, 323,
+ 69, 0, 324
};
static int parser_action_row579[] = {
4,
-1, 1, 252,
- 66, 0, 324,
- 68, 0, 325,
- 69, 0, 326
+ 66, 0, 322,
+ 68, 0, 323,
+ 69, 0, 324
};
static int parser_action_row580[] = {
3,
-1, 1, 240,
- 64, 0, 315,
- 65, 0, 316
+ 64, 0, 313,
+ 65, 0, 314
};
static int parser_action_row581[] = {
3,
-1, 1, 241,
- 64, 0, 315,
- 65, 0, 316
+ 64, 0, 313,
+ 65, 0, 314
};
static int parser_action_row582[] = {
3,
-1, 1, 242,
- 64, 0, 315,
- 65, 0, 316
+ 64, 0, 313,
+ 65, 0, 314
};
static int parser_action_row583[] = {
3,
-1, 1, 243,
- 64, 0, 315,
- 65, 0, 316
+ 64, 0, 313,
+ 65, 0, 314
};
static int parser_action_row584[] = {
3,
-1, 1, 245,
- 64, 0, 315,
- 65, 0, 316
+ 64, 0, 313,
+ 65, 0, 314
};
static int parser_action_row585[] = {
3,
-1, 1, 246,
- 64, 0, 315,
- 65, 0, 316
+ 64, 0, 313,
+ 65, 0, 314
};
static int parser_action_row586[] = {
3,
-1, 1, 248,
- 64, 0, 315,
- 65, 0, 316
+ 64, 0, 313,
+ 65, 0, 314
};
static int parser_action_row587[] = {
1,
static int parser_action_row591[] = {
2,
-1, 1, 340,
- 51, 0, 242
+ 51, 0, 240
};
static int parser_action_row592[] = {
2,
-1, 3, 591,
- 83, 0, 701
+ 83, 0, 703
};
static int parser_action_row593[] = {
2,
-1, 1, 340,
- 51, 0, 242
+ 51, 0, 240
};
static int parser_action_row594[] = {
1,
};
static int parser_action_row597[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row598[] = {
1,
- -1, 1, 453
+ -1, 1, 454
};
static int parser_action_row599[] = {
3,
-1, 3, 598,
- 47, 0, 344,
- 81, 0, 345
+ 47, 0, 342,
+ 81, 0, 343
};
static int parser_action_row600[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row601[] = {
5,
-1, 1, 80,
- 18, 0, 200,
- 19, 0, 201,
- 20, 0, 202,
- 21, 0, 203
+ 18, 0, 199,
+ 19, 0, 200,
+ 20, 0, 201,
+ 21, 0, 202
};
static int parser_action_row602[] = {
1,
- -1, 1, 554
+ -1, 1, 555
};
static int parser_action_row603[] = {
3,
static int parser_action_row604[] = {
5,
-1, 1, 80,
- 18, 0, 200,
- 19, 0, 201,
- 20, 0, 202,
- 21, 0, 203
+ 18, 0, 199,
+ 19, 0, 200,
+ 20, 0, 201,
+ 21, 0, 202
};
static int parser_action_row605[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row606[] = {
2,
-1, 1, 310,
- 55, 0, 713
+ 55, 0, 715
};
static int parser_action_row607[] = {
1,
static int parser_action_row610[] = {
3,
-1, 1, 306,
- 51, 0, 716,
- 80, 0, 184
+ 51, 0, 718,
+ 80, 0, 183
};
static int parser_action_row611[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row613[] = {
3,
-1, 3, 612,
- 47, 0, 344,
- 81, 0, 345
+ 47, 0, 342,
+ 81, 0, 343
};
static int parser_action_row614[] = {
1,
static int parser_action_row615[] = {
2,
-1, 1, 306,
- 80, 0, 184
+ 80, 0, 183
};
static int parser_action_row616[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row617[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row618[] = {
1,
- -1, 1, 822
+ -1, 1, 823
};
static int parser_action_row619[] = {
2,
- -1, 1, 347,
+ -1, 1, 348,
55, 0, 615
};
static int parser_action_row620[] = {
+ 2,
+ -1, 1, 306,
+ 80, 0, 183
+};
+static int parser_action_row621[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row621[] = {
- 2,
- -1, 1, 351,
- 57, 0, 194
-};
static int parser_action_row622[] = {
2,
- -1, 1, 77,
- 14, 0, 725
+ -1, 1, 352,
+ 57, 0, 193
};
static int parser_action_row623[] = {
2,
- -1, 3, 622,
- 82, 0, 727
+ -1, 1, 77,
+ 14, 0, 728
};
static int parser_action_row624[] = {
- 3,
+ 2,
-1, 3, 623,
- 0, 0, 83,
- 1, 0, 84
+ 82, 0, 730
};
static int parser_action_row625[] = {
+ 3,
+ -1, 3, 624,
+ 0, 0, 82,
+ 1, 0, 83
+};
+static int parser_action_row626[] = {
2,
-1, 1, 77,
- 14, 0, 725
+ 14, 0, 728
};
-static int parser_action_row626[] = {
+static int parser_action_row627[] = {
2,
-1, 1, 100,
- 58, 0, 730
+ 58, 0, 733
};
-static int parser_action_row627[] = {
+static int parser_action_row628[] = {
1,
-1, 1, 102
};
-static int parser_action_row628[] = {
+static int parser_action_row629[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row629[] = {
+static int parser_action_row630[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row630[] = {
+static int parser_action_row631[] = {
4,
-1, 1, 119,
- 4, 0, 733,
- 14, 0, 734,
- 15, 0, 735
+ 4, 0, 736,
+ 14, 0, 737,
+ 15, 0, 738
};
-static int parser_action_row631[] = {
+static int parser_action_row632[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row632[] = {
+static int parser_action_row633[] = {
1,
-1, 1, 107
};
-static int parser_action_row633[] = {
- 2,
- -1, 1, 363,
- 57, 0, 193
-};
static int parser_action_row634[] = {
2,
- -1, 3, 633,
- 57, 0, 194
+ -1, 1, 364,
+ 57, 0, 192
};
static int parser_action_row635[] = {
2,
- -1, 1, 51,
- 53, 0, 740
+ -1, 3, 634,
+ 57, 0, 193
};
static int parser_action_row636[] = {
2,
- -1, 3, 635,
- 81, 0, 742
+ -1, 1, 51,
+ 53, 0, 743
};
static int parser_action_row637[] = {
- 3,
+ 2,
-1, 3, 636,
- 81, 0, 743,
- 82, 0, 633
+ 81, 0, 745
};
static int parser_action_row638[] = {
+ 3,
+ -1, 3, 637,
+ 81, 0, 746,
+ 82, 0, 634
+};
+static int parser_action_row639[] = {
+ 1,
+ -1, 1, 345
+};
+static int parser_action_row640[] = {
1,
-1, 1, 272
};
-static int parser_action_row639[] = {
+static int parser_action_row641[] = {
1,
-1, 1, 180
};
-static int parser_action_row640[] = {
+static int parser_action_row642[] = {
3,
- -1, 3, 639,
- 31, 0, 745,
- 51, 0, 746
+ -1, 3, 641,
+ 31, 0, 748,
+ 51, 0, 749
};
-static int parser_action_row641[] = {
+static int parser_action_row643[] = {
4,
-1, 1, 267,
- 58, 0, 747,
- 59, 0, 371,
- 60, 0, 372
+ 58, 0, 750,
+ 59, 0, 370,
+ 60, 0, 371
};
-static int parser_action_row642[] = {
+static int parser_action_row644[] = {
4,
-1, 1, 269,
- 58, 0, 749,
- 59, 0, 371,
- 60, 0, 372
+ 58, 0, 752,
+ 59, 0, 370,
+ 60, 0, 371
};
-static int parser_action_row643[] = {
+static int parser_action_row645[] = {
1,
-1, 1, 177
};
-static int parser_action_row644[] = {
+static int parser_action_row646[] = {
23,
-1, 1, 344,
- 12, 0, 107,
- 22, 0, 108,
- 31, 0, 109,
- 38, 0, 110,
- 40, 0, 111,
- 41, 1, 358,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 48, 0, 116,
- 51, 0, 385,
- 65, 0, 118,
+ 12, 0, 106,
+ 22, 0, 107,
+ 31, 0, 108,
+ 38, 0, 109,
+ 40, 0, 110,
+ 41, 1, 359,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 48, 0, 115,
+ 51, 0, 384,
+ 65, 0, 117,
81, 0, 48,
82, 0, 49,
- 83, 1, 358,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 83, 1, 359,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
+ 91, 0, 122
};
-static int parser_action_row645[] = {
+static int parser_action_row647[] = {
23,
-1, 1, 344,
- 12, 0, 107,
- 22, 0, 108,
- 31, 0, 109,
- 38, 0, 110,
- 40, 0, 111,
- 41, 1, 358,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 48, 0, 116,
- 51, 0, 385,
- 65, 0, 118,
+ 12, 0, 106,
+ 22, 0, 107,
+ 31, 0, 108,
+ 38, 0, 109,
+ 40, 0, 110,
+ 41, 1, 359,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 48, 0, 115,
+ 51, 0, 384,
+ 65, 0, 117,
81, 0, 48,
82, 0, 49,
- 83, 1, 358,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 83, 1, 359,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
+ 91, 0, 122
};
-static int parser_action_row646[] = {
+static int parser_action_row648[] = {
3,
- -1, 1, 356,
- 12, 0, 753,
- 82, 0, 389
+ -1, 1, 357,
+ 12, 0, 756,
+ 82, 0, 388
};
-static int parser_action_row647[] = {
+static int parser_action_row649[] = {
1,
-1, 1, 299
};
-static int parser_action_row648[] = {
+static int parser_action_row650[] = {
1,
-1, 1, 343
};
-static int parser_action_row649[] = {
+static int parser_action_row651[] = {
2,
- -1, 3, 648,
- 52, 0, 754
+ -1, 3, 650,
+ 52, 0, 757
};
-static int parser_action_row650[] = {
+static int parser_action_row652[] = {
1,
-1, 1, 338
};
-static int parser_action_row651[] = {
+static int parser_action_row653[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row652[] = {
+static int parser_action_row654[] = {
3,
- -1, 3, 651,
+ -1, 3, 653,
81, 0, 48,
82, 0, 49
};
-static int parser_action_row653[] = {
+static int parser_action_row655[] = {
2,
- -1, 3, 652,
- 83, 0, 757
+ -1, 3, 654,
+ 83, 0, 760
};
-static int parser_action_row654[] = {
+static int parser_action_row656[] = {
1,
- -1, 1, 499
+ -1, 1, 500
};
-static int parser_action_row655[] = {
+static int parser_action_row657[] = {
1,
- -1, 1, 536
+ -1, 1, 537
};
-static int parser_action_row656[] = {
+static int parser_action_row658[] = {
3,
- -1, 3, 655,
- 31, 0, 758,
- 51, 0, 759
+ -1, 3, 657,
+ 31, 0, 761,
+ 51, 0, 762
};
-static int parser_action_row657[] = {
+static int parser_action_row659[] = {
1,
- -1, 1, 531
+ -1, 1, 532
};
-static int parser_action_row658[] = {
+static int parser_action_row660[] = {
1,
- -1, 1, 533
+ -1, 1, 534
};
-static int parser_action_row659[] = {
+static int parser_action_row661[] = {
1,
-1, 1, 160
};
-static int parser_action_row660[] = {
+static int parser_action_row662[] = {
1,
-1, 1, 193
};
-static int parser_action_row661[] = {
+static int parser_action_row663[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row662[] = {
+static int parser_action_row664[] = {
1,
-1, 1, 215
};
-static int parser_action_row663[] = {
+static int parser_action_row665[] = {
26,
-1, 1, 344,
- 12, 0, 107,
- 22, 0, 108,
- 31, 0, 109,
- 38, 0, 110,
- 40, 0, 111,
- 41, 1, 358,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 48, 0, 116,
- 51, 0, 117,
+ 12, 0, 106,
+ 22, 0, 107,
+ 31, 0, 108,
+ 38, 0, 109,
+ 40, 0, 110,
+ 41, 1, 359,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 48, 0, 115,
+ 51, 0, 116,
53, 1, 340,
61, 1, 340,
63, 1, 340,
- 65, 0, 118,
+ 65, 0, 117,
81, 0, 48,
82, 0, 49,
- 83, 1, 358,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 83, 1, 359,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
+ 91, 0, 122
};
-static int parser_action_row664[] = {
+static int parser_action_row666[] = {
32,
- -1, 1, 358,
+ -1, 1, 359,
0, 0, 1,
1, 0, 2,
- 9, 0, 762,
- 12, 0, 662,
- 15, 0, 663,
- 16, 0, 664,
- 22, 0, 665,
- 25, 0, 667,
- 26, 0, 668,
- 27, 0, 669,
- 33, 0, 670,
- 34, 0, 671,
- 35, 0, 672,
- 36, 0, 673,
- 37, 0, 674,
+ 9, 0, 765,
+ 12, 0, 664,
+ 15, 0, 665,
+ 16, 0, 666,
+ 22, 0, 667,
+ 25, 0, 669,
+ 26, 0, 670,
+ 27, 0, 671,
+ 33, 0, 672,
+ 34, 0, 673,
+ 35, 0, 674,
+ 36, 0, 675,
+ 37, 0, 676,
38, 0, 40,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 50, 0, 675,
+ 50, 0, 677,
51, 0, 46,
53, 0, 47,
81, 0, 48,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row665[] = {
+static int parser_action_row667[] = {
2,
- -1, 3, 664,
- 82, 0, 767
+ -1, 3, 666,
+ 82, 0, 770
};
-static int parser_action_row666[] = {
+static int parser_action_row668[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row667[] = {
+static int parser_action_row669[] = {
32,
- -1, 1, 358,
+ -1, 1, 359,
0, 0, 1,
1, 0, 2,
- 9, 0, 466,
+ 9, 0, 465,
12, 0, 26,
15, 0, 28,
16, 0, 29,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row668[] = {
+static int parser_action_row670[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row669[] = {
+static int parser_action_row671[] = {
32,
- -1, 1, 358,
+ -1, 1, 359,
0, 0, 1,
1, 0, 2,
- 9, 0, 762,
- 12, 0, 662,
- 15, 0, 663,
- 16, 0, 664,
- 22, 0, 665,
- 25, 0, 667,
- 26, 0, 668,
- 27, 0, 669,
- 33, 0, 670,
- 34, 0, 671,
- 35, 0, 672,
- 36, 0, 673,
- 37, 0, 674,
+ 9, 0, 765,
+ 12, 0, 664,
+ 15, 0, 665,
+ 16, 0, 666,
+ 22, 0, 667,
+ 25, 0, 669,
+ 26, 0, 670,
+ 27, 0, 671,
+ 33, 0, 672,
+ 34, 0, 673,
+ 35, 0, 674,
+ 36, 0, 675,
+ 37, 0, 676,
38, 0, 40,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 50, 0, 675,
+ 50, 0, 677,
51, 0, 46,
53, 0, 47,
81, 0, 48,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row670[] = {
+static int parser_action_row672[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row671[] = {
+static int parser_action_row673[] = {
25,
-1, 1, 164,
- 12, 0, 155,
- 22, 0, 156,
- 24, 1, 631,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
- 41, 1, 358,
+ 12, 0, 154,
+ 22, 0, 155,
+ 24, 1, 632,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
+ 41, 1, 359,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
- 83, 1, 358,
+ 83, 1, 359,
84, 0, 50,
85, 0, 51,
86, 0, 52,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row672[] = {
+static int parser_action_row674[] = {
3,
-1, 1, 169,
- 24, 1, 636,
- 49, 0, 175
+ 24, 1, 637,
+ 49, 0, 174
};
-static int parser_action_row673[] = {
+static int parser_action_row675[] = {
3,
-1, 1, 166,
- 24, 1, 633,
- 49, 0, 175
+ 24, 1, 634,
+ 49, 0, 174
};
-static int parser_action_row674[] = {
+static int parser_action_row676[] = {
2,
-1, 1, 168,
- 24, 1, 635
+ 24, 1, 636
};
-static int parser_action_row675[] = {
+static int parser_action_row677[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
- 82, 0, 178,
+ 82, 0, 177,
84, 0, 50,
85, 0, 51,
86, 0, 52,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row676[] = {
+static int parser_action_row678[] = {
2,
- -1, 3, 675,
- 11, 0, 779
+ -1, 3, 677,
+ 11, 0, 782
};
-static int parser_action_row677[] = {
+static int parser_action_row679[] = {
1,
-1, 1, 210
};
-static int parser_action_row678[] = {
+static int parser_action_row680[] = {
1,
-1, 1, 212
};
-static int parser_action_row679[] = {
+static int parser_action_row681[] = {
4,
- -1, 3, 678,
- 53, 0, 209,
- 61, 0, 210,
- 63, 0, 780
+ -1, 3, 680,
+ 53, 0, 208,
+ 61, 0, 209,
+ 63, 0, 783
};
-static int parser_action_row680[] = {
+static int parser_action_row682[] = {
3,
- -1, 3, 679,
- 41, 0, 782,
- 83, 0, 783
+ -1, 3, 681,
+ 41, 0, 785,
+ 83, 0, 786
};
-static int parser_action_row681[] = {
+static int parser_action_row683[] = {
29,
-1, 1, 344,
- 12, 0, 107,
- 22, 0, 108,
- 31, 0, 109,
- 38, 0, 110,
- 40, 0, 111,
- 41, 1, 358,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 48, 0, 116,
- 51, 0, 117,
+ 12, 0, 106,
+ 22, 0, 107,
+ 31, 0, 108,
+ 38, 0, 109,
+ 40, 0, 110,
+ 41, 1, 359,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 48, 0, 115,
+ 51, 0, 116,
53, 1, 340,
58, 1, 340,
59, 1, 340,
60, 1, 340,
61, 1, 340,
63, 1, 340,
- 65, 0, 118,
+ 65, 0, 117,
81, 0, 48,
82, 0, 49,
- 83, 1, 358,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 83, 1, 359,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
+ 91, 0, 122
};
-static int parser_action_row682[] = {
+static int parser_action_row684[] = {
3,
- -1, 1, 355,
- 12, 0, 786,
- 82, 0, 226
+ -1, 1, 356,
+ 12, 0, 789,
+ 82, 0, 224
};
-static int parser_action_row683[] = {
+static int parser_action_row685[] = {
31,
- -1, 1, 358,
- 9, 0, 661,
+ -1, 1, 359,
+ 9, 0, 663,
12, 0, 26,
15, 0, 28,
16, 0, 29,
22, 0, 30,
- 24, 0, 666,
+ 24, 0, 668,
25, 0, 31,
26, 0, 32,
27, 0, 33,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row684[] = {
- 2,
- -1, 3, 683,
- 24, 0, 790
-};
-static int parser_action_row685[] = {
- 1,
- -1, 1, 629
-};
static int parser_action_row686[] = {
- 1,
- -1, 1, 630
+ 2,
+ -1, 3, 685,
+ 24, 0, 793
};
static int parser_action_row687[] = {
1,
- -1, 1, 638
+ -1, 1, 630
};
static int parser_action_row688[] = {
1,
- -1, 1, 639
+ -1, 1, 631
};
static int parser_action_row689[] = {
1,
- -1, 1, 641
+ -1, 1, 639
};
static int parser_action_row690[] = {
1,
};
static int parser_action_row692[] = {
1,
- -1, 1, 643
+ -1, 1, 641
};
static int parser_action_row693[] = {
+ 1,
+ -1, 1, 643
+};
+static int parser_action_row694[] = {
+ 1,
+ -1, 1, 644
+};
+static int parser_action_row695[] = {
4,
- -1, 1, 357,
- 12, 0, 791,
+ -1, 1, 358,
+ 12, 0, 794,
81, 0, 48,
- 82, 0, 228
+ 82, 0, 226
};
-static int parser_action_row694[] = {
+static int parser_action_row696[] = {
1,
-1, 1, 219
};
-static int parser_action_row695[] = {
+static int parser_action_row697[] = {
2,
- -1, 3, 694,
- 49, 0, 175
+ -1, 3, 696,
+ 49, 0, 174
};
-static int parser_action_row696[] = {
+static int parser_action_row698[] = {
3,
- -1, 3, 695,
- 52, 0, 794,
+ -1, 3, 697,
+ 52, 0, 797,
55, 0, 566
};
-static int parser_action_row697[] = {
+static int parser_action_row699[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row698[] = {
+static int parser_action_row700[] = {
2,
- -1, 3, 697,
- 82, 0, 796
+ -1, 3, 699,
+ 82, 0, 799
};
-static int parser_action_row699[] = {
+static int parser_action_row701[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row700[] = {
+static int parser_action_row702[] = {
2,
- -1, 3, 699,
- 83, 0, 798
+ -1, 3, 701,
+ 83, 0, 801
};
-static int parser_action_row701[] = {
+static int parser_action_row703[] = {
1,
-1, 1, 235
};
-static int parser_action_row702[] = {
+static int parser_action_row704[] = {
1,
-1, 1, 267
};
-static int parser_action_row703[] = {
+static int parser_action_row705[] = {
1,
-1, 1, 269
};
-static int parser_action_row704[] = {
+static int parser_action_row706[] = {
3,
- -1, 3, 703,
- 47, 0, 344,
- 81, 0, 345
+ -1, 3, 705,
+ 47, 0, 342,
+ 81, 0, 343
};
-static int parser_action_row705[] = {
+static int parser_action_row707[] = {
2,
-1, 1, 145,
- 55, 0, 800
+ 55, 0, 803
};
-static int parser_action_row706[] = {
+static int parser_action_row708[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row707[] = {
+static int parser_action_row709[] = {
2,
-1, 1, 42,
13, 0, 27
};
-static int parser_action_row708[] = {
+static int parser_action_row710[] = {
4,
- -1, 3, 707,
+ -1, 3, 709,
6, 0, 606,
17, 0, 607,
82, 0, 608
};
-static int parser_action_row709[] = {
+static int parser_action_row711[] = {
2,
-1, 1, 340,
- 51, 0, 242
+ 51, 0, 240
};
-static int parser_action_row710[] = {
+static int parser_action_row712[] = {
2,
- -1, 3, 709,
- 82, 0, 226
+ -1, 3, 711,
+ 82, 0, 224
};
-static int parser_action_row711[] = {
+static int parser_action_row713[] = {
3,
- -1, 3, 710,
+ -1, 3, 712,
81, 0, 48,
- 82, 0, 228
+ 82, 0, 226
};
-static int parser_action_row712[] = {
+static int parser_action_row714[] = {
4,
- -1, 3, 711,
+ -1, 3, 713,
6, 0, 606,
17, 0, 607,
82, 0, 608
};
-static int parser_action_row713[] = {
+static int parser_action_row715[] = {
2,
- -1, 3, 712,
- 52, 0, 809
+ -1, 3, 714,
+ 52, 0, 812
};
-static int parser_action_row714[] = {
+static int parser_action_row716[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row715[] = {
+static int parser_action_row717[] = {
1,
- -1, 1, 814
+ -1, 1, 815
};
-static int parser_action_row716[] = {
+static int parser_action_row718[] = {
2,
-1, 1, 311,
- 55, 0, 713
+ 55, 0, 715
};
-static int parser_action_row717[] = {
+static int parser_action_row719[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row718[] = {
+static int parser_action_row720[] = {
1,
-1, 1, 307
};
-static int parser_action_row719[] = {
+static int parser_action_row721[] = {
3,
- -1, 3, 718,
- 47, 0, 344,
- 81, 0, 345
+ -1, 3, 720,
+ 47, 0, 342,
+ 81, 0, 343
};
-static int parser_action_row720[] = {
+static int parser_action_row722[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row721[] = {
+static int parser_action_row723[] = {
1,
-1, 1, 290
};
-static int parser_action_row722[] = {
+static int parser_action_row724[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row723[] = {
+static int parser_action_row725[] = {
21,
- -1, 1, 358,
- 12, 0, 816,
- 22, 0, 817,
- 31, 0, 818,
- 38, 0, 819,
- 40, 0, 820,
- 42, 0, 821,
- 43, 0, 822,
- 44, 0, 823,
- 45, 0, 824,
- 48, 0, 825,
- 51, 0, 826,
- 65, 0, 827,
+ -1, 1, 359,
+ 12, 0, 819,
+ 22, 0, 820,
+ 31, 0, 821,
+ 38, 0, 822,
+ 40, 0, 823,
+ 42, 0, 824,
+ 43, 0, 825,
+ 44, 0, 826,
+ 45, 0, 827,
+ 48, 0, 828,
+ 51, 0, 829,
+ 65, 0, 830,
81, 0, 48,
82, 0, 49,
- 84, 0, 828,
- 85, 0, 829,
- 86, 0, 830,
- 87, 0, 831,
+ 84, 0, 831,
+ 85, 0, 832,
+ 86, 0, 833,
+ 87, 0, 834,
88, 0, 54,
- 91, 0, 832
+ 91, 0, 835
};
-static int parser_action_row724[] = {
+static int parser_action_row726[] = {
1,
- -1, 1, 823
+ -1, 1, 824
};
-static int parser_action_row725[] = {
+static int parser_action_row727[] = {
+ 1,
+ -1, 1, 293
+};
+static int parser_action_row728[] = {
2,
- -1, 3, 724,
- 82, 0, 847
+ -1, 3, 727,
+ 82, 0, 850
};
-static int parser_action_row726[] = {
+static int parser_action_row729[] = {
4,
-1, 1, 42,
- 0, 0, 83,
- 1, 0, 84,
+ 0, 0, 82,
+ 1, 0, 83,
13, 0, 27
};
-static int parser_action_row727[] = {
+static int parser_action_row730[] = {
3,
- -1, 3, 726,
- 0, 0, 83,
- 1, 0, 84
+ -1, 3, 729,
+ 0, 0, 82,
+ 1, 0, 83
};
-static int parser_action_row728[] = {
+static int parser_action_row731[] = {
2,
- -1, 1, 352,
- 57, 0, 194
+ -1, 1, 353,
+ 57, 0, 193
};
-static int parser_action_row729[] = {
+static int parser_action_row732[] = {
1,
-1, 1, 18
};
-static int parser_action_row730[] = {
+static int parser_action_row733[] = {
3,
- -1, 3, 729,
- 0, 0, 83,
- 1, 0, 84
+ -1, 3, 732,
+ 0, 0, 82,
+ 1, 0, 83
};
-static int parser_action_row731[] = {
+static int parser_action_row734[] = {
1,
-1, 1, 103
};
-static int parser_action_row732[] = {
+static int parser_action_row735[] = {
2,
-1, 1, 110,
- 82, 0, 854
+ 82, 0, 857
};
-static int parser_action_row733[] = {
+static int parser_action_row736[] = {
3,
- -1, 3, 732,
- 47, 0, 344,
- 81, 0, 345
+ -1, 3, 735,
+ 47, 0, 342,
+ 81, 0, 343
};
-static int parser_action_row734[] = {
+static int parser_action_row737[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row735[] = {
+static int parser_action_row738[] = {
4,
-1, 1, 42,
- 0, 0, 83,
- 1, 0, 84,
+ 0, 0, 82,
+ 1, 0, 83,
13, 0, 27
};
-static int parser_action_row736[] = {
+static int parser_action_row739[] = {
32,
- -1, 1, 358,
+ -1, 1, 359,
0, 0, 1,
1, 0, 2,
- 9, 0, 466,
+ 9, 0, 465,
12, 0, 26,
15, 0, 28,
16, 0, 29,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row737[] = {
+static int parser_action_row740[] = {
3,
-1, 1, 119,
- 4, 0, 733,
- 15, 0, 862
+ 4, 0, 736,
+ 15, 0, 865
};
-static int parser_action_row738[] = {
+static int parser_action_row741[] = {
3,
- -1, 3, 737,
+ -1, 3, 740,
28, 0, 34,
94, 0, 56
};
-static int parser_action_row739[] = {
+static int parser_action_row742[] = {
1,
- -1, 1, 384
+ -1, 1, 385
};
-static int parser_action_row740[] = {
+static int parser_action_row743[] = {
1,
-1, 1, 106
};
-static int parser_action_row741[] = {
+static int parser_action_row744[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row742[] = {
+static int parser_action_row745[] = {
5,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2,
28, 0, 34,
94, 0, 56
};
-static int parser_action_row743[] = {
+static int parser_action_row746[] = {
1,
- -1, 1, 364
+ -1, 1, 365
};
-static int parser_action_row744[] = {
+static int parser_action_row747[] = {
2,
- -1, 1, 366,
- 57, 0, 193
+ -1, 1, 367,
+ 57, 0, 192
};
-static int parser_action_row745[] = {
+static int parser_action_row748[] = {
2,
- -1, 3, 744,
- 81, 0, 875
+ -1, 3, 747,
+ 81, 0, 878
};
-static int parser_action_row746[] = {
+static int parser_action_row749[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row747[] = {
+static int parser_action_row750[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row748[] = {
+static int parser_action_row751[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row749[] = {
+static int parser_action_row752[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row750[] = {
+static int parser_action_row753[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row751[] = {
+static int parser_action_row754[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row752[] = {
+static int parser_action_row755[] = {
1,
-1, 1, 182
};
-static int parser_action_row753[] = {
+static int parser_action_row756[] = {
1,
-1, 1, 184
};
-static int parser_action_row754[] = {
+static int parser_action_row757[] = {
23,
-1, 1, 344,
- 12, 0, 107,
- 22, 0, 108,
- 31, 0, 109,
- 38, 0, 110,
- 40, 0, 111,
- 41, 1, 358,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 48, 0, 116,
- 51, 0, 385,
- 65, 0, 118,
+ 12, 0, 106,
+ 22, 0, 107,
+ 31, 0, 108,
+ 38, 0, 109,
+ 40, 0, 110,
+ 41, 1, 359,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 48, 0, 115,
+ 51, 0, 384,
+ 65, 0, 117,
81, 0, 48,
82, 0, 49,
- 83, 1, 358,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 83, 1, 359,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
+ 91, 0, 122
};
-static int parser_action_row755[] = {
+static int parser_action_row758[] = {
1,
-1, 1, 341
};
-static int parser_action_row756[] = {
+static int parser_action_row759[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row757[] = {
+static int parser_action_row760[] = {
2,
-1, 1, 340,
- 51, 0, 242
+ 51, 0, 240
};
-static int parser_action_row758[] = {
+static int parser_action_row761[] = {
4,
- -1, 1, 528,
- 53, 1, 531,
- 61, 1, 531,
- 63, 1, 531
+ -1, 1, 529,
+ 53, 1, 532,
+ 61, 1, 532,
+ 63, 1, 532
};
-static int parser_action_row759[] = {
+static int parser_action_row762[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row760[] = {
+static int parser_action_row763[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row761[] = {
+static int parser_action_row764[] = {
1,
-1, 1, 194
};
-static int parser_action_row762[] = {
+static int parser_action_row765[] = {
2,
-1, 1, 181,
- 24, 1, 648
+ 24, 1, 649
};
-static int parser_action_row763[] = {
+static int parser_action_row766[] = {
3,
-1, 1, 153,
- 24, 1, 627,
- 49, 1, 726
+ 24, 1, 628,
+ 49, 1, 727
};
-static int parser_action_row764[] = {
+static int parser_action_row767[] = {
30,
- -1, 1, 358,
- 9, 0, 887,
+ -1, 1, 359,
+ 9, 0, 890,
12, 0, 26,
15, 0, 28,
16, 0, 29,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row765[] = {
+static int parser_action_row768[] = {
1,
- -1, 1, 671
+ -1, 1, 672
};
-static int parser_action_row766[] = {
+static int parser_action_row769[] = {
1,
- -1, 1, 628
+ -1, 1, 629
};
-static int parser_action_row767[] = {
+static int parser_action_row770[] = {
2,
- -1, 3, 766,
- 49, 0, 175
+ -1, 3, 769,
+ 49, 0, 174
};
-static int parser_action_row768[] = {
+static int parser_action_row771[] = {
3,
-1, 1, 150,
- 56, 0, 292,
- 80, 0, 184
+ 56, 0, 290,
+ 80, 0, 183
};
-static int parser_action_row769[] = {
+static int parser_action_row772[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row770[] = {
+static int parser_action_row773[] = {
1,
-1, 1, 214
};
-static int parser_action_row771[] = {
+static int parser_action_row774[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row772[] = {
+static int parser_action_row775[] = {
1,
- -1, 1, 674
+ -1, 1, 675
};
-static int parser_action_row773[] = {
+static int parser_action_row776[] = {
2,
- -1, 3, 772,
- 49, 0, 175
+ -1, 3, 775,
+ 49, 0, 174
};
-static int parser_action_row774[] = {
+static int parser_action_row777[] = {
3,
- -1, 3, 773,
- 51, 0, 895,
- 82, 0, 299
+ -1, 3, 776,
+ 51, 0, 898,
+ 82, 0, 297
};
-static int parser_action_row775[] = {
+static int parser_action_row778[] = {
1,
- -1, 1, 632
+ -1, 1, 633
};
-static int parser_action_row776[] = {
+static int parser_action_row779[] = {
2,
-1, 1, 170,
- 24, 1, 637
+ 24, 1, 638
};
-static int parser_action_row777[] = {
+static int parser_action_row780[] = {
2,
-1, 1, 167,
- 24, 1, 634
+ 24, 1, 635
};
-static int parser_action_row778[] = {
+static int parser_action_row781[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row779[] = {
+static int parser_action_row782[] = {
2,
- -1, 3, 778,
- 24, 0, 898
+ -1, 3, 781,
+ 24, 0, 901
};
-static int parser_action_row780[] = {
+static int parser_action_row783[] = {
3,
- -1, 3, 779,
- 47, 0, 344,
- 81, 0, 345
+ -1, 3, 782,
+ 47, 0, 342,
+ 81, 0, 343
};
-static int parser_action_row781[] = {
+static int parser_action_row784[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row782[] = {
+static int parser_action_row785[] = {
4,
-1, 1, 274,
- 58, 0, 901,
- 59, 0, 371,
- 60, 0, 372
+ 58, 0, 904,
+ 59, 0, 370,
+ 60, 0, 371
};
-static int parser_action_row783[] = {
+static int parser_action_row786[] = {
26,
-1, 1, 344,
- 12, 0, 107,
- 22, 0, 108,
- 31, 0, 109,
- 38, 0, 110,
- 40, 0, 111,
- 41, 1, 358,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 48, 0, 116,
- 51, 0, 117,
+ 12, 0, 106,
+ 22, 0, 107,
+ 31, 0, 108,
+ 38, 0, 109,
+ 40, 0, 110,
+ 41, 1, 359,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 48, 0, 115,
+ 51, 0, 116,
53, 1, 340,
61, 1, 340,
63, 1, 340,
- 65, 0, 118,
+ 65, 0, 117,
81, 0, 48,
82, 0, 49,
- 83, 1, 358,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 83, 1, 359,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
+ 91, 0, 122
};
-static int parser_action_row784[] = {
+static int parser_action_row787[] = {
4,
-1, 1, 268,
- 58, 0, 904,
- 59, 0, 371,
- 60, 0, 372
+ 58, 0, 907,
+ 59, 0, 370,
+ 60, 0, 371
};
-static int parser_action_row785[] = {
+static int parser_action_row788[] = {
4,
-1, 1, 270,
- 58, 0, 906,
- 59, 0, 371,
- 60, 0, 372
+ 58, 0, 909,
+ 59, 0, 370,
+ 60, 0, 371
};
-static int parser_action_row786[] = {
+static int parser_action_row789[] = {
2,
-1, 1, 178,
- 24, 1, 645
+ 24, 1, 646
};
-static int parser_action_row787[] = {
+static int parser_action_row790[] = {
23,
-1, 1, 344,
- 12, 0, 107,
- 22, 0, 108,
- 31, 0, 109,
- 38, 0, 110,
- 40, 0, 111,
- 41, 1, 358,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 48, 0, 116,
- 51, 0, 385,
- 65, 0, 118,
+ 12, 0, 106,
+ 22, 0, 107,
+ 31, 0, 108,
+ 38, 0, 109,
+ 40, 0, 110,
+ 41, 1, 359,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 48, 0, 115,
+ 51, 0, 384,
+ 65, 0, 117,
81, 0, 48,
82, 0, 49,
- 83, 1, 358,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 83, 1, 359,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
+ 91, 0, 122
};
-static int parser_action_row788[] = {
+static int parser_action_row791[] = {
3,
- -1, 3, 787,
- 9, 0, 661,
- 24, 0, 666
+ -1, 3, 790,
+ 9, 0, 663,
+ 24, 0, 668
};
-static int parser_action_row789[] = {
+static int parser_action_row792[] = {
3,
- -1, 3, 788,
+ -1, 3, 791,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row790[] = {
+static int parser_action_row793[] = {
1,
-1, 1, 213
};
-static int parser_action_row791[] = {
+static int parser_action_row794[] = {
32,
- -1, 1, 358,
+ -1, 1, 359,
0, 0, 1,
1, 0, 2,
- 9, 0, 466,
+ 9, 0, 465,
12, 0, 26,
15, 0, 28,
16, 0, 29,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row792[] = {
+static int parser_action_row795[] = {
23,
-1, 1, 344,
- 12, 0, 107,
- 22, 0, 108,
- 31, 0, 109,
- 38, 0, 110,
- 40, 0, 111,
- 41, 1, 358,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 48, 0, 116,
- 51, 0, 385,
- 65, 0, 118,
+ 12, 0, 106,
+ 22, 0, 107,
+ 31, 0, 108,
+ 38, 0, 109,
+ 40, 0, 110,
+ 41, 1, 359,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 48, 0, 115,
+ 51, 0, 384,
+ 65, 0, 117,
81, 0, 48,
82, 0, 49,
- 83, 1, 358,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 83, 1, 359,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
+ 91, 0, 122
};
-static int parser_action_row793[] = {
+static int parser_action_row796[] = {
3,
- -1, 1, 356,
- 12, 0, 913,
- 82, 0, 389
+ -1, 1, 357,
+ 12, 0, 916,
+ 82, 0, 388
};
-static int parser_action_row794[] = {
+static int parser_action_row797[] = {
1,
-1, 1, 218
};
-static int parser_action_row795[] = {
+static int parser_action_row798[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row796[] = {
+static int parser_action_row799[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row797[] = {
+static int parser_action_row800[] = {
1,
- -1, 1, 350
+ -1, 1, 351
};
-static int parser_action_row798[] = {
+static int parser_action_row801[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row799[] = {
+static int parser_action_row802[] = {
4,
-1, 1, 264,
53, 1, 267,
61, 1, 267,
63, 1, 267
};
-static int parser_action_row800[] = {
+static int parser_action_row803[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row801[] = {
+static int parser_action_row804[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row802[] = {
+static int parser_action_row805[] = {
1,
- -1, 1, 808
+ -1, 1, 809
};
-static int parser_action_row803[] = {
+static int parser_action_row806[] = {
2,
-1, 1, 146,
- 55, 0, 800
+ 55, 0, 803
};
-static int parser_action_row804[] = {
+static int parser_action_row807[] = {
2,
- -1, 3, 803,
- 54, 0, 920
+ -1, 3, 806,
+ 54, 0, 923
};
-static int parser_action_row805[] = {
+static int parser_action_row808[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row806[] = {
+static int parser_action_row809[] = {
2,
- -1, 1, 557,
- 80, 0, 471
+ -1, 1, 558,
+ 80, 0, 470
};
-static int parser_action_row807[] = {
+static int parser_action_row810[] = {
1,
-1, 1, 275
};
-static int parser_action_row808[] = {
+static int parser_action_row811[] = {
2,
- -1, 3, 807,
- 82, 0, 389
+ -1, 3, 810,
+ 82, 0, 388
};
-static int parser_action_row809[] = {
+static int parser_action_row812[] = {
13,
-1, 1, 306,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 51, 0, 923,
- 80, 0, 184,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 51, 0, 926,
+ 80, 0, 183,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
+ 91, 0, 122
};
-static int parser_action_row810[] = {
+static int parser_action_row813[] = {
1,
-1, 1, 304
};
-static int parser_action_row811[] = {
+static int parser_action_row814[] = {
2,
-1, 1, 42,
13, 0, 27
};
-static int parser_action_row812[] = {
+static int parser_action_row815[] = {
1,
- -1, 1, 815
+ -1, 1, 816
};
-static int parser_action_row813[] = {
+static int parser_action_row816[] = {
35,
- -1, 1, 358,
- 12, 0, 155,
+ -1, 1, 359,
+ 12, 0, 154,
15, 0, 28,
16, 0, 29,
- 22, 0, 156,
+ 22, 0, 155,
25, 0, 31,
26, 0, 32,
27, 0, 33,
- 31, 0, 157,
- 33, 0, 928,
- 34, 0, 929,
- 35, 0, 930,
- 36, 0, 931,
+ 31, 0, 156,
+ 33, 0, 931,
+ 34, 0, 932,
+ 35, 0, 933,
+ 36, 0, 934,
37, 0, 39,
- 38, 0, 158,
- 40, 0, 159,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 47, 0, 344,
- 48, 0, 160,
- 50, 0, 932,
+ 47, 0, 342,
+ 48, 0, 159,
+ 50, 0, 935,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
- 80, 0, 184,
- 81, 0, 933,
+ 65, 0, 160,
+ 80, 0, 183,
+ 81, 0, 936,
82, 0, 49,
84, 0, 50,
85, 0, 51,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row814[] = {
+static int parser_action_row817[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row815[] = {
+static int parser_action_row818[] = {
2,
- -1, 3, 814,
- 54, 0, 951
+ -1, 3, 817,
+ 54, 0, 954
};
-static int parser_action_row816[] = {
+static int parser_action_row819[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row817[] = {
+static int parser_action_row820[] = {
2,
-1, 1, 340,
- 51, 0, 242
+ 51, 0, 240
};
-static int parser_action_row818[] = {
+static int parser_action_row821[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row819[] = {
+static int parser_action_row822[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row820[] = {
+static int parser_action_row823[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row821[] = {
+static int parser_action_row824[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row822[] = {
+static int parser_action_row825[] = {
2,
-1, 1, 306,
- 80, 0, 184
+ 80, 0, 183
};
-static int parser_action_row823[] = {
+static int parser_action_row826[] = {
2,
-1, 1, 306,
- 80, 0, 184
+ 80, 0, 183
};
-static int parser_action_row824[] = {
+static int parser_action_row827[] = {
2,
-1, 1, 306,
- 80, 0, 184
+ 80, 0, 183
};
-static int parser_action_row825[] = {
+static int parser_action_row828[] = {
2,
-1, 1, 306,
- 80, 0, 184
+ 80, 0, 183
};
-static int parser_action_row826[] = {
+static int parser_action_row829[] = {
16,
- -1, 1, 358,
- 12, 0, 816,
- 38, 0, 962,
- 42, 0, 821,
- 43, 0, 822,
- 44, 0, 823,
- 45, 0, 824,
- 51, 0, 826,
+ -1, 1, 359,
+ 12, 0, 819,
+ 38, 0, 965,
+ 42, 0, 824,
+ 43, 0, 825,
+ 44, 0, 826,
+ 45, 0, 827,
+ 51, 0, 829,
81, 0, 48,
82, 0, 49,
- 84, 0, 828,
- 85, 0, 829,
- 86, 0, 830,
- 87, 0, 831,
+ 84, 0, 831,
+ 85, 0, 832,
+ 86, 0, 833,
+ 87, 0, 834,
88, 0, 54,
- 91, 0, 832
+ 91, 0, 835
};
-static int parser_action_row827[] = {
+static int parser_action_row830[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row828[] = {
+static int parser_action_row831[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row829[] = {
+static int parser_action_row832[] = {
2,
-1, 1, 306,
- 80, 0, 184
+ 80, 0, 183
};
-static int parser_action_row830[] = {
+static int parser_action_row833[] = {
2,
-1, 1, 306,
- 80, 0, 184
+ 80, 0, 183
};
-static int parser_action_row831[] = {
+static int parser_action_row834[] = {
2,
-1, 1, 306,
- 80, 0, 184
+ 80, 0, 183
};
-static int parser_action_row832[] = {
+static int parser_action_row835[] = {
2,
-1, 1, 306,
- 80, 0, 184
+ 80, 0, 183
};
-static int parser_action_row833[] = {
+static int parser_action_row836[] = {
2,
-1, 1, 306,
- 80, 0, 184
+ 80, 0, 183
};
-static int parser_action_row834[] = {
+static int parser_action_row837[] = {
1,
- -1, 1, 450
+ -1, 1, 451
};
-static int parser_action_row835[] = {
+static int parser_action_row838[] = {
3,
- -1, 3, 834,
- 41, 0, 972,
- 83, 0, 973
+ -1, 3, 837,
+ 41, 0, 975,
+ 83, 0, 976
};
-static int parser_action_row836[] = {
+static int parser_action_row839[] = {
2,
-1, 1, 340,
- 51, 0, 242
+ 51, 0, 240
};
-static int parser_action_row837[] = {
+static int parser_action_row840[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row838[] = {
+static int parser_action_row841[] = {
4,
- -1, 1, 392,
- 29, 0, 976,
- 30, 0, 977,
- 32, 0, 978
+ -1, 1, 393,
+ 29, 0, 979,
+ 30, 0, 980,
+ 32, 0, 981
};
-static int parser_action_row839[] = {
+static int parser_action_row842[] = {
1,
- -1, 1, 394
+ -1, 1, 395
};
-static int parser_action_row840[] = {
+static int parser_action_row843[] = {
3,
- -1, 1, 399,
- 74, 0, 979,
- 77, 0, 980
+ -1, 1, 400,
+ 74, 0, 982,
+ 77, 0, 983
};
-static int parser_action_row841[] = {
+static int parser_action_row844[] = {
11,
- -1, 1, 401,
- 39, 0, 981,
- 64, 0, 982,
- 65, 0, 983,
- 70, 0, 984,
- 71, 0, 985,
- 72, 0, 986,
- 73, 0, 987,
- 75, 0, 988,
- 76, 0, 989,
- 78, 0, 990
+ -1, 1, 402,
+ 39, 0, 984,
+ 64, 0, 985,
+ 65, 0, 986,
+ 70, 0, 987,
+ 71, 0, 988,
+ 72, 0, 989,
+ 73, 0, 990,
+ 75, 0, 991,
+ 76, 0, 992,
+ 78, 0, 993
};
-static int parser_action_row842[] = {
+static int parser_action_row845[] = {
4,
- -1, 1, 412,
- 66, 0, 991,
- 68, 0, 992,
- 69, 0, 993
+ -1, 1, 413,
+ 66, 0, 994,
+ 68, 0, 995,
+ 69, 0, 996
};
-static int parser_action_row843[] = {
+static int parser_action_row846[] = {
1,
- -1, 1, 415
+ -1, 1, 416
};
-static int parser_action_row844[] = {
+static int parser_action_row847[] = {
2,
- -1, 1, 419,
- 67, 0, 994
+ -1, 1, 420,
+ 67, 0, 997
};
-static int parser_action_row845[] = {
+static int parser_action_row848[] = {
1,
- -1, 1, 421
+ -1, 1, 422
};
-static int parser_action_row846[] = {
+static int parser_action_row849[] = {
3,
- -1, 1, 424,
- 61, 0, 995,
- 63, 0, 996
+ -1, 1, 425,
+ 61, 0, 998,
+ 63, 0, 999
};
-static int parser_action_row847[] = {
+static int parser_action_row850[] = {
1,
- -1, 1, 428
+ -1, 1, 429
};
-static int parser_action_row848[] = {
+static int parser_action_row851[] = {
2,
- -1, 1, 353,
- 57, 0, 194
+ -1, 1, 354,
+ 57, 0, 193
};
-static int parser_action_row849[] = {
+static int parser_action_row852[] = {
2,
- -1, 3, 848,
- 82, 0, 997
+ -1, 3, 851,
+ 82, 0, 1000
};
-static int parser_action_row850[] = {
+static int parser_action_row853[] = {
1,
-1, 1, 75
};
-static int parser_action_row851[] = {
+static int parser_action_row854[] = {
1,
-1, 1, 309
};
-static int parser_action_row852[] = {
+static int parser_action_row855[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row853[] = {
+static int parser_action_row856[] = {
1,
-1, 1, 16
};
-static int parser_action_row854[] = {
+static int parser_action_row857[] = {
1,
-1, 1, 17
};
-static int parser_action_row855[] = {
+static int parser_action_row858[] = {
3,
-1, 1, 306,
- 56, 0, 628,
- 80, 0, 184
+ 56, 0, 629,
+ 80, 0, 183
};
-static int parser_action_row856[] = {
+static int parser_action_row859[] = {
2,
- -1, 3, 855,
- 52, 0, 1005
+ -1, 3, 858,
+ 52, 0, 1008
};
-static int parser_action_row857[] = {
+static int parser_action_row860[] = {
4,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2,
- 55, 0, 1006
+ 55, 0, 1009
};
-static int parser_action_row858[] = {
+static int parser_action_row861[] = {
1,
-1, 1, 148
};
-static int parser_action_row859[] = {
+static int parser_action_row862[] = {
21,
- -1, 3, 858,
- 41, 0, 1010,
- 47, 0, 344,
- 53, 0, 487,
- 64, 0, 488,
- 65, 0, 489,
- 66, 0, 490,
- 67, 0, 491,
- 68, 0, 492,
- 69, 0, 493,
- 70, 0, 494,
- 71, 0, 495,
- 72, 0, 496,
- 73, 0, 497,
- 74, 0, 498,
- 75, 0, 499,
- 76, 0, 500,
- 77, 0, 501,
- 78, 0, 502,
- 81, 0, 345,
- 82, 0, 503
+ -1, 3, 861,
+ 41, 0, 1013,
+ 47, 0, 342,
+ 53, 0, 486,
+ 64, 0, 487,
+ 65, 0, 488,
+ 66, 0, 489,
+ 67, 0, 490,
+ 68, 0, 491,
+ 69, 0, 492,
+ 70, 0, 493,
+ 71, 0, 494,
+ 72, 0, 495,
+ 73, 0, 496,
+ 74, 0, 497,
+ 75, 0, 498,
+ 76, 0, 499,
+ 77, 0, 500,
+ 78, 0, 501,
+ 81, 0, 343,
+ 82, 0, 502
};
-static int parser_action_row860[] = {
+static int parser_action_row863[] = {
3,
-1, 1, 78,
- 0, 1, 387,
- 1, 1, 387
+ 0, 1, 388,
+ 1, 1, 388
};
-static int parser_action_row861[] = {
+static int parser_action_row864[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row862[] = {
+static int parser_action_row865[] = {
2,
- -1, 1, 369,
- 9, 0, 1017
+ -1, 1, 370,
+ 9, 0, 1020
};
-static int parser_action_row863[] = {
+static int parser_action_row866[] = {
32,
- -1, 1, 358,
+ -1, 1, 359,
0, 0, 1,
1, 0, 2,
- 9, 0, 466,
+ 9, 0, 465,
12, 0, 26,
15, 0, 28,
16, 0, 29,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row864[] = {
+static int parser_action_row867[] = {
3,
- -1, 3, 863,
+ -1, 3, 866,
28, 0, 34,
94, 0, 56
};
-static int parser_action_row865[] = {
+static int parser_action_row868[] = {
1,
- -1, 1, 385
+ -1, 1, 386
};
-static int parser_action_row866[] = {
+static int parser_action_row869[] = {
2,
- -1, 3, 865,
- 81, 0, 1021
+ -1, 3, 868,
+ 81, 0, 1024
};
-static int parser_action_row867[] = {
+static int parser_action_row870[] = {
1,
- -1, 1, 798
+ -1, 1, 799
};
-static int parser_action_row868[] = {
+static int parser_action_row871[] = {
1,
- -1, 1, 800
+ -1, 1, 801
};
-static int parser_action_row869[] = {
+static int parser_action_row872[] = {
3,
- -1, 3, 868,
- 0, 0, 83,
- 1, 0, 84
+ -1, 3, 871,
+ 0, 0, 82,
+ 1, 0, 83
};
-static int parser_action_row870[] = {
+static int parser_action_row873[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row871[] = {
+static int parser_action_row874[] = {
1,
- -1, 1, 818
+ -1, 1, 819
};
-static int parser_action_row872[] = {
+static int parser_action_row875[] = {
6,
-1, 1, 42,
- 6, 0, 1027,
- 9, 0, 1028,
+ 6, 0, 1030,
+ 9, 0, 1031,
13, 0, 27,
- 41, 0, 1029,
- 82, 0, 1030
+ 41, 0, 1032,
+ 82, 0, 1033
};
-static int parser_action_row873[] = {
+static int parser_action_row876[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row874[] = {
+static int parser_action_row877[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row875[] = {
+static int parser_action_row878[] = {
5,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2,
28, 0, 34,
94, 0, 56
};
-static int parser_action_row876[] = {
+static int parser_action_row879[] = {
1,
- -1, 1, 365
+ -1, 1, 366
};
-static int parser_action_row877[] = {
+static int parser_action_row880[] = {
2,
- -1, 3, 876,
- 45, 0, 1043
+ -1, 3, 879,
+ 45, 0, 1046
};
-static int parser_action_row878[] = {
+static int parser_action_row881[] = {
4,
- -1, 3, 877,
- 31, 0, 1044,
- 47, 0, 344,
- 81, 0, 345
+ -1, 3, 880,
+ 31, 0, 1047,
+ 47, 0, 342,
+ 81, 0, 343
};
-static int parser_action_row879[] = {
+static int parser_action_row882[] = {
1,
-1, 1, 195
};
-static int parser_action_row880[] = {
+static int parser_action_row883[] = {
1,
-1, 1, 200
};
-static int parser_action_row881[] = {
+static int parser_action_row884[] = {
1,
-1, 1, 197
};
-static int parser_action_row882[] = {
+static int parser_action_row885[] = {
1,
-1, 1, 202
};
-static int parser_action_row883[] = {
+static int parser_action_row886[] = {
1,
-1, 1, 183
};
-static int parser_action_row884[] = {
+static int parser_action_row887[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row885[] = {
+static int parser_action_row888[] = {
1,
- -1, 1, 539
+ -1, 1, 540
};
-static int parser_action_row886[] = {
+static int parser_action_row889[] = {
2,
- -1, 3, 885,
- 45, 0, 1047
+ -1, 3, 888,
+ 45, 0, 1050
};
-static int parser_action_row887[] = {
+static int parser_action_row890[] = {
4,
- -1, 3, 886,
- 31, 0, 1048,
- 47, 0, 344,
- 81, 0, 345
+ -1, 3, 889,
+ 31, 0, 1051,
+ 47, 0, 342,
+ 81, 0, 343
};
-static int parser_action_row888[] = {
+static int parser_action_row891[] = {
3,
-1, 1, 152,
- 24, 1, 626,
- 49, 1, 725
+ 24, 1, 627,
+ 49, 1, 726
};
-static int parser_action_row889[] = {
+static int parser_action_row892[] = {
3,
-1, 1, 151,
- 24, 1, 625,
- 49, 1, 724
+ 24, 1, 626,
+ 49, 1, 725
};
-static int parser_action_row890[] = {
+static int parser_action_row893[] = {
2,
-1, 1, 207,
- 24, 1, 670
+ 24, 1, 671
};
-static int parser_action_row891[] = {
+static int parser_action_row894[] = {
3,
-1, 1, 191,
- 24, 1, 656,
- 58, 0, 1050
+ 24, 1, 657,
+ 58, 0, 1053
};
-static int parser_action_row892[] = {
+static int parser_action_row895[] = {
2,
-1, 1, 150,
- 56, 0, 292
+ 56, 0, 290
};
-static int parser_action_row893[] = {
+static int parser_action_row896[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row894[] = {
+static int parser_action_row897[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row895[] = {
+static int parser_action_row898[] = {
2,
-1, 1, 216,
- 24, 1, 673
+ 24, 1, 674
};
-static int parser_action_row896[] = {
+static int parser_action_row899[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row897[] = {
+static int parser_action_row900[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row898[] = {
+static int parser_action_row901[] = {
2,
- -1, 3, 897,
- 24, 0, 1056
+ -1, 3, 900,
+ 24, 0, 1059
};
-static int parser_action_row899[] = {
+static int parser_action_row902[] = {
32,
- -1, 1, 358,
+ -1, 1, 359,
0, 0, 1,
1, 0, 2,
- 9, 0, 1057,
- 12, 0, 662,
- 15, 0, 663,
- 16, 0, 664,
- 22, 0, 665,
- 25, 0, 667,
- 26, 0, 668,
- 27, 0, 669,
- 33, 0, 670,
- 34, 0, 671,
- 35, 0, 672,
- 36, 0, 673,
- 37, 0, 674,
+ 9, 0, 1060,
+ 12, 0, 664,
+ 15, 0, 665,
+ 16, 0, 666,
+ 22, 0, 667,
+ 25, 0, 669,
+ 26, 0, 670,
+ 27, 0, 671,
+ 33, 0, 672,
+ 34, 0, 673,
+ 35, 0, 674,
+ 36, 0, 675,
+ 37, 0, 676,
38, 0, 40,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 50, 0, 675,
+ 50, 0, 677,
51, 0, 46,
53, 0, 47,
81, 0, 48,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row900[] = {
+static int parser_action_row903[] = {
2,
- -1, 3, 899,
- 56, 0, 1060
+ -1, 3, 902,
+ 56, 0, 1063
};
-static int parser_action_row901[] = {
+static int parser_action_row904[] = {
5,
- -1, 1, 358,
- 12, 0, 1061,
+ -1, 1, 359,
+ 12, 0, 1064,
46, 0, 508,
81, 0, 48,
82, 0, 49
};
-static int parser_action_row902[] = {
+static int parser_action_row905[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row903[] = {
+static int parser_action_row906[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row904[] = {
+static int parser_action_row907[] = {
2,
-1, 1, 179,
- 24, 1, 646
+ 24, 1, 647
};
-static int parser_action_row905[] = {
+static int parser_action_row908[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row906[] = {
+static int parser_action_row909[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row907[] = {
+static int parser_action_row910[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row908[] = {
+static int parser_action_row911[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row909[] = {
+static int parser_action_row912[] = {
2,
-1, 1, 185,
- 24, 1, 652
+ 24, 1, 653
};
-static int parser_action_row910[] = {
+static int parser_action_row913[] = {
1,
-1, 1, 211
};
-static int parser_action_row911[] = {
+static int parser_action_row914[] = {
3,
- -1, 3, 910,
+ -1, 3, 913,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row912[] = {
+static int parser_action_row915[] = {
1,
-1, 1, 209
};
-static int parser_action_row913[] = {
+static int parser_action_row916[] = {
2,
-1, 1, 187,
- 24, 1, 654
+ 24, 1, 655
};
-static int parser_action_row914[] = {
+static int parser_action_row917[] = {
23,
-1, 1, 344,
- 12, 0, 107,
- 22, 0, 108,
- 31, 0, 109,
- 38, 0, 110,
- 40, 0, 111,
- 41, 1, 358,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 48, 0, 116,
- 51, 0, 385,
- 65, 0, 118,
+ 12, 0, 106,
+ 22, 0, 107,
+ 31, 0, 108,
+ 38, 0, 109,
+ 40, 0, 110,
+ 41, 1, 359,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 48, 0, 115,
+ 51, 0, 384,
+ 65, 0, 117,
81, 0, 48,
82, 0, 49,
- 83, 1, 358,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 83, 1, 359,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
-};
-static int parser_action_row915[] = {
- 2,
- -1, 3, 914,
- 28, 0, 1073
-};
-static int parser_action_row916[] = {
- 2,
- -1, 3, 915,
- 15, 0, 1074
-};
-static int parser_action_row917[] = {
- 3,
- -1, 1, 376,
- 0, 0, 1,
- 1, 0, 2
+ 91, 0, 122
};
static int parser_action_row918[] = {
2,
-1, 3, 917,
- 54, 0, 1076
+ 28, 0, 1076
};
static int parser_action_row919[] = {
- 3,
+ 2,
-1, 3, 918,
- 47, 0, 344,
- 81, 0, 345
+ 15, 0, 1077
};
static int parser_action_row920[] = {
- 1,
- -1, 1, 809
+ 3,
+ -1, 1, 377,
+ 0, 0, 1,
+ 1, 0, 2
};
static int parser_action_row921[] = {
2,
- -1, 1, 557,
- 80, 0, 471
+ -1, 3, 920,
+ 54, 0, 1079
};
static int parser_action_row922[] = {
- 2,
+ 3,
-1, 3, 921,
- 52, 0, 1079
+ 47, 0, 342,
+ 81, 0, 343
};
static int parser_action_row923[] = {
1,
- -1, 1, 558
+ -1, 1, 810
};
static int parser_action_row924[] = {
- 3,
- -1, 1, 376,
+ 2,
+ -1, 1, 558,
+ 80, 0, 470
+};
+static int parser_action_row925[] = {
+ 2,
+ -1, 3, 924,
+ 52, 0, 1082
+};
+static int parser_action_row926[] = {
+ 1,
+ -1, 1, 559
+};
+static int parser_action_row927[] = {
+ 3,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row925[] = {
+static int parser_action_row928[] = {
1,
-1, 1, 312
};
-static int parser_action_row926[] = {
+static int parser_action_row929[] = {
1,
-1, 1, 314
};
-static int parser_action_row927[] = {
+static int parser_action_row930[] = {
1,
-1, 1, 315
};
-static int parser_action_row928[] = {
+static int parser_action_row931[] = {
1,
-1, 1, 316
};
-static int parser_action_row929[] = {
+static int parser_action_row932[] = {
24,
- -1, 1, 732,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
- 41, 1, 358,
+ -1, 1, 733,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
+ 41, 1, 359,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
- 83, 1, 358,
+ 83, 1, 359,
84, 0, 50,
85, 0, 51,
86, 0, 52,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row930[] = {
- 2,
- -1, 1, 737,
- 49, 0, 175
-};
-static int parser_action_row931[] = {
- 2,
- -1, 1, 734,
- 49, 0, 175
-};
-static int parser_action_row932[] = {
- 1,
- -1, 1, 736
-};
static int parser_action_row933[] = {
2,
- -1, 3, 932,
- 11, 0, 1084
+ -1, 1, 738,
+ 49, 0, 174
};
static int parser_action_row934[] = {
- 4,
- -1, 1, 306,
- 53, 0, 478,
- 57, 0, 193,
- 80, 0, 184
+ 2,
+ -1, 1, 735,
+ 49, 0, 174
};
static int parser_action_row935[] = {
1,
- -1, 1, 331
+ -1, 1, 737
};
static int parser_action_row936[] = {
- 1,
- -1, 1, 730
+ 2,
+ -1, 3, 935,
+ 11, 0, 1087
};
static int parser_action_row937[] = {
- 1,
- -1, 1, 731
+ 4,
+ -1, 1, 306,
+ 53, 0, 477,
+ 57, 0, 192,
+ 80, 0, 183
};
static int parser_action_row938[] = {
1,
- -1, 1, 739
+ -1, 1, 331
};
static int parser_action_row939[] = {
1,
- -1, 1, 741
+ -1, 1, 731
};
static int parser_action_row940[] = {
1,
- -1, 1, 740
+ -1, 1, 732
};
static int parser_action_row941[] = {
1,
- -1, 1, 742
+ -1, 1, 740
};
static int parser_action_row942[] = {
1,
- -1, 1, 743
+ -1, 1, 742
};
static int parser_action_row943[] = {
1,
- -1, 1, 332
+ -1, 1, 741
};
static int parser_action_row944[] = {
+ 1,
+ -1, 1, 743
+};
+static int parser_action_row945[] = {
+ 1,
+ -1, 1, 744
+};
+static int parser_action_row946[] = {
+ 1,
+ -1, 1, 332
+};
+static int parser_action_row947[] = {
4,
-1, 1, 262,
- 53, 0, 209,
- 61, 0, 210,
- 63, 0, 1085
+ 53, 0, 208,
+ 61, 0, 209,
+ 63, 0, 1088
};
-static int parser_action_row945[] = {
+static int parser_action_row948[] = {
1,
-1, 1, 334
};
-static int parser_action_row946[] = {
+static int parser_action_row949[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row947[] = {
+static int parser_action_row950[] = {
2,
-1, 1, 328,
- 55, 0, 1087
+ 55, 0, 1090
};
-static int parser_action_row948[] = {
+static int parser_action_row951[] = {
3,
- -1, 3, 947,
- 41, 0, 330,
- 83, 0, 222
+ -1, 3, 950,
+ 41, 0, 328,
+ 83, 0, 220
};
-static int parser_action_row949[] = {
+static int parser_action_row952[] = {
2,
-1, 1, 340,
- 51, 0, 242
+ 51, 0, 240
};
-static int parser_action_row950[] = {
+static int parser_action_row953[] = {
1,
-1, 1, 333
};
-static int parser_action_row951[] = {
+static int parser_action_row954[] = {
2,
- -1, 3, 950,
- 54, 0, 1090
+ -1, 3, 953,
+ 54, 0, 1093
};
-static int parser_action_row952[] = {
+static int parser_action_row955[] = {
2,
-1, 1, 306,
- 80, 0, 184
+ 80, 0, 183
};
-static int parser_action_row953[] = {
+static int parser_action_row956[] = {
1,
- -1, 1, 348
+ -1, 1, 349
};
-static int parser_action_row954[] = {
+static int parser_action_row957[] = {
1,
- -1, 1, 435
+ -1, 1, 436
};
-static int parser_action_row955[] = {
+static int parser_action_row958[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row956[] = {
+static int parser_action_row959[] = {
20,
- -1, 1, 358,
- 12, 0, 816,
- 31, 0, 818,
- 38, 0, 819,
- 40, 0, 820,
- 42, 0, 821,
- 43, 0, 822,
- 44, 0, 823,
- 45, 0, 824,
- 48, 0, 825,
- 51, 0, 826,
- 65, 0, 827,
+ -1, 1, 359,
+ 12, 0, 819,
+ 31, 0, 821,
+ 38, 0, 822,
+ 40, 0, 823,
+ 42, 0, 824,
+ 43, 0, 825,
+ 44, 0, 826,
+ 45, 0, 827,
+ 48, 0, 828,
+ 51, 0, 829,
+ 65, 0, 830,
81, 0, 48,
82, 0, 49,
- 84, 0, 828,
- 85, 0, 829,
- 86, 0, 830,
- 87, 0, 831,
+ 84, 0, 831,
+ 85, 0, 832,
+ 86, 0, 833,
+ 87, 0, 834,
88, 0, 54,
- 91, 0, 832
+ 91, 0, 835
};
-static int parser_action_row957[] = {
+static int parser_action_row960[] = {
3,
- -1, 3, 956,
- 47, 0, 1094,
- 81, 0, 1095
+ -1, 3, 959,
+ 47, 0, 1097,
+ 81, 0, 1098
};
-static int parser_action_row958[] = {
+static int parser_action_row961[] = {
19,
- -1, 1, 358,
- 12, 0, 816,
- 38, 0, 819,
- 40, 0, 820,
- 42, 0, 821,
- 43, 0, 822,
- 44, 0, 823,
- 45, 0, 824,
- 48, 0, 825,
- 51, 0, 826,
- 65, 0, 827,
+ -1, 1, 359,
+ 12, 0, 819,
+ 38, 0, 822,
+ 40, 0, 823,
+ 42, 0, 824,
+ 43, 0, 825,
+ 44, 0, 826,
+ 45, 0, 827,
+ 48, 0, 828,
+ 51, 0, 829,
+ 65, 0, 830,
81, 0, 48,
82, 0, 49,
- 84, 0, 828,
- 85, 0, 829,
- 86, 0, 830,
- 87, 0, 831,
+ 84, 0, 831,
+ 85, 0, 832,
+ 86, 0, 833,
+ 87, 0, 834,
88, 0, 54,
- 91, 0, 832
-};
-static int parser_action_row959[] = {
- 1,
- -1, 1, 441
+ 91, 0, 835
};
-static int parser_action_row960[] = {
+static int parser_action_row962[] = {
1,
-1, 1, 442
};
-static int parser_action_row961[] = {
+static int parser_action_row963[] = {
1,
-1, 1, 443
};
-static int parser_action_row962[] = {
+static int parser_action_row964[] = {
1,
-1, 1, 444
};
-static int parser_action_row963[] = {
+static int parser_action_row965[] = {
+ 1,
+ -1, 1, 445
+};
+static int parser_action_row966[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row964[] = {
+static int parser_action_row967[] = {
3,
- -1, 3, 963,
- 41, 0, 972,
- 83, 0, 1099
+ -1, 3, 966,
+ 41, 0, 975,
+ 83, 0, 1102
};
-static int parser_action_row965[] = {
+static int parser_action_row968[] = {
3,
- -1, 3, 964,
- 61, 0, 995,
- 63, 0, 1100
+ -1, 3, 967,
+ 61, 0, 998,
+ 63, 0, 1103
};
-static int parser_action_row966[] = {
+static int parser_action_row969[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row967[] = {
+static int parser_action_row970[] = {
19,
- -1, 1, 358,
- 12, 0, 816,
- 38, 0, 819,
- 40, 0, 820,
- 42, 0, 821,
- 43, 0, 822,
- 44, 0, 823,
- 45, 0, 824,
- 48, 0, 825,
- 51, 0, 826,
- 65, 0, 827,
+ -1, 1, 359,
+ 12, 0, 819,
+ 38, 0, 822,
+ 40, 0, 823,
+ 42, 0, 824,
+ 43, 0, 825,
+ 44, 0, 826,
+ 45, 0, 827,
+ 48, 0, 828,
+ 51, 0, 829,
+ 65, 0, 830,
81, 0, 48,
82, 0, 49,
- 84, 0, 828,
- 85, 0, 829,
- 86, 0, 830,
- 87, 0, 831,
+ 84, 0, 831,
+ 85, 0, 832,
+ 86, 0, 833,
+ 87, 0, 834,
88, 0, 54,
- 91, 0, 832
-};
-static int parser_action_row968[] = {
- 1,
- -1, 1, 445
+ 91, 0, 835
};
-static int parser_action_row969[] = {
+static int parser_action_row971[] = {
1,
-1, 1, 446
};
-static int parser_action_row970[] = {
+static int parser_action_row972[] = {
1,
-1, 1, 447
};
-static int parser_action_row971[] = {
- 1,
- -1, 1, 449
-};
-static int parser_action_row972[] = {
+static int parser_action_row973[] = {
1,
-1, 1, 448
};
-static int parser_action_row973[] = {
- 2,
- -1, 1, 340,
- 51, 0, 242
-};
static int parser_action_row974[] = {
1,
- -1, 1, 430
+ -1, 1, 450
};
static int parser_action_row975[] = {
1,
- -1, 1, 432
+ -1, 1, 449
};
static int parser_action_row976[] = {
- 3,
- -1, 3, 975,
- 53, 0, 1104,
- 54, 0, 1105
+ 2,
+ -1, 1, 340,
+ 51, 0, 240
};
static int parser_action_row977[] = {
- 3,
- -1, 1, 376,
- 0, 0, 1,
- 1, 0, 2
+ 1,
+ -1, 1, 431
};
static int parser_action_row978[] = {
- 4,
- -1, 1, 376,
- 0, 0, 1,
- 1, 0, 2,
- 24, 0, 1107
+ 1,
+ -1, 1, 433
};
static int parser_action_row979[] = {
3,
- -1, 1, 376,
- 0, 0, 1,
- 1, 0, 2
+ -1, 3, 978,
+ 53, 0, 1107,
+ 54, 0, 1108
};
static int parser_action_row980[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row981[] = {
- 3,
- -1, 1, 376,
+ 4,
+ -1, 1, 377,
0, 0, 1,
- 1, 0, 2
+ 1, 0, 2,
+ 24, 0, 1110
};
static int parser_action_row982[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row983[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row984[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row985[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row986[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row987[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row988[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row989[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row990[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row991[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row992[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row993[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row994[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row995[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row996[] = {
- 1,
- -1, 1, 440
+ 3,
+ -1, 1, 377,
+ 0, 0, 1,
+ 1, 0, 2
};
static int parser_action_row997[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
static int parser_action_row998[] = {
- 2,
- -1, 1, 354,
- 57, 0, 194
+ 3,
+ -1, 1, 377,
+ 0, 0, 1,
+ 1, 0, 2
};
static int parser_action_row999[] = {
- 2,
- -1, 3, 998,
- 9, 0, 1127
+ 1,
+ -1, 1, 441
};
static int parser_action_row1000[] = {
- 1,
- -1, 1, 816
+ 3,
+ -1, 1, 377,
+ 0, 0, 1,
+ 1, 0, 2
};
static int parser_action_row1001[] = {
2,
+ -1, 1, 355,
+ 57, 0, 193
+};
+static int parser_action_row1002[] = {
+ 2,
+ -1, 3, 1001,
+ 9, 0, 1130
+};
+static int parser_action_row1003[] = {
+ 1,
+ -1, 1, 817
+};
+static int parser_action_row1004[] = {
+ 2,
-1, 1, 42,
13, 0, 27
};
-static int parser_action_row1002[] = {
+static int parser_action_row1005[] = {
8,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2,
4, 1, 317,
28, 1, 317,
94, 1, 317
};
-static int parser_action_row1003[] = {
+static int parser_action_row1006[] = {
2,
-1, 1, 113,
- 61, 0, 1130
+ 61, 0, 1133
};
-static int parser_action_row1004[] = {
+static int parser_action_row1007[] = {
2,
-1, 1, 305,
- 56, 0, 628
+ 56, 0, 629
};
-static int parser_action_row1005[] = {
+static int parser_action_row1008[] = {
1,
-1, 1, 112
};
-static int parser_action_row1006[] = {
+static int parser_action_row1009[] = {
4,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2,
- 56, 0, 628
+ 56, 0, 629
};
-static int parser_action_row1007[] = {
+static int parser_action_row1010[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1008[] = {
+static int parser_action_row1011[] = {
1,
- -1, 1, 804
+ -1, 1, 805
};
-static int parser_action_row1009[] = {
+static int parser_action_row1012[] = {
1,
-1, 1, 108
};
-static int parser_action_row1010[] = {
+static int parser_action_row1013[] = {
4,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2,
- 55, 0, 1006
+ 55, 0, 1009
};
-static int parser_action_row1011[] = {
+static int parser_action_row1014[] = {
1,
-1, 1, 123
};
-static int parser_action_row1012[] = {
+static int parser_action_row1015[] = {
1,
-1, 1, 124
};
-static int parser_action_row1013[] = {
+static int parser_action_row1016[] = {
2,
-1, 1, 117,
- 55, 0, 1137
+ 55, 0, 1140
};
-static int parser_action_row1014[] = {
+static int parser_action_row1017[] = {
1,
-1, 1, 121
};
-static int parser_action_row1015[] = {
+static int parser_action_row1018[] = {
1,
-1, 1, 122
};
-static int parser_action_row1016[] = {
+static int parser_action_row1019[] = {
2,
-1, 1, 126,
- 63, 0, 1140
+ 63, 0, 1143
};
-static int parser_action_row1017[] = {
+static int parser_action_row1020[] = {
2,
-1, 1, 79,
- 9, 0, 1141
+ 9, 0, 1144
};
-static int parser_action_row1018[] = {
+static int parser_action_row1021[] = {
1,
- -1, 1, 370
+ -1, 1, 371
};
-static int parser_action_row1019[] = {
+static int parser_action_row1022[] = {
1,
- -1, 1, 382
+ -1, 1, 383
};
-static int parser_action_row1020[] = {
+static int parser_action_row1023[] = {
2,
- -1, 1, 369,
- 9, 0, 1017
+ -1, 1, 370,
+ 9, 0, 1020
};
-static int parser_action_row1021[] = {
+static int parser_action_row1024[] = {
1,
- -1, 1, 386
+ -1, 1, 387
};
-static int parser_action_row1022[] = {
+static int parser_action_row1025[] = {
3,
-1, 1, 150,
- 56, 0, 292,
- 80, 0, 184
+ 56, 0, 290,
+ 80, 0, 183
};
-static int parser_action_row1023[] = {
+static int parser_action_row1026[] = {
4,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2,
- 55, 0, 1145
+ 55, 0, 1148
};
-static int parser_action_row1024[] = {
+static int parser_action_row1027[] = {
1,
-1, 1, 56
};
-static int parser_action_row1025[] = {
+static int parser_action_row1028[] = {
4,
-1, 1, 42,
- 9, 0, 1149,
+ 9, 0, 1152,
13, 0, 27,
- 41, 0, 1029
+ 41, 0, 1032
};
-static int parser_action_row1026[] = {
+static int parser_action_row1029[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1027[] = {
+static int parser_action_row1030[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1028[] = {
+static int parser_action_row1031[] = {
1,
- -1, 1, 791
+ -1, 1, 792
};
-static int parser_action_row1029[] = {
+static int parser_action_row1032[] = {
1,
-1, 1, 26
};
-static int parser_action_row1030[] = {
+static int parser_action_row1033[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1031[] = {
+static int parser_action_row1034[] = {
1,
- -1, 1, 790
+ -1, 1, 791
};
-static int parser_action_row1032[] = {
+static int parser_action_row1035[] = {
5,
-1, 1, 80,
- 18, 0, 200,
- 19, 0, 201,
- 20, 0, 202,
- 21, 0, 203
+ 18, 0, 199,
+ 19, 0, 200,
+ 20, 0, 201,
+ 21, 0, 202
};
-static int parser_action_row1033[] = {
+static int parser_action_row1036[] = {
36,
- -1, 1, 358,
- 0, 0, 83,
- 1, 0, 84,
- 12, 0, 107,
+ -1, 1, 359,
+ 0, 0, 82,
+ 1, 0, 83,
+ 12, 0, 106,
15, 0, 28,
16, 0, 29,
- 22, 0, 108,
+ 22, 0, 107,
25, 0, 31,
26, 0, 32,
27, 0, 33,
- 31, 0, 109,
- 33, 0, 1155,
- 34, 0, 1156,
- 35, 0, 1157,
- 36, 0, 1158,
+ 31, 0, 108,
+ 33, 0, 1158,
+ 34, 0, 1159,
+ 35, 0, 1160,
+ 36, 0, 1161,
37, 0, 39,
- 38, 0, 110,
- 40, 0, 111,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 47, 0, 344,
- 48, 0, 116,
- 50, 0, 1159,
- 51, 0, 1160,
- 65, 0, 118,
- 80, 0, 184,
- 81, 0, 933,
+ 38, 0, 109,
+ 40, 0, 110,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 47, 0, 342,
+ 48, 0, 115,
+ 50, 0, 1162,
+ 51, 0, 1163,
+ 65, 0, 117,
+ 80, 0, 183,
+ 81, 0, 936,
82, 0, 49,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
+ 91, 0, 122
};
-static int parser_action_row1034[] = {
+static int parser_action_row1037[] = {
1,
- -1, 1, 799
+ -1, 1, 800
};
-static int parser_action_row1035[] = {
+static int parser_action_row1038[] = {
4,
-1, 1, 42,
- 9, 0, 1178,
+ 9, 0, 1181,
13, 0, 27,
- 41, 0, 1029
+ 41, 0, 1032
};
-static int parser_action_row1036[] = {
+static int parser_action_row1039[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1037[] = {
+static int parser_action_row1040[] = {
1,
- -1, 1, 801
+ -1, 1, 802
};
-static int parser_action_row1038[] = {
+static int parser_action_row1041[] = {
3,
-1, 1, 42,
- 9, 0, 1180,
+ 9, 0, 1183,
13, 0, 27
};
-static int parser_action_row1039[] = {
+static int parser_action_row1042[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1040[] = {
+static int parser_action_row1043[] = {
1,
- -1, 1, 819
+ -1, 1, 820
};
-static int parser_action_row1041[] = {
+static int parser_action_row1044[] = {
6,
-1, 1, 42,
- 6, 0, 1027,
- 9, 0, 1184,
+ 6, 0, 1030,
+ 9, 0, 1187,
13, 0, 27,
- 41, 0, 1029,
- 82, 0, 1030
+ 41, 0, 1032,
+ 82, 0, 1033
};
-static int parser_action_row1042[] = {
+static int parser_action_row1045[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1043[] = {
+static int parser_action_row1046[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1044[] = {
+static int parser_action_row1047[] = {
1,
-1, 1, 278
};
-static int parser_action_row1045[] = {
+static int parser_action_row1048[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1046[] = {
+static int parser_action_row1049[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1047[] = {
+static int parser_action_row1050[] = {
2,
- -1, 3, 1046,
- 24, 0, 1190
+ -1, 3, 1049,
+ 24, 0, 1193
};
-static int parser_action_row1048[] = {
+static int parser_action_row1051[] = {
1,
- -1, 1, 542
+ -1, 1, 543
};
-static int parser_action_row1049[] = {
+static int parser_action_row1052[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1050[] = {
+static int parser_action_row1053[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1051[] = {
+static int parser_action_row1054[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1052[] = {
+static int parser_action_row1055[] = {
3,
-1, 1, 192,
- 24, 1, 657,
- 58, 0, 1194
+ 24, 1, 658,
+ 58, 0, 1197
};
-static int parser_action_row1053[] = {
+static int parser_action_row1056[] = {
2,
- -1, 3, 1052,
- 23, 0, 1195
+ -1, 3, 1055,
+ 23, 0, 1198
};
-static int parser_action_row1054[] = {
+static int parser_action_row1057[] = {
2,
- -1, 3, 1053,
- 15, 0, 1196
+ -1, 3, 1056,
+ 15, 0, 1199
};
-static int parser_action_row1055[] = {
+static int parser_action_row1058[] = {
2,
- -1, 3, 1054,
- 82, 0, 299
+ -1, 3, 1057,
+ 82, 0, 297
};
-static int parser_action_row1056[] = {
+static int parser_action_row1059[] = {
3,
- -1, 3, 1055,
- 28, 0, 1198,
+ -1, 3, 1058,
+ 28, 0, 1201,
55, 0, 566
};
-static int parser_action_row1057[] = {
+static int parser_action_row1060[] = {
32,
- -1, 1, 358,
+ -1, 1, 359,
0, 0, 1,
1, 0, 2,
- 9, 0, 1057,
- 12, 0, 662,
- 15, 0, 663,
- 16, 0, 664,
- 22, 0, 665,
- 25, 0, 667,
- 26, 0, 668,
- 27, 0, 669,
- 33, 0, 670,
- 34, 0, 671,
- 35, 0, 672,
- 36, 0, 673,
- 37, 0, 674,
+ 9, 0, 1060,
+ 12, 0, 664,
+ 15, 0, 665,
+ 16, 0, 666,
+ 22, 0, 667,
+ 25, 0, 669,
+ 26, 0, 670,
+ 27, 0, 671,
+ 33, 0, 672,
+ 34, 0, 673,
+ 35, 0, 674,
+ 36, 0, 675,
+ 37, 0, 676,
38, 0, 40,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 50, 0, 675,
+ 50, 0, 677,
51, 0, 46,
53, 0, 47,
81, 0, 48,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row1058[] = {
+static int parser_action_row1061[] = {
2,
-1, 1, 153,
- 24, 1, 627
+ 24, 1, 628
};
-static int parser_action_row1059[] = {
+static int parser_action_row1062[] = {
30,
- -1, 1, 358,
- 9, 0, 1200,
+ -1, 1, 359,
+ 9, 0, 1203,
12, 0, 26,
15, 0, 28,
16, 0, 29,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row1060[] = {
+static int parser_action_row1063[] = {
1,
- -1, 1, 681
+ -1, 1, 682
};
-static int parser_action_row1061[] = {
+static int parser_action_row1064[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row1062[] = {
+static int parser_action_row1065[] = {
26,
-1, 1, 344,
- 12, 0, 107,
- 22, 0, 108,
- 31, 0, 109,
- 38, 0, 110,
- 40, 0, 111,
- 41, 1, 358,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 48, 0, 116,
- 51, 0, 117,
+ 12, 0, 106,
+ 22, 0, 107,
+ 31, 0, 108,
+ 38, 0, 109,
+ 40, 0, 110,
+ 41, 1, 359,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 48, 0, 115,
+ 51, 0, 116,
53, 1, 340,
61, 1, 340,
63, 1, 340,
- 65, 0, 118,
+ 65, 0, 117,
81, 0, 48,
82, 0, 49,
- 83, 1, 358,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 83, 1, 359,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
+ 91, 0, 122
};
-static int parser_action_row1063[] = {
+static int parser_action_row1066[] = {
2,
- -1, 3, 1062,
- 83, 0, 1204
+ -1, 3, 1065,
+ 83, 0, 1207
};
-static int parser_action_row1064[] = {
+static int parser_action_row1067[] = {
29,
-1, 1, 344,
- 12, 0, 107,
- 22, 0, 108,
- 31, 0, 109,
- 38, 0, 110,
- 40, 0, 111,
- 41, 1, 358,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 48, 0, 116,
- 51, 0, 117,
+ 12, 0, 106,
+ 22, 0, 107,
+ 31, 0, 108,
+ 38, 0, 109,
+ 40, 0, 110,
+ 41, 1, 359,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 48, 0, 115,
+ 51, 0, 116,
53, 1, 340,
58, 1, 340,
59, 1, 340,
60, 1, 340,
61, 1, 340,
63, 1, 340,
- 65, 0, 118,
+ 65, 0, 117,
81, 0, 48,
82, 0, 49,
- 83, 1, 358,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 83, 1, 359,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
+ 91, 0, 122
};
-static int parser_action_row1065[] = {
+static int parser_action_row1068[] = {
3,
- -1, 1, 355,
- 12, 0, 1207,
- 82, 0, 226
+ -1, 1, 356,
+ 12, 0, 1210,
+ 82, 0, 224
};
-static int parser_action_row1066[] = {
+static int parser_action_row1069[] = {
4,
- -1, 1, 357,
- 12, 0, 1208,
+ -1, 1, 358,
+ 12, 0, 1211,
81, 0, 48,
- 82, 0, 228
+ 82, 0, 226
};
-static int parser_action_row1067[] = {
+static int parser_action_row1070[] = {
1,
- -1, 1, 664
+ -1, 1, 665
};
-static int parser_action_row1068[] = {
+static int parser_action_row1071[] = {
1,
- -1, 1, 669
+ -1, 1, 670
};
-static int parser_action_row1069[] = {
+static int parser_action_row1072[] = {
1,
- -1, 1, 661
+ -1, 1, 662
};
-static int parser_action_row1070[] = {
+static int parser_action_row1073[] = {
1,
- -1, 1, 666
+ -1, 1, 667
};
-static int parser_action_row1071[] = {
+static int parser_action_row1074[] = {
1,
- -1, 1, 663
+ -1, 1, 664
};
-static int parser_action_row1072[] = {
+static int parser_action_row1075[] = {
1,
- -1, 1, 668
+ -1, 1, 669
};
-static int parser_action_row1073[] = {
+static int parser_action_row1076[] = {
2,
-1, 1, 186,
- 24, 1, 653
+ 24, 1, 654
};
-static int parser_action_row1074[] = {
+static int parser_action_row1077[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1075[] = {
+static int parser_action_row1078[] = {
32,
- -1, 1, 358,
+ -1, 1, 359,
0, 0, 1,
1, 0, 2,
- 9, 0, 142,
+ 9, 0, 141,
12, 0, 26,
15, 0, 28,
16, 0, 29,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row1076[] = {
+static int parser_action_row1079[] = {
2,
- -1, 3, 1075,
- 24, 0, 1213
+ -1, 3, 1078,
+ 24, 0, 1216
};
-static int parser_action_row1077[] = {
+static int parser_action_row1080[] = {
2,
- -1, 1, 557,
- 80, 0, 471
+ -1, 1, 558,
+ 80, 0, 470
};
-static int parser_action_row1078[] = {
+static int parser_action_row1081[] = {
1,
-1, 1, 147
};
-static int parser_action_row1079[] = {
+static int parser_action_row1082[] = {
1,
- -1, 1, 454
+ -1, 1, 455
};
-static int parser_action_row1080[] = {
+static int parser_action_row1083[] = {
1,
- -1, 1, 555
+ -1, 1, 556
};
-static int parser_action_row1081[] = {
+static int parser_action_row1084[] = {
35,
- -1, 1, 358,
- 12, 0, 155,
+ -1, 1, 359,
+ 12, 0, 154,
15, 0, 28,
16, 0, 29,
- 22, 0, 156,
+ 22, 0, 155,
25, 0, 31,
26, 0, 32,
27, 0, 33,
- 31, 0, 157,
- 33, 0, 928,
- 34, 0, 929,
- 35, 0, 930,
- 36, 0, 931,
+ 31, 0, 156,
+ 33, 0, 931,
+ 34, 0, 932,
+ 35, 0, 933,
+ 36, 0, 934,
37, 0, 39,
- 38, 0, 158,
- 40, 0, 159,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 47, 0, 344,
- 48, 0, 160,
- 50, 0, 932,
+ 47, 0, 342,
+ 48, 0, 159,
+ 50, 0, 935,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
- 80, 0, 184,
- 81, 0, 933,
+ 65, 0, 160,
+ 80, 0, 183,
+ 81, 0, 936,
82, 0, 49,
84, 0, 50,
85, 0, 51,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row1082[] = {
+static int parser_action_row1085[] = {
1,
- -1, 1, 733
+ -1, 1, 734
};
-static int parser_action_row1083[] = {
+static int parser_action_row1086[] = {
1,
- -1, 1, 738
+ -1, 1, 739
};
-static int parser_action_row1084[] = {
+static int parser_action_row1087[] = {
1,
- -1, 1, 735
+ -1, 1, 736
};
-static int parser_action_row1085[] = {
+static int parser_action_row1088[] = {
3,
- -1, 3, 1084,
- 47, 0, 344,
- 81, 0, 345
+ -1, 3, 1087,
+ 47, 0, 342,
+ 81, 0, 343
};
-static int parser_action_row1086[] = {
+static int parser_action_row1089[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1087[] = {
+static int parser_action_row1090[] = {
2,
- -1, 3, 1086,
- 52, 0, 1218
+ -1, 3, 1089,
+ 52, 0, 1221
};
-static int parser_action_row1088[] = {
+static int parser_action_row1091[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1089[] = {
+static int parser_action_row1092[] = {
1,
- -1, 1, 820
+ -1, 1, 821
};
-static int parser_action_row1090[] = {
+static int parser_action_row1093[] = {
2,
-1, 1, 329,
- 55, 0, 1087
+ 55, 0, 1090
};
-static int parser_action_row1091[] = {
+static int parser_action_row1094[] = {
2,
-1, 1, 306,
- 80, 0, 184
+ 80, 0, 183
};
-static int parser_action_row1092[] = {
+static int parser_action_row1095[] = {
1,
-1, 1, 143
};
-static int parser_action_row1093[] = {
+static int parser_action_row1096[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1094[] = {
+static int parser_action_row1097[] = {
1,
- -1, 1, 400
+ -1, 1, 401
};
-static int parser_action_row1095[] = {
+static int parser_action_row1098[] = {
2,
- -1, 3, 1094,
- 81, 0, 1223
+ -1, 3, 1097,
+ 81, 0, 1226
};
-static int parser_action_row1096[] = {
+static int parser_action_row1099[] = {
2,
- -1, 1, 557,
- 80, 0, 471
+ -1, 1, 558,
+ 80, 0, 470
};
-static int parser_action_row1097[] = {
+static int parser_action_row1100[] = {
3,
-1, 1, 340,
- 51, 0, 242,
- 63, 0, 1225
+ 51, 0, 240,
+ 63, 0, 1228
};
-static int parser_action_row1098[] = {
+static int parser_action_row1101[] = {
1,
- -1, 1, 423
+ -1, 1, 424
};
-static int parser_action_row1099[] = {
+static int parser_action_row1102[] = {
3,
- -1, 3, 1098,
- 47, 0, 1094,
- 81, 0, 1095
+ -1, 3, 1101,
+ 47, 0, 1097,
+ 81, 0, 1098
};
-static int parser_action_row1100[] = {
+static int parser_action_row1103[] = {
3,
- -1, 1, 427,
- 61, 1, 430,
- 63, 1, 430
+ -1, 1, 428,
+ 61, 1, 431,
+ 63, 1, 431
};
-static int parser_action_row1101[] = {
+static int parser_action_row1104[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1102[] = {
+static int parser_action_row1105[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1103[] = {
+static int parser_action_row1106[] = {
1,
- -1, 1, 422
+ -1, 1, 423
};
-static int parser_action_row1104[] = {
+static int parser_action_row1107[] = {
1,
- -1, 1, 433
+ -1, 1, 434
};
-static int parser_action_row1105[] = {
+static int parser_action_row1108[] = {
2,
-1, 1, 306,
- 80, 0, 184
+ 80, 0, 183
};
-static int parser_action_row1106[] = {
+static int parser_action_row1109[] = {
2,
-1, 1, 306,
- 80, 0, 184
+ 80, 0, 183
};
-static int parser_action_row1107[] = {
+static int parser_action_row1110[] = {
20,
- -1, 1, 358,
- 12, 0, 816,
- 31, 0, 818,
- 38, 0, 819,
- 40, 0, 820,
- 42, 0, 821,
- 43, 0, 822,
- 44, 0, 823,
- 45, 0, 824,
- 48, 0, 825,
- 51, 0, 826,
- 65, 0, 827,
+ -1, 1, 359,
+ 12, 0, 819,
+ 31, 0, 821,
+ 38, 0, 822,
+ 40, 0, 823,
+ 42, 0, 824,
+ 43, 0, 825,
+ 44, 0, 826,
+ 45, 0, 827,
+ 48, 0, 828,
+ 51, 0, 829,
+ 65, 0, 830,
81, 0, 48,
82, 0, 49,
- 84, 0, 828,
- 85, 0, 829,
- 86, 0, 830,
- 87, 0, 831,
+ 84, 0, 831,
+ 85, 0, 832,
+ 86, 0, 833,
+ 87, 0, 834,
88, 0, 54,
- 91, 0, 832
+ 91, 0, 835
};
-static int parser_action_row1108[] = {
+static int parser_action_row1111[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1109[] = {
+static int parser_action_row1112[] = {
20,
- -1, 1, 358,
- 12, 0, 816,
- 31, 0, 818,
- 38, 0, 819,
- 40, 0, 820,
- 42, 0, 821,
- 43, 0, 822,
- 44, 0, 823,
- 45, 0, 824,
- 48, 0, 825,
- 51, 0, 826,
- 65, 0, 827,
+ -1, 1, 359,
+ 12, 0, 819,
+ 31, 0, 821,
+ 38, 0, 822,
+ 40, 0, 823,
+ 42, 0, 824,
+ 43, 0, 825,
+ 44, 0, 826,
+ 45, 0, 827,
+ 48, 0, 828,
+ 51, 0, 829,
+ 65, 0, 830,
81, 0, 48,
82, 0, 49,
- 84, 0, 828,
- 85, 0, 829,
- 86, 0, 830,
- 87, 0, 831,
+ 84, 0, 831,
+ 85, 0, 832,
+ 86, 0, 833,
+ 87, 0, 834,
88, 0, 54,
- 91, 0, 832
+ 91, 0, 835
};
-static int parser_action_row1110[] = {
+static int parser_action_row1113[] = {
20,
- -1, 1, 358,
- 12, 0, 816,
- 31, 0, 818,
- 38, 0, 819,
- 40, 0, 820,
- 42, 0, 821,
- 43, 0, 822,
- 44, 0, 823,
- 45, 0, 824,
- 48, 0, 825,
- 51, 0, 826,
- 65, 0, 827,
+ -1, 1, 359,
+ 12, 0, 819,
+ 31, 0, 821,
+ 38, 0, 822,
+ 40, 0, 823,
+ 42, 0, 824,
+ 43, 0, 825,
+ 44, 0, 826,
+ 45, 0, 827,
+ 48, 0, 828,
+ 51, 0, 829,
+ 65, 0, 830,
81, 0, 48,
82, 0, 49,
- 84, 0, 828,
- 85, 0, 829,
- 86, 0, 830,
- 87, 0, 831,
+ 84, 0, 831,
+ 85, 0, 832,
+ 86, 0, 833,
+ 87, 0, 834,
88, 0, 54,
- 91, 0, 832
+ 91, 0, 835
};
-static int parser_action_row1111[] = {
+static int parser_action_row1114[] = {
19,
- -1, 1, 358,
- 12, 0, 816,
- 38, 0, 819,
- 40, 0, 820,
- 42, 0, 821,
- 43, 0, 822,
- 44, 0, 823,
- 45, 0, 824,
- 48, 0, 825,
- 51, 0, 826,
- 65, 0, 827,
+ -1, 1, 359,
+ 12, 0, 819,
+ 38, 0, 822,
+ 40, 0, 823,
+ 42, 0, 824,
+ 43, 0, 825,
+ 44, 0, 826,
+ 45, 0, 827,
+ 48, 0, 828,
+ 51, 0, 829,
+ 65, 0, 830,
81, 0, 48,
82, 0, 49,
- 84, 0, 828,
- 85, 0, 829,
- 86, 0, 830,
- 87, 0, 831,
+ 84, 0, 831,
+ 85, 0, 832,
+ 86, 0, 833,
+ 87, 0, 834,
88, 0, 54,
- 91, 0, 832
+ 91, 0, 835
};
-static int parser_action_row1112[] = {
+static int parser_action_row1115[] = {
19,
- -1, 1, 358,
- 12, 0, 816,
- 38, 0, 819,
- 40, 0, 820,
- 42, 0, 821,
- 43, 0, 822,
- 44, 0, 823,
- 45, 0, 824,
- 48, 0, 825,
- 51, 0, 826,
- 65, 0, 827,
+ -1, 1, 359,
+ 12, 0, 819,
+ 38, 0, 822,
+ 40, 0, 823,
+ 42, 0, 824,
+ 43, 0, 825,
+ 44, 0, 826,
+ 45, 0, 827,
+ 48, 0, 828,
+ 51, 0, 829,
+ 65, 0, 830,
81, 0, 48,
82, 0, 49,
- 84, 0, 828,
- 85, 0, 829,
- 86, 0, 830,
- 87, 0, 831,
+ 84, 0, 831,
+ 85, 0, 832,
+ 86, 0, 833,
+ 87, 0, 834,
88, 0, 54,
- 91, 0, 832
+ 91, 0, 835
};
-static int parser_action_row1113[] = {
+static int parser_action_row1116[] = {
3,
- -1, 3, 1112,
- 47, 0, 1238,
- 81, 0, 1239
+ -1, 3, 1115,
+ 47, 0, 1241,
+ 81, 0, 1242
};
-static int parser_action_row1114[] = {
+static int parser_action_row1117[] = {
19,
- -1, 1, 358,
- 12, 0, 816,
- 38, 0, 819,
- 40, 0, 820,
- 42, 0, 821,
- 43, 0, 822,
- 44, 0, 823,
- 45, 0, 824,
- 48, 0, 825,
- 51, 0, 826,
- 65, 0, 827,
+ -1, 1, 359,
+ 12, 0, 819,
+ 38, 0, 822,
+ 40, 0, 823,
+ 42, 0, 824,
+ 43, 0, 825,
+ 44, 0, 826,
+ 45, 0, 827,
+ 48, 0, 828,
+ 51, 0, 829,
+ 65, 0, 830,
81, 0, 48,
82, 0, 49,
- 84, 0, 828,
- 85, 0, 829,
- 86, 0, 830,
- 87, 0, 831,
+ 84, 0, 831,
+ 85, 0, 832,
+ 86, 0, 833,
+ 87, 0, 834,
88, 0, 54,
- 91, 0, 832
+ 91, 0, 835
};
-static int parser_action_row1115[] = {
+static int parser_action_row1118[] = {
19,
- -1, 1, 358,
- 12, 0, 816,
- 38, 0, 819,
- 40, 0, 820,
- 42, 0, 821,
- 43, 0, 822,
- 44, 0, 823,
- 45, 0, 824,
- 48, 0, 825,
- 51, 0, 826,
- 65, 0, 827,
+ -1, 1, 359,
+ 12, 0, 819,
+ 38, 0, 822,
+ 40, 0, 823,
+ 42, 0, 824,
+ 43, 0, 825,
+ 44, 0, 826,
+ 45, 0, 827,
+ 48, 0, 828,
+ 51, 0, 829,
+ 65, 0, 830,
81, 0, 48,
82, 0, 49,
- 84, 0, 828,
- 85, 0, 829,
- 86, 0, 830,
- 87, 0, 831,
+ 84, 0, 831,
+ 85, 0, 832,
+ 86, 0, 833,
+ 87, 0, 834,
88, 0, 54,
- 91, 0, 832
+ 91, 0, 835
};
-static int parser_action_row1116[] = {
+static int parser_action_row1119[] = {
19,
- -1, 1, 358,
- 12, 0, 816,
- 38, 0, 819,
- 40, 0, 820,
- 42, 0, 821,
- 43, 0, 822,
- 44, 0, 823,
- 45, 0, 824,
- 48, 0, 825,
- 51, 0, 826,
- 65, 0, 827,
+ -1, 1, 359,
+ 12, 0, 819,
+ 38, 0, 822,
+ 40, 0, 823,
+ 42, 0, 824,
+ 43, 0, 825,
+ 44, 0, 826,
+ 45, 0, 827,
+ 48, 0, 828,
+ 51, 0, 829,
+ 65, 0, 830,
81, 0, 48,
82, 0, 49,
- 84, 0, 828,
- 85, 0, 829,
- 86, 0, 830,
- 87, 0, 831,
+ 84, 0, 831,
+ 85, 0, 832,
+ 86, 0, 833,
+ 87, 0, 834,
88, 0, 54,
- 91, 0, 832
+ 91, 0, 835
};
-static int parser_action_row1117[] = {
+static int parser_action_row1120[] = {
19,
- -1, 1, 358,
- 12, 0, 816,
- 38, 0, 819,
- 40, 0, 820,
- 42, 0, 821,
- 43, 0, 822,
- 44, 0, 823,
- 45, 0, 824,
- 48, 0, 825,
- 51, 0, 826,
- 65, 0, 827,
+ -1, 1, 359,
+ 12, 0, 819,
+ 38, 0, 822,
+ 40, 0, 823,
+ 42, 0, 824,
+ 43, 0, 825,
+ 44, 0, 826,
+ 45, 0, 827,
+ 48, 0, 828,
+ 51, 0, 829,
+ 65, 0, 830,
81, 0, 48,
82, 0, 49,
- 84, 0, 828,
- 85, 0, 829,
- 86, 0, 830,
- 87, 0, 831,
+ 84, 0, 831,
+ 85, 0, 832,
+ 86, 0, 833,
+ 87, 0, 834,
88, 0, 54,
- 91, 0, 832
+ 91, 0, 835
};
-static int parser_action_row1118[] = {
+static int parser_action_row1121[] = {
19,
- -1, 1, 358,
- 12, 0, 816,
- 38, 0, 819,
- 40, 0, 820,
- 42, 0, 821,
- 43, 0, 822,
- 44, 0, 823,
- 45, 0, 824,
- 48, 0, 825,
- 51, 0, 826,
- 65, 0, 827,
+ -1, 1, 359,
+ 12, 0, 819,
+ 38, 0, 822,
+ 40, 0, 823,
+ 42, 0, 824,
+ 43, 0, 825,
+ 44, 0, 826,
+ 45, 0, 827,
+ 48, 0, 828,
+ 51, 0, 829,
+ 65, 0, 830,
81, 0, 48,
82, 0, 49,
- 84, 0, 828,
- 85, 0, 829,
- 86, 0, 830,
- 87, 0, 831,
+ 84, 0, 831,
+ 85, 0, 832,
+ 86, 0, 833,
+ 87, 0, 834,
88, 0, 54,
- 91, 0, 832
+ 91, 0, 835
};
-static int parser_action_row1119[] = {
+static int parser_action_row1122[] = {
19,
- -1, 1, 358,
- 12, 0, 816,
- 38, 0, 819,
- 40, 0, 820,
- 42, 0, 821,
- 43, 0, 822,
- 44, 0, 823,
- 45, 0, 824,
- 48, 0, 825,
- 51, 0, 826,
- 65, 0, 827,
+ -1, 1, 359,
+ 12, 0, 819,
+ 38, 0, 822,
+ 40, 0, 823,
+ 42, 0, 824,
+ 43, 0, 825,
+ 44, 0, 826,
+ 45, 0, 827,
+ 48, 0, 828,
+ 51, 0, 829,
+ 65, 0, 830,
81, 0, 48,
82, 0, 49,
- 84, 0, 828,
- 85, 0, 829,
- 86, 0, 830,
- 87, 0, 831,
+ 84, 0, 831,
+ 85, 0, 832,
+ 86, 0, 833,
+ 87, 0, 834,
88, 0, 54,
- 91, 0, 832
+ 91, 0, 835
};
-static int parser_action_row1120[] = {
+static int parser_action_row1123[] = {
19,
- -1, 1, 358,
- 12, 0, 816,
- 38, 0, 819,
- 40, 0, 820,
- 42, 0, 821,
- 43, 0, 822,
- 44, 0, 823,
- 45, 0, 824,
- 48, 0, 825,
- 51, 0, 826,
- 65, 0, 827,
+ -1, 1, 359,
+ 12, 0, 819,
+ 38, 0, 822,
+ 40, 0, 823,
+ 42, 0, 824,
+ 43, 0, 825,
+ 44, 0, 826,
+ 45, 0, 827,
+ 48, 0, 828,
+ 51, 0, 829,
+ 65, 0, 830,
81, 0, 48,
82, 0, 49,
- 84, 0, 828,
- 85, 0, 829,
- 86, 0, 830,
- 87, 0, 831,
+ 84, 0, 831,
+ 85, 0, 832,
+ 86, 0, 833,
+ 87, 0, 834,
88, 0, 54,
- 91, 0, 832
+ 91, 0, 835
};
-static int parser_action_row1121[] = {
+static int parser_action_row1124[] = {
19,
- -1, 1, 358,
- 12, 0, 816,
- 38, 0, 819,
- 40, 0, 820,
- 42, 0, 821,
- 43, 0, 822,
- 44, 0, 823,
- 45, 0, 824,
- 48, 0, 825,
- 51, 0, 826,
- 65, 0, 827,
+ -1, 1, 359,
+ 12, 0, 819,
+ 38, 0, 822,
+ 40, 0, 823,
+ 42, 0, 824,
+ 43, 0, 825,
+ 44, 0, 826,
+ 45, 0, 827,
+ 48, 0, 828,
+ 51, 0, 829,
+ 65, 0, 830,
81, 0, 48,
82, 0, 49,
- 84, 0, 828,
- 85, 0, 829,
- 86, 0, 830,
- 87, 0, 831,
+ 84, 0, 831,
+ 85, 0, 832,
+ 86, 0, 833,
+ 87, 0, 834,
88, 0, 54,
- 91, 0, 832
+ 91, 0, 835
};
-static int parser_action_row1122[] = {
+static int parser_action_row1125[] = {
19,
- -1, 1, 358,
- 12, 0, 816,
- 38, 0, 819,
- 40, 0, 820,
- 42, 0, 821,
- 43, 0, 822,
- 44, 0, 823,
- 45, 0, 824,
- 48, 0, 825,
- 51, 0, 826,
- 65, 0, 827,
+ -1, 1, 359,
+ 12, 0, 819,
+ 38, 0, 822,
+ 40, 0, 823,
+ 42, 0, 824,
+ 43, 0, 825,
+ 44, 0, 826,
+ 45, 0, 827,
+ 48, 0, 828,
+ 51, 0, 829,
+ 65, 0, 830,
81, 0, 48,
82, 0, 49,
- 84, 0, 828,
- 85, 0, 829,
- 86, 0, 830,
- 87, 0, 831,
+ 84, 0, 831,
+ 85, 0, 832,
+ 86, 0, 833,
+ 87, 0, 834,
88, 0, 54,
- 91, 0, 832
+ 91, 0, 835
};
-static int parser_action_row1123[] = {
+static int parser_action_row1126[] = {
19,
- -1, 1, 358,
- 12, 0, 816,
- 38, 0, 819,
- 40, 0, 820,
- 42, 0, 821,
- 43, 0, 822,
- 44, 0, 823,
- 45, 0, 824,
- 48, 0, 825,
- 51, 0, 826,
- 65, 0, 827,
+ -1, 1, 359,
+ 12, 0, 819,
+ 38, 0, 822,
+ 40, 0, 823,
+ 42, 0, 824,
+ 43, 0, 825,
+ 44, 0, 826,
+ 45, 0, 827,
+ 48, 0, 828,
+ 51, 0, 829,
+ 65, 0, 830,
81, 0, 48,
82, 0, 49,
- 84, 0, 828,
- 85, 0, 829,
- 86, 0, 830,
- 87, 0, 831,
+ 84, 0, 831,
+ 85, 0, 832,
+ 86, 0, 833,
+ 87, 0, 834,
88, 0, 54,
- 91, 0, 832
+ 91, 0, 835
};
-static int parser_action_row1124[] = {
+static int parser_action_row1127[] = {
19,
- -1, 1, 358,
- 12, 0, 816,
- 38, 0, 819,
- 40, 0, 820,
- 42, 0, 821,
- 43, 0, 822,
- 44, 0, 823,
- 45, 0, 824,
- 48, 0, 825,
- 51, 0, 826,
- 65, 0, 827,
+ -1, 1, 359,
+ 12, 0, 819,
+ 38, 0, 822,
+ 40, 0, 823,
+ 42, 0, 824,
+ 43, 0, 825,
+ 44, 0, 826,
+ 45, 0, 827,
+ 48, 0, 828,
+ 51, 0, 829,
+ 65, 0, 830,
81, 0, 48,
82, 0, 49,
- 84, 0, 828,
- 85, 0, 829,
- 86, 0, 830,
- 87, 0, 831,
+ 84, 0, 831,
+ 85, 0, 832,
+ 86, 0, 833,
+ 87, 0, 834,
88, 0, 54,
- 91, 0, 832
+ 91, 0, 835
};
-static int parser_action_row1125[] = {
+static int parser_action_row1128[] = {
19,
- -1, 1, 358,
- 12, 0, 816,
- 38, 0, 819,
- 40, 0, 820,
- 42, 0, 821,
- 43, 0, 822,
- 44, 0, 823,
- 45, 0, 824,
- 48, 0, 825,
- 51, 0, 826,
- 65, 0, 827,
+ -1, 1, 359,
+ 12, 0, 819,
+ 38, 0, 822,
+ 40, 0, 823,
+ 42, 0, 824,
+ 43, 0, 825,
+ 44, 0, 826,
+ 45, 0, 827,
+ 48, 0, 828,
+ 51, 0, 829,
+ 65, 0, 830,
81, 0, 48,
82, 0, 49,
- 84, 0, 828,
- 85, 0, 829,
- 86, 0, 830,
- 87, 0, 831,
+ 84, 0, 831,
+ 85, 0, 832,
+ 86, 0, 833,
+ 87, 0, 834,
88, 0, 54,
- 91, 0, 832
+ 91, 0, 835
};
-static int parser_action_row1126[] = {
+static int parser_action_row1129[] = {
19,
- -1, 1, 358,
- 12, 0, 816,
- 38, 0, 819,
- 40, 0, 820,
- 42, 0, 821,
- 43, 0, 822,
- 44, 0, 823,
- 45, 0, 824,
- 48, 0, 825,
- 51, 0, 826,
- 65, 0, 827,
+ -1, 1, 359,
+ 12, 0, 819,
+ 38, 0, 822,
+ 40, 0, 823,
+ 42, 0, 824,
+ 43, 0, 825,
+ 44, 0, 826,
+ 45, 0, 827,
+ 48, 0, 828,
+ 51, 0, 829,
+ 65, 0, 830,
81, 0, 48,
82, 0, 49,
- 84, 0, 828,
- 85, 0, 829,
- 86, 0, 830,
- 87, 0, 831,
+ 84, 0, 831,
+ 85, 0, 832,
+ 86, 0, 833,
+ 87, 0, 834,
88, 0, 54,
- 91, 0, 832
+ 91, 0, 835
};
-static int parser_action_row1127[] = {
+static int parser_action_row1130[] = {
5,
- -1, 1, 358,
- 12, 0, 1254,
- 46, 0, 1255,
+ -1, 1, 359,
+ 12, 0, 1257,
+ 46, 0, 1258,
81, 0, 48,
82, 0, 49
};
-static int parser_action_row1128[] = {
+static int parser_action_row1131[] = {
1,
-1, 1, 76
};
-static int parser_action_row1129[] = {
+static int parser_action_row1132[] = {
5,
-1, 1, 80,
- 18, 0, 200,
- 19, 0, 201,
- 20, 0, 202,
- 21, 0, 203
+ 18, 0, 199,
+ 19, 0, 200,
+ 20, 0, 201,
+ 21, 0, 202
};
-static int parser_action_row1130[] = {
+static int parser_action_row1133[] = {
1,
- -1, 1, 817
+ -1, 1, 818
};
-static int parser_action_row1131[] = {
+static int parser_action_row1134[] = {
1,
-1, 1, 115
};
-static int parser_action_row1132[] = {
+static int parser_action_row1135[] = {
2,
-1, 1, 114,
- 61, 0, 1259
+ 61, 0, 1262
};
-static int parser_action_row1133[] = {
+static int parser_action_row1136[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1134[] = {
+static int parser_action_row1137[] = {
1,
-1, 1, 105
};
-static int parser_action_row1135[] = {
+static int parser_action_row1138[] = {
2,
- -1, 3, 1134,
- 82, 0, 854
+ -1, 3, 1137,
+ 82, 0, 857
};
-static int parser_action_row1136[] = {
+static int parser_action_row1139[] = {
1,
- -1, 1, 805
+ -1, 1, 806
};
-static int parser_action_row1137[] = {
+static int parser_action_row1140[] = {
1,
-1, 1, 109
};
-static int parser_action_row1138[] = {
+static int parser_action_row1141[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1139[] = {
+static int parser_action_row1142[] = {
1,
- -1, 1, 806
+ -1, 1, 807
};
-static int parser_action_row1140[] = {
+static int parser_action_row1143[] = {
2,
-1, 1, 118,
- 55, 0, 1137
+ 55, 0, 1140
};
-static int parser_action_row1141[] = {
+static int parser_action_row1144[] = {
19,
- -1, 3, 1140,
- 46, 0, 1264,
- 53, 0, 487,
- 64, 0, 488,
- 65, 0, 489,
- 66, 0, 490,
- 67, 0, 491,
- 68, 0, 492,
- 69, 0, 493,
- 70, 0, 494,
- 71, 0, 495,
- 72, 0, 496,
- 73, 0, 497,
- 74, 0, 498,
- 75, 0, 499,
- 76, 0, 500,
- 77, 0, 501,
- 78, 0, 502,
- 82, 0, 503
+ -1, 3, 1143,
+ 46, 0, 1267,
+ 53, 0, 486,
+ 64, 0, 487,
+ 65, 0, 488,
+ 66, 0, 489,
+ 67, 0, 490,
+ 68, 0, 491,
+ 69, 0, 492,
+ 70, 0, 493,
+ 71, 0, 494,
+ 72, 0, 495,
+ 73, 0, 496,
+ 74, 0, 497,
+ 75, 0, 498,
+ 76, 0, 499,
+ 77, 0, 500,
+ 78, 0, 501,
+ 82, 0, 502
};
-static int parser_action_row1142[] = {
+static int parser_action_row1145[] = {
1,
- -1, 1, 388
+ -1, 1, 389
};
-static int parser_action_row1143[] = {
+static int parser_action_row1146[] = {
1,
- -1, 1, 383
+ -1, 1, 384
};
-static int parser_action_row1144[] = {
+static int parser_action_row1147[] = {
1,
-1, 1, 53
};
-static int parser_action_row1145[] = {
+static int parser_action_row1148[] = {
2,
-1, 1, 150,
- 56, 0, 292
+ 56, 0, 290
};
-static int parser_action_row1146[] = {
+static int parser_action_row1149[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1147[] = {
+static int parser_action_row1150[] = {
1,
- -1, 1, 802
+ -1, 1, 803
};
-static int parser_action_row1148[] = {
+static int parser_action_row1151[] = {
2,
- -1, 3, 1147,
- 54, 0, 1268
+ -1, 3, 1150,
+ 54, 0, 1271
};
-static int parser_action_row1149[] = {
+static int parser_action_row1152[] = {
4,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2,
- 55, 0, 1145
+ 55, 0, 1148
};
-static int parser_action_row1150[] = {
+static int parser_action_row1153[] = {
1,
-1, 1, 28
};
-static int parser_action_row1151[] = {
+static int parser_action_row1154[] = {
4,
-1, 1, 42,
- 9, 0, 1271,
+ 9, 0, 1274,
13, 0, 27,
- 41, 0, 1029
+ 41, 0, 1032
};
-static int parser_action_row1152[] = {
+static int parser_action_row1155[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1153[] = {
+static int parser_action_row1156[] = {
3,
-1, 1, 42,
- 9, 0, 1273,
+ 9, 0, 1276,
13, 0, 27
};
-static int parser_action_row1154[] = {
+static int parser_action_row1157[] = {
3,
- -1, 3, 1153,
- 47, 0, 344,
- 81, 0, 345
+ -1, 3, 1156,
+ 47, 0, 342,
+ 81, 0, 343
};
-static int parser_action_row1155[] = {
+static int parser_action_row1158[] = {
6,
- -1, 3, 1154,
- 10, 0, 1275,
- 11, 0, 1276,
- 12, 0, 1277,
- 16, 0, 1278,
- 38, 0, 1279
+ -1, 3, 1157,
+ 10, 0, 1278,
+ 11, 0, 1279,
+ 12, 0, 1280,
+ 16, 0, 1281,
+ 38, 0, 1282
};
-static int parser_action_row1156[] = {
+static int parser_action_row1159[] = {
24,
- -1, 1, 747,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
- 41, 1, 358,
+ -1, 1, 748,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
+ 41, 1, 359,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
- 83, 1, 358,
+ 83, 1, 359,
84, 0, 50,
85, 0, 51,
86, 0, 52,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row1157[] = {
+static int parser_action_row1160[] = {
2,
- -1, 1, 752,
- 49, 0, 175
+ -1, 1, 753,
+ 49, 0, 174
};
-static int parser_action_row1158[] = {
+static int parser_action_row1161[] = {
2,
- -1, 1, 749,
- 49, 0, 175
+ -1, 1, 750,
+ 49, 0, 174
};
-static int parser_action_row1159[] = {
+static int parser_action_row1162[] = {
1,
- -1, 1, 751
+ -1, 1, 752
};
-static int parser_action_row1160[] = {
+static int parser_action_row1163[] = {
2,
- -1, 3, 1159,
- 11, 0, 1283
+ -1, 3, 1162,
+ 11, 0, 1286
};
-static int parser_action_row1161[] = {
+static int parser_action_row1164[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1162[] = {
+static int parser_action_row1165[] = {
1,
- -1, 1, 562
+ -1, 1, 563
};
-static int parser_action_row1163[] = {
+static int parser_action_row1166[] = {
1,
- -1, 1, 745
+ -1, 1, 746
};
-static int parser_action_row1164[] = {
+static int parser_action_row1167[] = {
1,
- -1, 1, 754
+ -1, 1, 755
};
-static int parser_action_row1165[] = {
+static int parser_action_row1168[] = {
1,
- -1, 1, 756
+ -1, 1, 757
};
-static int parser_action_row1166[] = {
+static int parser_action_row1169[] = {
1,
- -1, 1, 755
+ -1, 1, 756
};
-static int parser_action_row1167[] = {
+static int parser_action_row1170[] = {
1,
- -1, 1, 757
+ -1, 1, 758
};
-static int parser_action_row1168[] = {
+static int parser_action_row1171[] = {
1,
- -1, 1, 758
+ -1, 1, 759
};
-static int parser_action_row1169[] = {
+static int parser_action_row1172[] = {
3,
- -1, 3, 1168,
- 0, 0, 83,
- 1, 0, 84
+ -1, 3, 1171,
+ 0, 0, 82,
+ 1, 0, 83
};
-static int parser_action_row1170[] = {
+static int parser_action_row1173[] = {
3,
- -1, 3, 1169,
- 41, 0, 262,
- 83, 0, 1286
+ -1, 3, 1172,
+ 41, 0, 260,
+ 83, 0, 1289
};
-static int parser_action_row1171[] = {
+static int parser_action_row1174[] = {
2,
-1, 1, 340,
- 51, 0, 242
+ 51, 0, 240
};
-static int parser_action_row1172[] = {
+static int parser_action_row1175[] = {
1,
-1, 1, 323
};
-static int parser_action_row1173[] = {
+static int parser_action_row1176[] = {
1,
- -1, 1, 746
+ -1, 1, 747
};
-static int parser_action_row1174[] = {
+static int parser_action_row1177[] = {
1,
- -1, 1, 563
+ -1, 1, 564
};
-static int parser_action_row1175[] = {
+static int parser_action_row1178[] = {
4,
- -1, 1, 526,
- 53, 0, 209,
- 61, 0, 284,
- 63, 0, 1288
+ -1, 1, 527,
+ 53, 0, 208,
+ 61, 0, 282,
+ 63, 0, 1291
};
-static int parser_action_row1176[] = {
+static int parser_action_row1179[] = {
3,
- -1, 3, 1175,
- 0, 0, 83,
- 1, 0, 84
+ -1, 3, 1178,
+ 0, 0, 82,
+ 1, 0, 83
};
-static int parser_action_row1177[] = {
+static int parser_action_row1180[] = {
2,
- -1, 1, 560,
- 55, 0, 1087
+ -1, 1, 561,
+ 55, 0, 1090
};
-static int parser_action_row1178[] = {
+static int parser_action_row1181[] = {
1,
- -1, 1, 564
+ -1, 1, 565
};
-static int parser_action_row1179[] = {
+static int parser_action_row1182[] = {
1,
-1, 1, 30
};
-static int parser_action_row1180[] = {
+static int parser_action_row1183[] = {
3,
-1, 1, 42,
- 9, 0, 1292,
+ 9, 0, 1295,
13, 0, 27
};
-static int parser_action_row1181[] = {
+static int parser_action_row1184[] = {
1,
-1, 1, 34
};
-static int parser_action_row1182[] = {
+static int parser_action_row1185[] = {
4,
-1, 1, 42,
- 9, 0, 1293,
+ 9, 0, 1296,
13, 0, 27,
- 41, 0, 1029
+ 41, 0, 1032
};
-static int parser_action_row1183[] = {
+static int parser_action_row1186[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1184[] = {
+static int parser_action_row1187[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1185[] = {
+static int parser_action_row1188[] = {
1,
-1, 1, 27
};
-static int parser_action_row1186[] = {
+static int parser_action_row1189[] = {
4,
-1, 1, 42,
- 9, 0, 1297,
+ 9, 0, 1300,
13, 0, 27,
- 41, 0, 1029
+ 41, 0, 1032
};
-static int parser_action_row1187[] = {
+static int parser_action_row1190[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1188[] = {
+static int parser_action_row1191[] = {
3,
-1, 1, 42,
- 9, 0, 1299,
+ 9, 0, 1302,
13, 0, 27
};
-static int parser_action_row1189[] = {
+static int parser_action_row1192[] = {
2,
- -1, 3, 1188,
- 45, 0, 1300
+ -1, 3, 1191,
+ 45, 0, 1303
};
-static int parser_action_row1190[] = {
+static int parser_action_row1193[] = {
2,
- -1, 3, 1189,
- 52, 0, 1301
+ -1, 3, 1192,
+ 52, 0, 1304
};
-static int parser_action_row1191[] = {
+static int parser_action_row1194[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1192[] = {
+static int parser_action_row1195[] = {
2,
- -1, 3, 1191,
- 45, 0, 1303
+ -1, 3, 1194,
+ 45, 0, 1306
};
-static int parser_action_row1193[] = {
+static int parser_action_row1196[] = {
2,
- -1, 3, 1192,
- 52, 0, 1304
+ -1, 3, 1195,
+ 52, 0, 1307
};
-static int parser_action_row1194[] = {
+static int parser_action_row1197[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row1195[] = {
+static int parser_action_row1198[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1196[] = {
+static int parser_action_row1199[] = {
33,
- -1, 1, 358,
+ -1, 1, 359,
0, 0, 1,
1, 0, 2,
- 9, 0, 661,
- 12, 0, 662,
- 15, 0, 663,
- 16, 0, 664,
- 22, 0, 665,
- 24, 0, 666,
- 25, 0, 667,
- 26, 0, 668,
- 27, 0, 669,
- 33, 0, 670,
- 34, 0, 671,
- 35, 0, 672,
- 36, 0, 673,
- 37, 0, 674,
+ 9, 0, 663,
+ 12, 0, 664,
+ 15, 0, 665,
+ 16, 0, 666,
+ 22, 0, 667,
+ 24, 0, 668,
+ 25, 0, 669,
+ 26, 0, 670,
+ 27, 0, 671,
+ 33, 0, 672,
+ 34, 0, 673,
+ 35, 0, 674,
+ 36, 0, 675,
+ 37, 0, 676,
38, 0, 40,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 50, 0, 675,
+ 50, 0, 677,
51, 0, 46,
53, 0, 47,
81, 0, 48,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row1197[] = {
+static int parser_action_row1200[] = {
32,
- -1, 1, 358,
+ -1, 1, 359,
0, 0, 1,
1, 0, 2,
- 9, 0, 762,
- 12, 0, 662,
- 15, 0, 663,
- 16, 0, 664,
- 22, 0, 665,
- 25, 0, 667,
- 26, 0, 668,
- 27, 0, 669,
- 33, 0, 670,
- 34, 0, 671,
- 35, 0, 672,
- 36, 0, 673,
- 37, 0, 674,
+ 9, 0, 765,
+ 12, 0, 664,
+ 15, 0, 665,
+ 16, 0, 666,
+ 22, 0, 667,
+ 25, 0, 669,
+ 26, 0, 670,
+ 27, 0, 671,
+ 33, 0, 672,
+ 34, 0, 673,
+ 35, 0, 674,
+ 36, 0, 675,
+ 37, 0, 676,
38, 0, 40,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 50, 0, 675,
+ 50, 0, 677,
51, 0, 46,
53, 0, 47,
81, 0, 48,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row1198[] = {
+static int parser_action_row1201[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1199[] = {
+static int parser_action_row1202[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1200[] = {
+static int parser_action_row1203[] = {
1,
- -1, 1, 682
+ -1, 1, 683
};
-static int parser_action_row1201[] = {
+static int parser_action_row1204[] = {
2,
-1, 1, 152,
- 24, 1, 626
+ 24, 1, 627
};
-static int parser_action_row1202[] = {
+static int parser_action_row1205[] = {
2,
-1, 1, 151,
- 24, 1, 625
+ 24, 1, 626
};
-static int parser_action_row1203[] = {
+static int parser_action_row1206[] = {
1,
- -1, 1, 655
+ -1, 1, 656
};
-static int parser_action_row1204[] = {
+static int parser_action_row1207[] = {
2,
-1, 1, 180,
- 24, 1, 647
+ 24, 1, 648
};
-static int parser_action_row1205[] = {
+static int parser_action_row1208[] = {
4,
-1, 1, 267,
- 58, 0, 1312,
- 59, 0, 371,
- 60, 0, 372
+ 58, 0, 1315,
+ 59, 0, 370,
+ 60, 0, 371
};
-static int parser_action_row1206[] = {
+static int parser_action_row1209[] = {
4,
-1, 1, 269,
- 58, 0, 1314,
- 59, 0, 371,
- 60, 0, 372
+ 58, 0, 1317,
+ 59, 0, 370,
+ 60, 0, 371
};
-static int parser_action_row1207[] = {
+static int parser_action_row1210[] = {
2,
-1, 1, 177,
- 24, 1, 644
+ 24, 1, 645
};
-static int parser_action_row1208[] = {
+static int parser_action_row1211[] = {
23,
-1, 1, 344,
- 12, 0, 107,
- 22, 0, 108,
- 31, 0, 109,
- 38, 0, 110,
- 40, 0, 111,
- 41, 1, 358,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 48, 0, 116,
- 51, 0, 385,
- 65, 0, 118,
+ 12, 0, 106,
+ 22, 0, 107,
+ 31, 0, 108,
+ 38, 0, 109,
+ 40, 0, 110,
+ 41, 1, 359,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 48, 0, 115,
+ 51, 0, 384,
+ 65, 0, 117,
81, 0, 48,
82, 0, 49,
- 83, 1, 358,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 83, 1, 359,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
+ 91, 0, 122
};
-static int parser_action_row1209[] = {
+static int parser_action_row1212[] = {
23,
-1, 1, 344,
- 12, 0, 107,
- 22, 0, 108,
- 31, 0, 109,
- 38, 0, 110,
- 40, 0, 111,
- 41, 1, 358,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 48, 0, 116,
- 51, 0, 385,
- 65, 0, 118,
+ 12, 0, 106,
+ 22, 0, 107,
+ 31, 0, 108,
+ 38, 0, 109,
+ 40, 0, 110,
+ 41, 1, 359,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 48, 0, 115,
+ 51, 0, 384,
+ 65, 0, 117,
81, 0, 48,
82, 0, 49,
- 83, 1, 358,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 83, 1, 359,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
+ 91, 0, 122
};
-static int parser_action_row1210[] = {
+static int parser_action_row1213[] = {
3,
- -1, 1, 356,
- 12, 0, 1318,
- 82, 0, 389
+ -1, 1, 357,
+ 12, 0, 1321,
+ 82, 0, 388
};
-static int parser_action_row1211[] = {
+static int parser_action_row1214[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row1212[] = {
+static int parser_action_row1215[] = {
1,
-1, 1, 223
};
-static int parser_action_row1213[] = {
+static int parser_action_row1216[] = {
2,
- -1, 3, 1212,
- 49, 0, 175
+ -1, 3, 1215,
+ 49, 0, 174
};
-static int parser_action_row1214[] = {
+static int parser_action_row1217[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1215[] = {
+static int parser_action_row1218[] = {
1,
- -1, 1, 455
+ -1, 1, 456
};
-static int parser_action_row1216[] = {
+static int parser_action_row1219[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1217[] = {
+static int parser_action_row1220[] = {
2,
- -1, 3, 1216,
- 56, 0, 1323
+ -1, 3, 1219,
+ 56, 0, 1326
};
-static int parser_action_row1218[] = {
+static int parser_action_row1221[] = {
5,
- -1, 1, 358,
+ -1, 1, 359,
12, 0, 590,
46, 0, 508,
81, 0, 48,
82, 0, 49
};
-static int parser_action_row1219[] = {
+static int parser_action_row1222[] = {
2,
-1, 1, 306,
- 80, 0, 184
+ 80, 0, 183
};
-static int parser_action_row1220[] = {
+static int parser_action_row1223[] = {
35,
- -1, 1, 358,
- 12, 0, 155,
+ -1, 1, 359,
+ 12, 0, 154,
15, 0, 28,
16, 0, 29,
- 22, 0, 156,
+ 22, 0, 155,
25, 0, 31,
26, 0, 32,
27, 0, 33,
- 31, 0, 157,
- 33, 0, 928,
- 34, 0, 929,
- 35, 0, 930,
- 36, 0, 931,
+ 31, 0, 156,
+ 33, 0, 931,
+ 34, 0, 932,
+ 35, 0, 933,
+ 36, 0, 934,
37, 0, 39,
- 38, 0, 158,
- 40, 0, 159,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 47, 0, 344,
- 48, 0, 160,
- 50, 0, 932,
+ 47, 0, 342,
+ 48, 0, 159,
+ 50, 0, 935,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
- 80, 0, 184,
- 81, 0, 933,
+ 65, 0, 160,
+ 80, 0, 183,
+ 81, 0, 936,
82, 0, 49,
84, 0, 50,
85, 0, 51,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row1221[] = {
+static int parser_action_row1224[] = {
1,
- -1, 1, 821
+ -1, 1, 822
};
-static int parser_action_row1222[] = {
+static int parser_action_row1225[] = {
1,
-1, 1, 144
};
-static int parser_action_row1223[] = {
+static int parser_action_row1226[] = {
2,
- -1, 3, 1222,
- 23, 0, 1327
+ -1, 3, 1225,
+ 23, 0, 1330
};
-static int parser_action_row1224[] = {
+static int parser_action_row1227[] = {
2,
- -1, 1, 557,
- 80, 0, 471
+ -1, 1, 558,
+ 80, 0, 470
};
-static int parser_action_row1225[] = {
+static int parser_action_row1228[] = {
1,
- -1, 1, 565
+ -1, 1, 566
};
-static int parser_action_row1226[] = {
+static int parser_action_row1229[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1227[] = {
+static int parser_action_row1230[] = {
1,
- -1, 1, 425
+ -1, 1, 426
};
-static int parser_action_row1228[] = {
+static int parser_action_row1231[] = {
2,
- -1, 3, 1227,
- 63, 0, 1225
+ -1, 3, 1230,
+ 63, 0, 1228
};
-static int parser_action_row1229[] = {
+static int parser_action_row1232[] = {
5,
- -1, 1, 358,
- 12, 0, 1254,
- 46, 0, 1255,
+ -1, 1, 359,
+ 12, 0, 1257,
+ 46, 0, 1258,
81, 0, 48,
82, 0, 49
};
-static int parser_action_row1230[] = {
+static int parser_action_row1233[] = {
2,
- -1, 3, 1229,
- 52, 0, 1331
+ -1, 3, 1232,
+ 52, 0, 1334
};
-static int parser_action_row1231[] = {
+static int parser_action_row1234[] = {
1,
-1, 1, 292
};
-static int parser_action_row1232[] = {
+static int parser_action_row1235[] = {
1,
-1, 1, 291
};
-static int parser_action_row1233[] = {
+static int parser_action_row1236[] = {
1,
- -1, 1, 396
+ -1, 1, 397
};
-static int parser_action_row1234[] = {
+static int parser_action_row1237[] = {
20,
- -1, 1, 358,
- 12, 0, 816,
- 31, 0, 818,
- 38, 0, 819,
- 40, 0, 820,
- 42, 0, 821,
- 43, 0, 822,
- 44, 0, 823,
- 45, 0, 824,
- 48, 0, 825,
- 51, 0, 826,
- 65, 0, 827,
+ -1, 1, 359,
+ 12, 0, 819,
+ 31, 0, 821,
+ 38, 0, 822,
+ 40, 0, 823,
+ 42, 0, 824,
+ 43, 0, 825,
+ 44, 0, 826,
+ 45, 0, 827,
+ 48, 0, 828,
+ 51, 0, 829,
+ 65, 0, 830,
81, 0, 48,
82, 0, 49,
- 84, 0, 828,
- 85, 0, 829,
- 86, 0, 830,
- 87, 0, 831,
+ 84, 0, 831,
+ 85, 0, 832,
+ 86, 0, 833,
+ 87, 0, 834,
88, 0, 54,
- 91, 0, 832
+ 91, 0, 835
};
-static int parser_action_row1235[] = {
+static int parser_action_row1238[] = {
1,
- -1, 1, 395
+ -1, 1, 396
};
-static int parser_action_row1236[] = {
+static int parser_action_row1239[] = {
1,
- -1, 1, 398
+ -1, 1, 399
};
-static int parser_action_row1237[] = {
+static int parser_action_row1240[] = {
3,
- -1, 1, 406,
- 64, 0, 982,
- 65, 0, 983
+ -1, 1, 407,
+ 64, 0, 985,
+ 65, 0, 986
};
-static int parser_action_row1238[] = {
+static int parser_action_row1241[] = {
3,
- -1, 1, 409,
- 64, 0, 982,
- 65, 0, 983
+ -1, 1, 410,
+ 64, 0, 985,
+ 65, 0, 986
};
-static int parser_action_row1239[] = {
+static int parser_action_row1242[] = {
2,
- -1, 3, 1238,
- 81, 0, 1333
+ -1, 3, 1241,
+ 81, 0, 1336
};
-static int parser_action_row1240[] = {
+static int parser_action_row1243[] = {
2,
-1, 1, 306,
- 80, 0, 184
+ 80, 0, 183
};
-static int parser_action_row1241[] = {
+static int parser_action_row1244[] = {
1,
- -1, 1, 411
-};
-static int parser_action_row1242[] = {
- 4,
- -1, 1, 413,
- 66, 0, 991,
- 68, 0, 992,
- 69, 0, 993
+ -1, 1, 412
};
-static int parser_action_row1243[] = {
+static int parser_action_row1245[] = {
4,
-1, 1, 414,
- 66, 0, 991,
- 68, 0, 992,
- 69, 0, 993
+ 66, 0, 994,
+ 68, 0, 995,
+ 69, 0, 996
};
-static int parser_action_row1244[] = {
- 3,
- -1, 1, 402,
- 64, 0, 982,
- 65, 0, 983
+static int parser_action_row1246[] = {
+ 4,
+ -1, 1, 415,
+ 66, 0, 994,
+ 68, 0, 995,
+ 69, 0, 996
};
-static int parser_action_row1245[] = {
+static int parser_action_row1247[] = {
3,
-1, 1, 403,
- 64, 0, 982,
- 65, 0, 983
+ 64, 0, 985,
+ 65, 0, 986
};
-static int parser_action_row1246[] = {
+static int parser_action_row1248[] = {
3,
-1, 1, 404,
- 64, 0, 982,
- 65, 0, 983
+ 64, 0, 985,
+ 65, 0, 986
};
-static int parser_action_row1247[] = {
+static int parser_action_row1249[] = {
3,
-1, 1, 405,
- 64, 0, 982,
- 65, 0, 983
+ 64, 0, 985,
+ 65, 0, 986
};
-static int parser_action_row1248[] = {
+static int parser_action_row1250[] = {
3,
- -1, 1, 407,
- 64, 0, 982,
- 65, 0, 983
+ -1, 1, 406,
+ 64, 0, 985,
+ 65, 0, 986
};
-static int parser_action_row1249[] = {
+static int parser_action_row1251[] = {
3,
-1, 1, 408,
- 64, 0, 982,
- 65, 0, 983
+ 64, 0, 985,
+ 65, 0, 986
};
-static int parser_action_row1250[] = {
+static int parser_action_row1252[] = {
3,
- -1, 1, 410,
- 64, 0, 982,
- 65, 0, 983
+ -1, 1, 409,
+ 64, 0, 985,
+ 65, 0, 986
};
-static int parser_action_row1251[] = {
- 1,
- -1, 1, 416
+static int parser_action_row1253[] = {
+ 3,
+ -1, 1, 411,
+ 64, 0, 985,
+ 65, 0, 986
};
-static int parser_action_row1252[] = {
+static int parser_action_row1254[] = {
1,
-1, 1, 417
};
-static int parser_action_row1253[] = {
+static int parser_action_row1255[] = {
1,
-1, 1, 418
};
-static int parser_action_row1254[] = {
+static int parser_action_row1256[] = {
1,
- -1, 1, 420
+ -1, 1, 419
};
-static int parser_action_row1255[] = {
+static int parser_action_row1257[] = {
+ 1,
+ -1, 1, 421
+};
+static int parser_action_row1258[] = {
2,
-1, 1, 340,
- 51, 0, 242
+ 51, 0, 240
};
-static int parser_action_row1256[] = {
+static int parser_action_row1259[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1257[] = {
+static int parser_action_row1260[] = {
2,
- -1, 3, 1256,
- 83, 0, 1337
+ -1, 3, 1259,
+ 83, 0, 1340
};
-static int parser_action_row1258[] = {
+static int parser_action_row1261[] = {
2,
-1, 1, 340,
- 51, 0, 242
+ 51, 0, 240
};
-static int parser_action_row1259[] = {
+static int parser_action_row1262[] = {
4,
- -1, 3, 1258,
+ -1, 3, 1261,
6, 0, 606,
17, 0, 607,
82, 0, 608
};
-static int parser_action_row1260[] = {
+static int parser_action_row1263[] = {
1,
-1, 1, 116
};
-static int parser_action_row1261[] = {
+static int parser_action_row1264[] = {
1,
-1, 1, 104
};
-static int parser_action_row1262[] = {
+static int parser_action_row1265[] = {
1,
-1, 1, 111
};
-static int parser_action_row1263[] = {
+static int parser_action_row1266[] = {
21,
- -1, 3, 1262,
- 41, 0, 1010,
- 47, 0, 344,
- 53, 0, 487,
- 64, 0, 488,
- 65, 0, 489,
- 66, 0, 490,
- 67, 0, 491,
- 68, 0, 492,
- 69, 0, 493,
- 70, 0, 494,
- 71, 0, 495,
- 72, 0, 496,
- 73, 0, 497,
- 74, 0, 498,
- 75, 0, 499,
- 76, 0, 500,
- 77, 0, 501,
- 78, 0, 502,
- 81, 0, 345,
- 82, 0, 503
+ -1, 3, 1265,
+ 41, 0, 1013,
+ 47, 0, 342,
+ 53, 0, 486,
+ 64, 0, 487,
+ 65, 0, 488,
+ 66, 0, 489,
+ 67, 0, 490,
+ 68, 0, 491,
+ 69, 0, 492,
+ 70, 0, 493,
+ 71, 0, 494,
+ 72, 0, 495,
+ 73, 0, 496,
+ 74, 0, 497,
+ 75, 0, 498,
+ 76, 0, 499,
+ 77, 0, 500,
+ 78, 0, 501,
+ 81, 0, 343,
+ 82, 0, 502
};
-static int parser_action_row1264[] = {
+static int parser_action_row1267[] = {
1,
- -1, 1, 807
+ -1, 1, 808
};
-static int parser_action_row1265[] = {
+static int parser_action_row1268[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1266[] = {
+static int parser_action_row1269[] = {
1,
-1, 1, 125
};
-static int parser_action_row1267[] = {
+static int parser_action_row1270[] = {
1,
-1, 1, 54
};
-static int parser_action_row1268[] = {
+static int parser_action_row1271[] = {
2,
- -1, 3, 1267,
- 81, 0, 1021
+ -1, 3, 1270,
+ 81, 0, 1024
};
-static int parser_action_row1269[] = {
+static int parser_action_row1272[] = {
1,
-1, 1, 49
};
-static int parser_action_row1270[] = {
+static int parser_action_row1273[] = {
1,
- -1, 1, 803
+ -1, 1, 804
};
-static int parser_action_row1271[] = {
+static int parser_action_row1274[] = {
2,
- -1, 3, 1270,
- 54, 0, 1343
+ -1, 3, 1273,
+ 54, 0, 1346
};
-static int parser_action_row1272[] = {
+static int parser_action_row1275[] = {
1,
-1, 1, 32
};
-static int parser_action_row1273[] = {
+static int parser_action_row1276[] = {
3,
-1, 1, 42,
- 9, 0, 1344,
+ 9, 0, 1347,
13, 0, 27
};
-static int parser_action_row1274[] = {
+static int parser_action_row1277[] = {
1,
-1, 1, 36
};
-static int parser_action_row1275[] = {
+static int parser_action_row1278[] = {
2,
-1, 1, 77,
- 14, 0, 725
+ 14, 0, 728
};
-static int parser_action_row1276[] = {
+static int parser_action_row1279[] = {
18,
- -1, 3, 1275,
- 53, 0, 487,
- 64, 0, 488,
- 65, 0, 489,
- 66, 0, 490,
- 67, 0, 491,
- 68, 0, 492,
- 69, 0, 493,
- 70, 0, 494,
- 71, 0, 495,
- 72, 0, 496,
- 73, 0, 497,
- 74, 0, 498,
- 75, 0, 499,
- 76, 0, 500,
- 77, 0, 501,
- 78, 0, 502,
- 82, 0, 503
+ -1, 3, 1278,
+ 53, 0, 486,
+ 64, 0, 487,
+ 65, 0, 488,
+ 66, 0, 489,
+ 67, 0, 490,
+ 68, 0, 491,
+ 69, 0, 492,
+ 70, 0, 493,
+ 71, 0, 494,
+ 72, 0, 495,
+ 73, 0, 496,
+ 74, 0, 497,
+ 75, 0, 498,
+ 76, 0, 499,
+ 77, 0, 500,
+ 78, 0, 501,
+ 82, 0, 502
};
-static int parser_action_row1277[] = {
+static int parser_action_row1280[] = {
2,
- -1, 3, 1276,
- 81, 0, 1347
+ -1, 3, 1279,
+ 81, 0, 1350
};
-static int parser_action_row1278[] = {
+static int parser_action_row1281[] = {
22,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2,
- 51, 0, 627,
- 53, 0, 487,
- 56, 0, 628,
- 64, 0, 488,
- 65, 0, 489,
- 66, 0, 490,
- 67, 0, 491,
- 68, 0, 492,
- 69, 0, 493,
- 70, 0, 494,
- 71, 0, 495,
- 72, 0, 496,
- 73, 0, 497,
- 74, 0, 498,
- 75, 0, 499,
- 76, 0, 500,
- 77, 0, 501,
- 78, 0, 502,
- 82, 0, 503
+ 51, 0, 628,
+ 53, 0, 486,
+ 56, 0, 629,
+ 64, 0, 487,
+ 65, 0, 488,
+ 66, 0, 489,
+ 67, 0, 490,
+ 68, 0, 491,
+ 69, 0, 492,
+ 70, 0, 493,
+ 71, 0, 494,
+ 72, 0, 495,
+ 73, 0, 496,
+ 74, 0, 497,
+ 75, 0, 498,
+ 76, 0, 499,
+ 77, 0, 500,
+ 78, 0, 501,
+ 82, 0, 502
};
-static int parser_action_row1279[] = {
+static int parser_action_row1282[] = {
2,
- -1, 3, 1278,
- 82, 0, 1350
+ -1, 3, 1281,
+ 82, 0, 1353
};
-static int parser_action_row1280[] = {
+static int parser_action_row1283[] = {
22,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2,
- 51, 0, 627,
- 53, 0, 487,
- 56, 0, 628,
- 64, 0, 488,
- 65, 0, 489,
- 66, 0, 490,
- 67, 0, 491,
- 68, 0, 492,
- 69, 0, 493,
- 70, 0, 494,
- 71, 0, 495,
- 72, 0, 496,
- 73, 0, 497,
- 74, 0, 498,
- 75, 0, 499,
- 76, 0, 500,
- 77, 0, 501,
- 78, 0, 502,
- 82, 0, 503
+ 51, 0, 628,
+ 53, 0, 486,
+ 56, 0, 629,
+ 64, 0, 487,
+ 65, 0, 488,
+ 66, 0, 489,
+ 67, 0, 490,
+ 68, 0, 491,
+ 69, 0, 492,
+ 70, 0, 493,
+ 71, 0, 494,
+ 72, 0, 495,
+ 73, 0, 496,
+ 74, 0, 497,
+ 75, 0, 498,
+ 76, 0, 499,
+ 77, 0, 500,
+ 78, 0, 501,
+ 82, 0, 502
};
-static int parser_action_row1281[] = {
+static int parser_action_row1284[] = {
1,
- -1, 1, 748
+ -1, 1, 749
};
-static int parser_action_row1282[] = {
+static int parser_action_row1285[] = {
1,
- -1, 1, 753
+ -1, 1, 754
};
-static int parser_action_row1283[] = {
+static int parser_action_row1286[] = {
1,
- -1, 1, 750
+ -1, 1, 751
};
-static int parser_action_row1284[] = {
+static int parser_action_row1287[] = {
3,
- -1, 3, 1283,
- 47, 0, 344,
- 81, 0, 345
+ -1, 3, 1286,
+ 47, 0, 342,
+ 81, 0, 343
};
-static int parser_action_row1285[] = {
+static int parser_action_row1288[] = {
35,
- -1, 1, 358,
- 12, 0, 155,
+ -1, 1, 359,
+ 12, 0, 154,
15, 0, 28,
16, 0, 29,
- 22, 0, 156,
+ 22, 0, 155,
25, 0, 31,
26, 0, 32,
27, 0, 33,
- 31, 0, 157,
- 33, 0, 928,
- 34, 0, 929,
- 35, 0, 930,
- 36, 0, 931,
+ 31, 0, 156,
+ 33, 0, 931,
+ 34, 0, 932,
+ 35, 0, 933,
+ 36, 0, 934,
37, 0, 39,
- 38, 0, 158,
- 40, 0, 159,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 47, 0, 344,
- 48, 0, 160,
- 50, 0, 932,
+ 47, 0, 342,
+ 48, 0, 159,
+ 50, 0, 935,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
- 80, 0, 184,
- 81, 0, 933,
+ 65, 0, 160,
+ 80, 0, 183,
+ 81, 0, 936,
82, 0, 49,
84, 0, 50,
85, 0, 51,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row1286[] = {
+static int parser_action_row1289[] = {
1,
-1, 1, 324
};
-static int parser_action_row1287[] = {
+static int parser_action_row1290[] = {
4,
- -1, 1, 532,
- 58, 0, 1355,
- 59, 0, 371,
- 60, 0, 372
+ -1, 1, 533,
+ 58, 0, 1358,
+ 59, 0, 370,
+ 60, 0, 371
};
-static int parser_action_row1288[] = {
+static int parser_action_row1291[] = {
4,
- -1, 1, 534,
- 58, 0, 1357,
- 59, 0, 371,
- 60, 0, 372
+ -1, 1, 535,
+ 58, 0, 1360,
+ 59, 0, 370,
+ 60, 0, 371
};
-static int parser_action_row1289[] = {
+static int parser_action_row1292[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1290[] = {
+static int parser_action_row1293[] = {
4,
- -1, 1, 538,
- 58, 0, 1360,
- 59, 0, 371,
- 60, 0, 372
+ -1, 1, 539,
+ 58, 0, 1363,
+ 59, 0, 370,
+ 60, 0, 371
};
-static int parser_action_row1291[] = {
+static int parser_action_row1294[] = {
1,
-1, 1, 327
};
-static int parser_action_row1292[] = {
+static int parser_action_row1295[] = {
2,
- -1, 1, 561,
- 55, 0, 1087
+ -1, 1, 562,
+ 55, 0, 1090
};
-static int parser_action_row1293[] = {
+static int parser_action_row1296[] = {
1,
-1, 1, 38
};
-static int parser_action_row1294[] = {
+static int parser_action_row1297[] = {
1,
-1, 1, 29
};
-static int parser_action_row1295[] = {
+static int parser_action_row1298[] = {
4,
-1, 1, 42,
- 9, 0, 1362,
+ 9, 0, 1365,
13, 0, 27,
- 41, 0, 1029
+ 41, 0, 1032
};
-static int parser_action_row1296[] = {
+static int parser_action_row1299[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1297[] = {
+static int parser_action_row1300[] = {
3,
-1, 1, 42,
- 9, 0, 1364,
+ 9, 0, 1367,
13, 0, 27
};
-static int parser_action_row1298[] = {
+static int parser_action_row1301[] = {
1,
-1, 1, 31
};
-static int parser_action_row1299[] = {
+static int parser_action_row1302[] = {
3,
-1, 1, 42,
- 9, 0, 1365,
+ 9, 0, 1368,
13, 0, 27
};
-static int parser_action_row1300[] = {
+static int parser_action_row1303[] = {
1,
-1, 1, 35
};
-static int parser_action_row1301[] = {
+static int parser_action_row1304[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1302[] = {
+static int parser_action_row1305[] = {
1,
-1, 1, 276
};
-static int parser_action_row1303[] = {
+static int parser_action_row1306[] = {
20,
- -1, 1, 358,
- 12, 0, 107,
- 22, 0, 108,
- 31, 0, 109,
- 38, 0, 110,
- 40, 0, 111,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 48, 0, 116,
- 65, 0, 118,
+ -1, 1, 359,
+ 12, 0, 106,
+ 22, 0, 107,
+ 31, 0, 108,
+ 38, 0, 109,
+ 40, 0, 110,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 48, 0, 115,
+ 65, 0, 117,
81, 0, 48,
82, 0, 49,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
+ 91, 0, 122
};
-static int parser_action_row1304[] = {
+static int parser_action_row1307[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1305[] = {
+static int parser_action_row1308[] = {
1,
- -1, 1, 540
+ -1, 1, 541
};
-static int parser_action_row1306[] = {
+static int parser_action_row1309[] = {
1,
- -1, 1, 658
+ -1, 1, 659
};
-static int parser_action_row1307[] = {
+static int parser_action_row1310[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row1308[] = {
+static int parser_action_row1311[] = {
2,
- -1, 3, 1307,
- 24, 0, 1370
+ -1, 3, 1310,
+ 24, 0, 1373
};
-static int parser_action_row1309[] = {
+static int parser_action_row1312[] = {
1,
- -1, 1, 676
+ -1, 1, 677
};
-static int parser_action_row1310[] = {
+static int parser_action_row1313[] = {
2,
- -1, 3, 1309,
- 49, 0, 175
+ -1, 3, 1312,
+ 49, 0, 174
};
-static int parser_action_row1311[] = {
+static int parser_action_row1314[] = {
3,
- -1, 3, 1310,
- 52, 0, 1372,
+ -1, 3, 1313,
+ 52, 0, 1375,
55, 0, 566
};
-static int parser_action_row1312[] = {
+static int parser_action_row1315[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row1313[] = {
+static int parser_action_row1316[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row1314[] = {
+static int parser_action_row1317[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row1315[] = {
+static int parser_action_row1318[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row1316[] = {
+static int parser_action_row1319[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row1317[] = {
+static int parser_action_row1320[] = {
2,
-1, 1, 182,
- 24, 1, 649
+ 24, 1, 650
};
-static int parser_action_row1318[] = {
+static int parser_action_row1321[] = {
2,
-1, 1, 184,
- 24, 1, 651
+ 24, 1, 652
};
-static int parser_action_row1319[] = {
+static int parser_action_row1322[] = {
23,
-1, 1, 344,
- 12, 0, 107,
- 22, 0, 108,
- 31, 0, 109,
- 38, 0, 110,
- 40, 0, 111,
- 41, 1, 358,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 48, 0, 116,
- 51, 0, 385,
- 65, 0, 118,
+ 12, 0, 106,
+ 22, 0, 107,
+ 31, 0, 108,
+ 38, 0, 109,
+ 40, 0, 110,
+ 41, 1, 359,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 48, 0, 115,
+ 51, 0, 384,
+ 65, 0, 117,
81, 0, 48,
82, 0, 49,
- 83, 1, 358,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 83, 1, 359,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
+ 91, 0, 122
};
-static int parser_action_row1320[] = {
+static int parser_action_row1323[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1321[] = {
+static int parser_action_row1324[] = {
1,
-1, 1, 221
};
-static int parser_action_row1322[] = {
+static int parser_action_row1325[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row1323[] = {
+static int parser_action_row1326[] = {
2,
- -1, 3, 1322,
- 52, 0, 1381
+ -1, 3, 1325,
+ 52, 0, 1384
};
-static int parser_action_row1324[] = {
+static int parser_action_row1327[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row1325[] = {
+static int parser_action_row1328[] = {
2,
-1, 1, 340,
- 51, 0, 242
+ 51, 0, 240
};
-static int parser_action_row1326[] = {
+static int parser_action_row1329[] = {
1,
-1, 1, 308
};
-static int parser_action_row1327[] = {
+static int parser_action_row1330[] = {
1,
-1, 1, 330
};
-static int parser_action_row1328[] = {
+static int parser_action_row1331[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1329[] = {
+static int parser_action_row1332[] = {
1,
- -1, 1, 566
+ -1, 1, 567
};
-static int parser_action_row1330[] = {
+static int parser_action_row1333[] = {
3,
- -1, 3, 1329,
+ -1, 3, 1332,
81, 0, 48,
82, 0, 49
};
-static int parser_action_row1331[] = {
+static int parser_action_row1334[] = {
2,
- -1, 3, 1330,
- 83, 0, 1385
+ -1, 3, 1333,
+ 83, 0, 1388
};
-static int parser_action_row1332[] = {
+static int parser_action_row1335[] = {
2,
-1, 1, 306,
- 80, 0, 184
+ 80, 0, 183
};
-static int parser_action_row1333[] = {
+static int parser_action_row1336[] = {
1,
- -1, 1, 397
+ -1, 1, 398
};
-static int parser_action_row1334[] = {
+static int parser_action_row1337[] = {
2,
-1, 1, 306,
- 80, 0, 184
+ 80, 0, 183
};
-static int parser_action_row1335[] = {
+static int parser_action_row1338[] = {
1,
- -1, 1, 389
+ -1, 1, 390
};
-static int parser_action_row1336[] = {
+static int parser_action_row1339[] = {
1,
- -1, 1, 434
+ -1, 1, 435
};
-static int parser_action_row1337[] = {
+static int parser_action_row1340[] = {
3,
- -1, 3, 1336,
- 31, 0, 1388,
- 51, 0, 1389
+ -1, 3, 1339,
+ 31, 0, 1391,
+ 51, 0, 1392
};
-static int parser_action_row1338[] = {
+static int parser_action_row1341[] = {
1,
- -1, 1, 429
+ -1, 1, 430
};
-static int parser_action_row1339[] = {
+static int parser_action_row1342[] = {
1,
- -1, 1, 431
+ -1, 1, 432
};
-static int parser_action_row1340[] = {
+static int parser_action_row1343[] = {
36,
- -1, 1, 358,
- 0, 0, 83,
- 1, 0, 84,
- 12, 0, 107,
+ -1, 1, 359,
+ 0, 0, 82,
+ 1, 0, 83,
+ 12, 0, 106,
15, 0, 28,
16, 0, 29,
- 22, 0, 108,
+ 22, 0, 107,
25, 0, 31,
26, 0, 32,
27, 0, 33,
- 31, 0, 109,
- 33, 0, 1155,
- 34, 0, 1156,
- 35, 0, 1157,
- 36, 0, 1158,
+ 31, 0, 108,
+ 33, 0, 1158,
+ 34, 0, 1159,
+ 35, 0, 1160,
+ 36, 0, 1161,
37, 0, 39,
- 38, 0, 110,
- 40, 0, 111,
- 42, 0, 112,
- 43, 0, 113,
- 44, 0, 114,
- 45, 0, 115,
- 47, 0, 344,
- 48, 0, 116,
- 50, 0, 1159,
- 51, 0, 1390,
- 65, 0, 118,
- 80, 0, 184,
- 81, 0, 933,
+ 38, 0, 109,
+ 40, 0, 110,
+ 42, 0, 111,
+ 43, 0, 112,
+ 44, 0, 113,
+ 45, 0, 114,
+ 47, 0, 342,
+ 48, 0, 115,
+ 50, 0, 1162,
+ 51, 0, 1393,
+ 65, 0, 117,
+ 80, 0, 183,
+ 81, 0, 936,
82, 0, 49,
- 84, 0, 119,
- 85, 0, 120,
- 86, 0, 121,
- 87, 0, 122,
+ 84, 0, 118,
+ 85, 0, 119,
+ 86, 0, 120,
+ 87, 0, 121,
88, 0, 54,
- 91, 0, 123
+ 91, 0, 122
};
-static int parser_action_row1341[] = {
+static int parser_action_row1344[] = {
1,
-1, 1, 120
};
-static int parser_action_row1342[] = {
+static int parser_action_row1345[] = {
5,
- -1, 3, 1341,
- 31, 0, 1394,
- 47, 0, 1395,
- 51, 0, 1396,
- 81, 0, 345
+ -1, 3, 1344,
+ 31, 0, 1397,
+ 47, 0, 1398,
+ 51, 0, 1399,
+ 81, 0, 343
};
-static int parser_action_row1343[] = {
+static int parser_action_row1346[] = {
1,
-1, 1, 52
};
-static int parser_action_row1344[] = {
+static int parser_action_row1347[] = {
1,
-1, 1, 50
};
-static int parser_action_row1345[] = {
+static int parser_action_row1348[] = {
1,
-1, 1, 40
};
-static int parser_action_row1346[] = {
+static int parser_action_row1349[] = {
1,
-1, 1, 55
};
-static int parser_action_row1347[] = {
+static int parser_action_row1350[] = {
5,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2,
- 51, 0, 627,
- 56, 0, 628
+ 51, 0, 628,
+ 56, 0, 629
};
-static int parser_action_row1348[] = {
+static int parser_action_row1351[] = {
2,
- -1, 3, 1347,
- 56, 0, 628
+ -1, 3, 1350,
+ 56, 0, 629
};
-static int parser_action_row1349[] = {
+static int parser_action_row1352[] = {
5,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2,
- 51, 0, 627,
- 56, 0, 628
+ 51, 0, 628,
+ 56, 0, 629
};
-static int parser_action_row1350[] = {
+static int parser_action_row1353[] = {
3,
- -1, 3, 1349,
- 14, 0, 1401,
- 15, 0, 1402
+ -1, 3, 1352,
+ 14, 0, 1404,
+ 15, 0, 1405
};
-static int parser_action_row1351[] = {
+static int parser_action_row1354[] = {
2,
-1, 1, 150,
- 56, 0, 292
+ 56, 0, 290
};
-static int parser_action_row1352[] = {
+static int parser_action_row1355[] = {
5,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2,
- 51, 0, 627,
- 56, 0, 628
+ 51, 0, 628,
+ 56, 0, 629
};
-static int parser_action_row1353[] = {
+static int parser_action_row1356[] = {
3,
-1, 1, 119,
- 4, 0, 733,
- 14, 0, 734
+ 4, 0, 736,
+ 14, 0, 737
};
-static int parser_action_row1354[] = {
+static int parser_action_row1357[] = {
2,
- -1, 3, 1353,
- 56, 0, 1409
+ -1, 3, 1356,
+ 56, 0, 1412
};
-static int parser_action_row1355[] = {
+static int parser_action_row1358[] = {
2,
- -1, 3, 1354,
- 52, 0, 1410
+ -1, 3, 1357,
+ 52, 0, 1413
};
-static int parser_action_row1356[] = {
+static int parser_action_row1359[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row1357[] = {
+static int parser_action_row1360[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row1358[] = {
+static int parser_action_row1361[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row1359[] = {
+static int parser_action_row1362[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row1360[] = {
+static int parser_action_row1363[] = {
5,
- -1, 1, 358,
+ -1, 1, 359,
12, 0, 553,
46, 0, 554,
81, 0, 48,
82, 0, 49
};
-static int parser_action_row1361[] = {
+static int parser_action_row1364[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row1362[] = {
+static int parser_action_row1365[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row1363[] = {
+static int parser_action_row1366[] = {
1,
-1, 1, 33
};
-static int parser_action_row1364[] = {
+static int parser_action_row1367[] = {
3,
-1, 1, 42,
- 9, 0, 1419,
+ 9, 0, 1422,
13, 0, 27
};
-static int parser_action_row1365[] = {
+static int parser_action_row1368[] = {
1,
-1, 1, 37
};
-static int parser_action_row1366[] = {
+static int parser_action_row1369[] = {
1,
-1, 1, 39
};
-static int parser_action_row1367[] = {
+static int parser_action_row1370[] = {
2,
- -1, 3, 1366,
- 52, 0, 1420
+ -1, 3, 1369,
+ 52, 0, 1423
};
-static int parser_action_row1368[] = {
+static int parser_action_row1371[] = {
1,
- -1, 1, 495
+ -1, 1, 496
};
-static int parser_action_row1369[] = {
+static int parser_action_row1372[] = {
2,
- -1, 3, 1368,
- 52, 0, 1421
+ -1, 3, 1371,
+ 52, 0, 1424
};
-static int parser_action_row1370[] = {
+static int parser_action_row1373[] = {
1,
- -1, 1, 659
+ -1, 1, 660
};
-static int parser_action_row1371[] = {
+static int parser_action_row1374[] = {
32,
- -1, 1, 358,
+ -1, 1, 359,
0, 0, 1,
1, 0, 2,
- 9, 0, 1057,
- 12, 0, 662,
- 15, 0, 663,
- 16, 0, 664,
- 22, 0, 665,
- 25, 0, 667,
- 26, 0, 668,
- 27, 0, 669,
- 33, 0, 670,
- 34, 0, 671,
- 35, 0, 672,
- 36, 0, 673,
- 37, 0, 674,
+ 9, 0, 1060,
+ 12, 0, 664,
+ 15, 0, 665,
+ 16, 0, 666,
+ 22, 0, 667,
+ 25, 0, 669,
+ 26, 0, 670,
+ 27, 0, 671,
+ 33, 0, 672,
+ 34, 0, 673,
+ 35, 0, 674,
+ 36, 0, 675,
+ 37, 0, 676,
38, 0, 40,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 50, 0, 675,
+ 50, 0, 677,
51, 0, 46,
53, 0, 47,
81, 0, 48,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row1372[] = {
+static int parser_action_row1375[] = {
2,
-1, 1, 218,
- 24, 1, 675
+ 24, 1, 676
};
-static int parser_action_row1373[] = {
+static int parser_action_row1376[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1374[] = {
+static int parser_action_row1377[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1375[] = {
+static int parser_action_row1378[] = {
1,
- -1, 1, 660
+ -1, 1, 661
};
-static int parser_action_row1376[] = {
+static int parser_action_row1379[] = {
1,
- -1, 1, 665
+ -1, 1, 666
};
-static int parser_action_row1377[] = {
+static int parser_action_row1380[] = {
1,
- -1, 1, 662
+ -1, 1, 663
};
-static int parser_action_row1378[] = {
+static int parser_action_row1381[] = {
1,
- -1, 1, 667
+ -1, 1, 668
};
-static int parser_action_row1379[] = {
+static int parser_action_row1382[] = {
2,
-1, 1, 183,
- 24, 1, 650
+ 24, 1, 651
};
-static int parser_action_row1380[] = {
+static int parser_action_row1383[] = {
2,
- -1, 3, 1379,
- 15, 0, 1425
+ -1, 3, 1382,
+ 15, 0, 1428
};
-static int parser_action_row1381[] = {
+static int parser_action_row1384[] = {
1,
-1, 1, 231
};
-static int parser_action_row1382[] = {
+static int parser_action_row1385[] = {
2,
-1, 1, 306,
- 80, 0, 184
+ 80, 0, 183
};
-static int parser_action_row1383[] = {
+static int parser_action_row1386[] = {
1,
- -1, 1, 744
+ -1, 1, 745
};
-static int parser_action_row1384[] = {
+static int parser_action_row1387[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row1385[] = {
+static int parser_action_row1388[] = {
2,
-1, 1, 340,
- 51, 0, 242
+ 51, 0, 240
};
-static int parser_action_row1386[] = {
+static int parser_action_row1389[] = {
3,
- -1, 1, 426,
- 61, 1, 429,
- 63, 1, 429
+ -1, 1, 427,
+ 61, 1, 430,
+ 63, 1, 430
};
-static int parser_action_row1387[] = {
+static int parser_action_row1390[] = {
1,
- -1, 1, 451
+ -1, 1, 452
};
-static int parser_action_row1388[] = {
+static int parser_action_row1391[] = {
1,
- -1, 1, 390
+ -1, 1, 391
};
-static int parser_action_row1389[] = {
+static int parser_action_row1392[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1390[] = {
+static int parser_action_row1393[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1391[] = {
+static int parser_action_row1394[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1392[] = {
+static int parser_action_row1395[] = {
3,
- -1, 3, 1391,
- 0, 0, 83,
- 1, 0, 84
+ -1, 3, 1394,
+ 0, 0, 82,
+ 1, 0, 83
};
-static int parser_action_row1393[] = {
+static int parser_action_row1396[] = {
1,
-1, 1, 318
};
-static int parser_action_row1394[] = {
+static int parser_action_row1397[] = {
3,
- -1, 3, 1393,
- 0, 0, 83,
- 1, 0, 84
+ -1, 3, 1396,
+ 0, 0, 82,
+ 1, 0, 83
};
-static int parser_action_row1395[] = {
+static int parser_action_row1398[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1396[] = {
+static int parser_action_row1399[] = {
2,
-1, 1, 130,
- 81, 0, 477
+ 81, 0, 476
};
-static int parser_action_row1397[] = {
+static int parser_action_row1400[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1398[] = {
+static int parser_action_row1401[] = {
1,
-1, 1, 128
};
-static int parser_action_row1399[] = {
+static int parser_action_row1402[] = {
4,
-1, 1, 119,
- 4, 0, 733,
- 14, 0, 734,
- 15, 0, 1436
+ 4, 0, 736,
+ 14, 0, 737,
+ 15, 0, 1439
};
-static int parser_action_row1400[] = {
+static int parser_action_row1403[] = {
2,
-1, 1, 77,
- 14, 0, 725
+ 14, 0, 728
};
-static int parser_action_row1401[] = {
+static int parser_action_row1404[] = {
3,
- -1, 3, 1400,
- 14, 0, 1401,
- 15, 0, 1441
+ -1, 3, 1403,
+ 14, 0, 1404,
+ 15, 0, 1444
};
-static int parser_action_row1402[] = {
+static int parser_action_row1405[] = {
4,
-1, 1, 42,
- 0, 0, 83,
- 1, 0, 84,
+ 0, 0, 82,
+ 1, 0, 83,
13, 0, 27
};
-static int parser_action_row1403[] = {
+static int parser_action_row1406[] = {
32,
- -1, 1, 358,
+ -1, 1, 359,
0, 0, 1,
1, 0, 2,
- 9, 0, 466,
+ 9, 0, 465,
12, 0, 26,
15, 0, 28,
16, 0, 29,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row1404[] = {
+static int parser_action_row1407[] = {
2,
- -1, 3, 1403,
- 15, 0, 1446
+ -1, 3, 1406,
+ 15, 0, 1449
};
-static int parser_action_row1405[] = {
+static int parser_action_row1408[] = {
3,
-1, 1, 77,
- 14, 0, 725,
- 58, 0, 1447
+ 14, 0, 728,
+ 58, 0, 1450
};
-static int parser_action_row1406[] = {
+static int parser_action_row1409[] = {
3,
-1, 1, 119,
- 4, 0, 733,
- 14, 0, 734
+ 4, 0, 736,
+ 14, 0, 737
};
-static int parser_action_row1407[] = {
+static int parser_action_row1410[] = {
2,
-1, 1, 119,
- 4, 0, 733
+ 4, 0, 736
};
-static int parser_action_row1408[] = {
+static int parser_action_row1411[] = {
3,
- -1, 3, 1407,
+ -1, 3, 1410,
28, 0, 34,
94, 0, 56
};
-static int parser_action_row1409[] = {
+static int parser_action_row1412[] = {
1,
-1, 1, 60
};
-static int parser_action_row1410[] = {
+static int parser_action_row1413[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row1411[] = {
+static int parser_action_row1414[] = {
4,
- -1, 3, 1410,
- 0, 0, 83,
- 1, 0, 84,
- 80, 0, 184
+ -1, 3, 1413,
+ 0, 0, 82,
+ 1, 0, 83,
+ 80, 0, 183
};
-static int parser_action_row1412[] = {
+static int parser_action_row1415[] = {
1,
- -1, 1, 484
+ -1, 1, 485
};
-static int parser_action_row1413[] = {
+static int parser_action_row1416[] = {
1,
- -1, 1, 489
+ -1, 1, 490
};
-static int parser_action_row1414[] = {
+static int parser_action_row1417[] = {
1,
- -1, 1, 486
+ -1, 1, 487
};
-static int parser_action_row1415[] = {
+static int parser_action_row1418[] = {
1,
- -1, 1, 491
+ -1, 1, 492
};
-static int parser_action_row1416[] = {
+static int parser_action_row1419[] = {
2,
- -1, 3, 1415,
- 83, 0, 1457
+ -1, 3, 1418,
+ 83, 0, 1460
};
-static int parser_action_row1417[] = {
+static int parser_action_row1420[] = {
2,
-1, 1, 340,
- 51, 0, 242
+ 51, 0, 240
};
-static int parser_action_row1418[] = {
+static int parser_action_row1421[] = {
1,
- -1, 1, 487
+ -1, 1, 488
};
-static int parser_action_row1419[] = {
+static int parser_action_row1422[] = {
1,
- -1, 1, 492
+ -1, 1, 493
};
-static int parser_action_row1420[] = {
+static int parser_action_row1423[] = {
1,
-1, 1, 41
};
-static int parser_action_row1421[] = {
+static int parser_action_row1424[] = {
1,
-1, 1, 277
};
-static int parser_action_row1422[] = {
+static int parser_action_row1425[] = {
1,
- -1, 1, 541
+ -1, 1, 542
};
-static int parser_action_row1423[] = {
+static int parser_action_row1426[] = {
1,
- -1, 1, 672
+ -1, 1, 673
};
-static int parser_action_row1424[] = {
+static int parser_action_row1427[] = {
2,
- -1, 3, 1423,
- 28, 0, 1459
+ -1, 3, 1426,
+ 28, 0, 1462
};
-static int parser_action_row1425[] = {
+static int parser_action_row1428[] = {
2,
- -1, 3, 1424,
- 15, 0, 1460
+ -1, 3, 1427,
+ 15, 0, 1463
};
-static int parser_action_row1426[] = {
+static int parser_action_row1429[] = {
32,
- -1, 1, 358,
+ -1, 1, 359,
0, 0, 1,
1, 0, 2,
- 9, 0, 142,
+ 9, 0, 141,
12, 0, 26,
15, 0, 28,
16, 0, 29,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row1427[] = {
+static int parser_action_row1430[] = {
1,
-1, 1, 313
};
-static int parser_action_row1428[] = {
+static int parser_action_row1431[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1429[] = {
+static int parser_action_row1432[] = {
1,
- -1, 1, 436
+ -1, 1, 437
};
-static int parser_action_row1430[] = {
+static int parser_action_row1433[] = {
2,
- -1, 3, 1429,
- 45, 0, 1464
+ -1, 3, 1432,
+ 45, 0, 1467
};
-static int parser_action_row1431[] = {
+static int parser_action_row1434[] = {
4,
- -1, 3, 1430,
- 31, 0, 1465,
- 47, 0, 344,
- 81, 0, 345
+ -1, 3, 1433,
+ 31, 0, 1468,
+ 47, 0, 342,
+ 81, 0, 343
};
-static int parser_action_row1432[] = {
+static int parser_action_row1435[] = {
35,
- -1, 1, 358,
- 12, 0, 155,
+ -1, 1, 359,
+ 12, 0, 154,
15, 0, 28,
16, 0, 29,
- 22, 0, 156,
+ 22, 0, 155,
25, 0, 31,
26, 0, 32,
27, 0, 33,
- 31, 0, 157,
- 33, 0, 928,
- 34, 0, 929,
- 35, 0, 930,
- 36, 0, 931,
+ 31, 0, 156,
+ 33, 0, 931,
+ 34, 0, 932,
+ 35, 0, 933,
+ 36, 0, 934,
37, 0, 39,
- 38, 0, 158,
- 40, 0, 159,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 47, 0, 344,
- 48, 0, 160,
- 50, 0, 932,
+ 47, 0, 342,
+ 48, 0, 159,
+ 50, 0, 935,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
- 80, 0, 184,
- 81, 0, 933,
+ 65, 0, 160,
+ 80, 0, 183,
+ 81, 0, 936,
82, 0, 49,
84, 0, 50,
85, 0, 51,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row1433[] = {
+static int parser_action_row1436[] = {
1,
-1, 1, 319
};
-static int parser_action_row1434[] = {
+static int parser_action_row1437[] = {
1,
-1, 1, 322
};
-static int parser_action_row1435[] = {
+static int parser_action_row1438[] = {
2,
- -1, 3, 1434,
- 47, 0, 1468
+ -1, 3, 1437,
+ 47, 0, 1471
};
-static int parser_action_row1436[] = {
+static int parser_action_row1439[] = {
4,
- -1, 3, 1435,
- 31, 0, 1469,
- 47, 0, 1470,
- 81, 0, 345
+ -1, 3, 1438,
+ 31, 0, 1472,
+ 47, 0, 1473,
+ 81, 0, 343
};
-static int parser_action_row1437[] = {
+static int parser_action_row1440[] = {
32,
- -1, 1, 358,
+ -1, 1, 359,
0, 0, 1,
1, 0, 2,
- 9, 0, 466,
+ 9, 0, 465,
12, 0, 26,
15, 0, 28,
16, 0, 29,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row1438[] = {
+static int parser_action_row1441[] = {
3,
-1, 1, 119,
- 4, 0, 733,
- 15, 0, 1473
+ 4, 0, 736,
+ 15, 0, 1476
};
-static int parser_action_row1439[] = {
+static int parser_action_row1442[] = {
3,
- -1, 3, 1438,
+ -1, 3, 1441,
28, 0, 34,
94, 0, 56
};
-static int parser_action_row1440[] = {
+static int parser_action_row1443[] = {
1,
-1, 1, 59
};
-static int parser_action_row1441[] = {
+static int parser_action_row1444[] = {
1,
-1, 1, 70
};
-static int parser_action_row1442[] = {
+static int parser_action_row1445[] = {
32,
- -1, 1, 358,
+ -1, 1, 359,
0, 0, 1,
1, 0, 2,
- 9, 0, 466,
+ 9, 0, 465,
12, 0, 26,
15, 0, 28,
16, 0, 29,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row1443[] = {
+static int parser_action_row1446[] = {
2,
- -1, 3, 1442,
- 15, 0, 1477
+ -1, 3, 1445,
+ 15, 0, 1480
};
-static int parser_action_row1444[] = {
+static int parser_action_row1447[] = {
1,
-1, 1, 78
};
-static int parser_action_row1445[] = {
+static int parser_action_row1448[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1446[] = {
+static int parser_action_row1449[] = {
2,
- -1, 1, 369,
- 9, 0, 1017
+ -1, 1, 370,
+ 9, 0, 1020
};
-static int parser_action_row1447[] = {
+static int parser_action_row1450[] = {
32,
- -1, 1, 358,
+ -1, 1, 359,
0, 0, 1,
1, 0, 2,
- 9, 0, 466,
+ 9, 0, 465,
12, 0, 26,
15, 0, 28,
16, 0, 29,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row1448[] = {
+static int parser_action_row1451[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1449[] = {
+static int parser_action_row1452[] = {
1,
-1, 1, 64
};
-static int parser_action_row1450[] = {
+static int parser_action_row1453[] = {
2,
-1, 1, 119,
- 4, 0, 733
+ 4, 0, 736
};
-static int parser_action_row1451[] = {
+static int parser_action_row1454[] = {
3,
- -1, 3, 1450,
+ -1, 3, 1453,
28, 0, 34,
94, 0, 56
};
-static int parser_action_row1452[] = {
+static int parser_action_row1455[] = {
1,
-1, 1, 61
};
-static int parser_action_row1453[] = {
+static int parser_action_row1456[] = {
3,
- -1, 3, 1452,
+ -1, 3, 1455,
28, 0, 34,
94, 0, 56
};
-static int parser_action_row1454[] = {
+static int parser_action_row1457[] = {
1,
-1, 1, 71
};
-static int parser_action_row1455[] = {
+static int parser_action_row1458[] = {
1,
- -1, 1, 759
+ -1, 1, 760
};
-static int parser_action_row1456[] = {
+static int parser_action_row1459[] = {
3,
- -1, 3, 1455,
- 0, 0, 83,
- 1, 0, 84
+ -1, 3, 1458,
+ 0, 0, 82,
+ 1, 0, 83
};
-static int parser_action_row1457[] = {
+static int parser_action_row1460[] = {
1,
-1, 1, 325
};
-static int parser_action_row1458[] = {
+static int parser_action_row1461[] = {
4,
- -1, 1, 531,
- 58, 0, 1486,
- 59, 0, 371,
- 60, 0, 372
+ -1, 1, 532,
+ 58, 0, 1489,
+ 59, 0, 370,
+ 60, 0, 371
};
-static int parser_action_row1459[] = {
+static int parser_action_row1462[] = {
4,
- -1, 1, 533,
- 58, 0, 1488,
- 59, 0, 371,
- 60, 0, 372
+ -1, 1, 534,
+ 58, 0, 1491,
+ 59, 0, 370,
+ 60, 0, 371
};
-static int parser_action_row1460[] = {
+static int parser_action_row1463[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1461[] = {
+static int parser_action_row1464[] = {
32,
- -1, 1, 358,
+ -1, 1, 359,
0, 0, 1,
1, 0, 2,
- 9, 0, 762,
- 12, 0, 662,
- 15, 0, 663,
- 16, 0, 664,
- 22, 0, 665,
- 25, 0, 667,
- 26, 0, 668,
- 27, 0, 669,
- 33, 0, 670,
- 34, 0, 671,
- 35, 0, 672,
- 36, 0, 673,
- 37, 0, 674,
+ 9, 0, 765,
+ 12, 0, 664,
+ 15, 0, 665,
+ 16, 0, 666,
+ 22, 0, 667,
+ 25, 0, 669,
+ 26, 0, 670,
+ 27, 0, 671,
+ 33, 0, 672,
+ 34, 0, 673,
+ 35, 0, 674,
+ 36, 0, 675,
+ 37, 0, 676,
38, 0, 40,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 50, 0, 675,
+ 50, 0, 677,
51, 0, 46,
53, 0, 47,
81, 0, 48,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row1462[] = {
+static int parser_action_row1465[] = {
1,
-1, 1, 222
};
-static int parser_action_row1463[] = {
+static int parser_action_row1466[] = {
2,
- -1, 3, 1462,
- 49, 0, 175
+ -1, 3, 1465,
+ 49, 0, 174
};
-static int parser_action_row1464[] = {
+static int parser_action_row1467[] = {
2,
- -1, 3, 1463,
- 24, 0, 1494
+ -1, 3, 1466,
+ 24, 0, 1497
};
-static int parser_action_row1465[] = {
+static int parser_action_row1468[] = {
1,
- -1, 1, 439
+ -1, 1, 440
};
-static int parser_action_row1466[] = {
+static int parser_action_row1469[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1467[] = {
+static int parser_action_row1470[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1468[] = {
+static int parser_action_row1471[] = {
2,
- -1, 3, 1467,
- 52, 0, 1497
+ -1, 3, 1470,
+ 52, 0, 1500
};
-static int parser_action_row1469[] = {
+static int parser_action_row1472[] = {
1,
-1, 1, 132
};
-static int parser_action_row1470[] = {
+static int parser_action_row1473[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1471[] = {
+static int parser_action_row1474[] = {
4,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2,
- 81, 0, 477
+ 81, 0, 476
};
-static int parser_action_row1472[] = {
+static int parser_action_row1475[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1473[] = {
+static int parser_action_row1476[] = {
2,
- -1, 1, 369,
- 9, 0, 1017
+ -1, 1, 370,
+ 9, 0, 1020
};
-static int parser_action_row1474[] = {
+static int parser_action_row1477[] = {
32,
- -1, 1, 358,
+ -1, 1, 359,
0, 0, 1,
1, 0, 2,
- 9, 0, 466,
+ 9, 0, 465,
12, 0, 26,
15, 0, 28,
16, 0, 29,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row1475[] = {
+static int parser_action_row1478[] = {
3,
- -1, 3, 1474,
+ -1, 3, 1477,
28, 0, 34,
94, 0, 56
};
-static int parser_action_row1476[] = {
+static int parser_action_row1479[] = {
1,
-1, 1, 62
};
-static int parser_action_row1477[] = {
+static int parser_action_row1480[] = {
2,
- -1, 1, 369,
- 9, 0, 1017
+ -1, 1, 370,
+ 9, 0, 1020
};
-static int parser_action_row1478[] = {
+static int parser_action_row1481[] = {
32,
- -1, 1, 358,
+ -1, 1, 359,
0, 0, 1,
1, 0, 2,
- 9, 0, 466,
+ 9, 0, 465,
12, 0, 26,
15, 0, 28,
16, 0, 29,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row1479[] = {
+static int parser_action_row1482[] = {
1,
-1, 1, 79
};
-static int parser_action_row1480[] = {
+static int parser_action_row1483[] = {
1,
-1, 1, 66
};
-static int parser_action_row1481[] = {
+static int parser_action_row1484[] = {
2,
- -1, 1, 369,
- 9, 0, 1017
+ -1, 1, 370,
+ 9, 0, 1020
};
-static int parser_action_row1482[] = {
+static int parser_action_row1485[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row1483[] = {
+static int parser_action_row1486[] = {
3,
- -1, 3, 1482,
+ -1, 3, 1485,
28, 0, 34,
94, 0, 56
};
-static int parser_action_row1484[] = {
+static int parser_action_row1487[] = {
1,
-1, 1, 72
};
-static int parser_action_row1485[] = {
+static int parser_action_row1488[] = {
1,
-1, 1, 73
};
-static int parser_action_row1486[] = {
+static int parser_action_row1489[] = {
1,
-1, 1, 326
};
-static int parser_action_row1487[] = {
+static int parser_action_row1490[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row1488[] = {
+static int parser_action_row1491[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row1489[] = {
+static int parser_action_row1492[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row1490[] = {
+static int parser_action_row1493[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row1491[] = {
+static int parser_action_row1494[] = {
22,
- -1, 1, 358,
- 12, 0, 155,
- 22, 0, 156,
- 31, 0, 157,
- 38, 0, 158,
- 40, 0, 159,
+ -1, 1, 359,
+ 12, 0, 154,
+ 22, 0, 155,
+ 31, 0, 156,
+ 38, 0, 157,
+ 40, 0, 158,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 48, 0, 160,
+ 48, 0, 159,
51, 0, 46,
53, 0, 47,
- 65, 0, 161,
+ 65, 0, 160,
81, 0, 48,
82, 0, 49,
84, 0, 50,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row1492[] = {
- 1,
- -1, 1, 680
-};
-static int parser_action_row1493[] = {
- 2,
- -1, 3, 1492,
- 49, 0, 175
-};
-static int parser_action_row1494[] = {
- 1,
- -1, 1, 220
-};
static int parser_action_row1495[] = {
- 3,
- -1, 1, 376,
- 0, 0, 1,
- 1, 0, 2
+ 1,
+ -1, 1, 681
};
static int parser_action_row1496[] = {
2,
-1, 3, 1495,
- 45, 0, 1516
+ 49, 0, 174
};
static int parser_action_row1497[] = {
- 2,
- -1, 3, 1496,
- 52, 0, 1517
+ 1,
+ -1, 1, 220
};
static int parser_action_row1498[] = {
- 4,
- -1, 3, 1497,
- 0, 0, 83,
- 1, 0, 84,
- 80, 0, 184
+ 3,
+ -1, 1, 377,
+ 0, 0, 1,
+ 1, 0, 2
};
static int parser_action_row1499[] = {
2,
-1, 3, 1498,
- 47, 0, 1520
+ 45, 0, 1519
};
static int parser_action_row1500[] = {
2,
-1, 3, 1499,
- 52, 0, 1521
+ 52, 0, 1520
};
static int parser_action_row1501[] = {
- 2,
+ 4,
-1, 3, 1500,
- 52, 0, 1522
+ 0, 0, 82,
+ 1, 0, 83,
+ 80, 0, 183
};
static int parser_action_row1502[] = {
- 1,
- -1, 1, 57
+ 2,
+ -1, 3, 1501,
+ 47, 0, 1523
};
static int parser_action_row1503[] = {
2,
- -1, 1, 369,
- 9, 0, 1017
+ -1, 3, 1502,
+ 52, 0, 1524
};
static int parser_action_row1504[] = {
- 1,
- -1, 1, 63
+ 2,
+ -1, 3, 1503,
+ 52, 0, 1525
};
static int parser_action_row1505[] = {
1,
- -1, 1, 67
+ -1, 1, 57
};
static int parser_action_row1506[] = {
2,
- -1, 1, 369,
- 9, 0, 1017
+ -1, 1, 370,
+ 9, 0, 1020
};
static int parser_action_row1507[] = {
1,
- -1, 1, 68
+ -1, 1, 63
};
static int parser_action_row1508[] = {
- 2,
- -1, 1, 77,
- 14, 0, 725
+ 1,
+ -1, 1, 67
};
static int parser_action_row1509[] = {
- 1,
- -1, 1, 74
+ 2,
+ -1, 1, 370,
+ 9, 0, 1020
};
static int parser_action_row1510[] = {
1,
- -1, 1, 483
+ -1, 1, 68
};
static int parser_action_row1511[] = {
- 1,
- -1, 1, 488
+ 2,
+ -1, 1, 77,
+ 14, 0, 728
};
static int parser_action_row1512[] = {
1,
- -1, 1, 485
+ -1, 1, 74
};
static int parser_action_row1513[] = {
1,
- -1, 1, 490
+ -1, 1, 484
};
static int parser_action_row1514[] = {
+ 1,
+ -1, 1, 489
+};
+static int parser_action_row1515[] = {
+ 1,
+ -1, 1, 486
+};
+static int parser_action_row1516[] = {
+ 1,
+ -1, 1, 491
+};
+static int parser_action_row1517[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1515[] = {
+static int parser_action_row1518[] = {
2,
-1, 1, 221,
- 24, 1, 678
+ 24, 1, 679
};
-static int parser_action_row1516[] = {
+static int parser_action_row1519[] = {
21,
- -1, 1, 358,
- 12, 0, 816,
- 22, 0, 817,
- 31, 0, 818,
- 38, 0, 819,
- 40, 0, 820,
- 42, 0, 821,
- 43, 0, 822,
- 44, 0, 823,
- 45, 0, 824,
- 48, 0, 825,
- 51, 0, 826,
- 65, 0, 827,
+ -1, 1, 359,
+ 12, 0, 819,
+ 22, 0, 820,
+ 31, 0, 821,
+ 38, 0, 822,
+ 40, 0, 823,
+ 42, 0, 824,
+ 43, 0, 825,
+ 44, 0, 826,
+ 45, 0, 827,
+ 48, 0, 828,
+ 51, 0, 829,
+ 65, 0, 830,
81, 0, 48,
82, 0, 49,
- 84, 0, 828,
- 85, 0, 829,
- 86, 0, 830,
- 87, 0, 831,
+ 84, 0, 831,
+ 85, 0, 832,
+ 86, 0, 833,
+ 87, 0, 834,
88, 0, 54,
- 91, 0, 832
+ 91, 0, 835
};
-static int parser_action_row1517[] = {
+static int parser_action_row1520[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1518[] = {
+static int parser_action_row1521[] = {
1,
- -1, 1, 437
+ -1, 1, 438
};
-static int parser_action_row1519[] = {
+static int parser_action_row1522[] = {
3,
- -1, 3, 1518,
- 0, 0, 83,
- 1, 0, 84
+ -1, 3, 1521,
+ 0, 0, 82,
+ 1, 0, 83
};
-static int parser_action_row1520[] = {
+static int parser_action_row1523[] = {
1,
-1, 1, 320
};
-static int parser_action_row1521[] = {
+static int parser_action_row1524[] = {
3,
- -1, 1, 376,
+ -1, 1, 377,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1522[] = {
+static int parser_action_row1525[] = {
1,
-1, 1, 129
};
-static int parser_action_row1523[] = {
+static int parser_action_row1526[] = {
1,
-1, 1, 127
};
-static int parser_action_row1524[] = {
+static int parser_action_row1527[] = {
1,
-1, 1, 58
};
-static int parser_action_row1525[] = {
+static int parser_action_row1528[] = {
1,
-1, 1, 69
};
-static int parser_action_row1526[] = {
+static int parser_action_row1529[] = {
1,
-1, 1, 65
};
-static int parser_action_row1527[] = {
+static int parser_action_row1530[] = {
2,
- -1, 3, 1526,
- 15, 0, 1531
+ -1, 3, 1529,
+ 15, 0, 1534
};
-static int parser_action_row1528[] = {
+static int parser_action_row1531[] = {
1,
- -1, 1, 393
+ -1, 1, 394
};
-static int parser_action_row1529[] = {
+static int parser_action_row1532[] = {
2,
- -1, 3, 1528,
- 52, 0, 1532
+ -1, 3, 1531,
+ 52, 0, 1535
};
-static int parser_action_row1530[] = {
+static int parser_action_row1533[] = {
1,
-1, 1, 321
};
-static int parser_action_row1531[] = {
+static int parser_action_row1534[] = {
2,
- -1, 3, 1530,
- 52, 0, 1533
+ -1, 3, 1533,
+ 52, 0, 1536
};
-static int parser_action_row1532[] = {
+static int parser_action_row1535[] = {
32,
- -1, 1, 358,
+ -1, 1, 359,
0, 0, 1,
1, 0, 2,
- 9, 0, 762,
- 12, 0, 662,
- 15, 0, 663,
- 16, 0, 664,
- 22, 0, 665,
- 25, 0, 667,
- 26, 0, 668,
- 27, 0, 669,
- 33, 0, 670,
- 34, 0, 671,
- 35, 0, 672,
- 36, 0, 673,
- 37, 0, 674,
+ 9, 0, 765,
+ 12, 0, 664,
+ 15, 0, 665,
+ 16, 0, 666,
+ 22, 0, 667,
+ 25, 0, 669,
+ 26, 0, 670,
+ 27, 0, 671,
+ 33, 0, 672,
+ 34, 0, 673,
+ 35, 0, 674,
+ 36, 0, 675,
+ 37, 0, 676,
38, 0, 40,
42, 0, 41,
43, 0, 42,
44, 0, 43,
45, 0, 44,
- 50, 0, 675,
+ 50, 0, 677,
51, 0, 46,
53, 0, 47,
81, 0, 48,
88, 0, 54,
91, 0, 55
};
-static int parser_action_row1533[] = {
+static int parser_action_row1536[] = {
1,
- -1, 1, 438
+ -1, 1, 439
};
-static int parser_action_row1534[] = {
+static int parser_action_row1537[] = {
1,
-1, 1, 131
};
-static int parser_action_row1535[] = {
+static int parser_action_row1538[] = {
1,
- -1, 1, 679
+ -1, 1, 680
};
-static int parser_action_row1536[] = {
+static int parser_action_row1539[] = {
2,
- -1, 3, 1535,
- 49, 0, 175
+ -1, 3, 1538,
+ 49, 0, 174
};
-static int parser_action_row1537[] = {
+static int parser_action_row1540[] = {
2,
-1, 1, 220,
- 24, 1, 677
+ 24, 1, 678
};
const int* const parser_action_table[] = {
parser_action_row1534,
parser_action_row1535,
parser_action_row1536,
- parser_action_row1537
+ parser_action_row1537,
+ parser_action_row1538,
+ parser_action_row1539,
+ parser_action_row1540
};
static int parser_goto_row1[] = {
static int parser_goto_row3[] = {
3,
-1, 5,
- 16, 86,
- 23, 86
+ 16, 85,
+ 23, 85
};
static int parser_goto_row4[] = {
9,
-1, 6,
- 18, 94,
- 25, 94,
- 89, 94,
- 93, 94,
- 103, 94,
- 105, 94,
- 233, 94,
- 239, 94
+ 18, 93,
+ 25, 93,
+ 88, 93,
+ 92, 93,
+ 102, 93,
+ 104, 93,
+ 231, 93,
+ 237, 93
};
static int parser_goto_row5[] = {
16,
-1, 7,
4, 21,
- 16, 87,
- 17, 90,
- 18, 95,
- 23, 101,
- 24, 104,
- 25, 106,
+ 16, 86,
+ 17, 89,
+ 18, 94,
+ 23, 100,
+ 24, 103,
+ 25, 105,
+ 87, 230,
88, 232,
- 89, 234,
- 93, 236,
+ 92, 234,
+ 101, 236,
102, 238,
- 103, 240,
- 105, 241,
- 233, 390,
- 239, 392
+ 104, 239,
+ 231, 389,
+ 237, 391
};
static int parser_goto_row6[] = {
1,
};
static int parser_goto_row8[] = {
14,
- -1, 1031,
+ -1, 1034,
12, 57,
- 22, 100,
- 92, 235,
- 96, 235,
- 184, 342,
- 471, 600,
- 475, 603,
- 706, 603,
- 725, 603,
- 734, 603,
- 810, 603,
- 1000, 1128,
- 1401, 603
+ 22, 99,
+ 91, 233,
+ 95, 233,
+ 183, 340,
+ 470, 600,
+ 474, 603,
+ 708, 603,
+ 728, 603,
+ 737, 603,
+ 813, 603,
+ 1003, 1131,
+ 1404, 603
};
static int parser_goto_row9[] = {
1,
- -1, 364
+ -1, 363
};
static int parser_goto_row10[] = {
1,
- -1, 741
+ -1, 744
};
static int parser_goto_row11[] = {
2,
- -1, 1146,
- 1148, 1269
+ -1, 1149,
+ 1151, 1272
};
static int parser_goto_row12[] = {
2,
- -1, 1022,
- 1267, 1342
+ -1, 1025,
+ 1270, 1345
};
static int parser_goto_row13[] = {
5,
- -1, 866,
- 872, 1033,
- 1025, 1033,
- 1041, 1033,
- 1182, 1033
+ -1, 869,
+ 875, 1036,
+ 1028, 1036,
+ 1044, 1036,
+ 1185, 1036
};
static int parser_goto_row14[] = {
9,
- -1, 867,
- 873, 1036,
- 1026, 1036,
- 1035, 1036,
- 1042, 1036,
- 1151, 1036,
- 1183, 1036,
- 1186, 1036,
- 1295, 1036
+ -1, 870,
+ 876, 1039,
+ 1029, 1039,
+ 1038, 1039,
+ 1045, 1039,
+ 1154, 1039,
+ 1186, 1039,
+ 1189, 1039,
+ 1298, 1039
};
static int parser_goto_row15[] = {
1,
- -1, 868
+ -1, 871
};
static int parser_goto_row16[] = {
6,
- -1, 726,
- 624, 729,
- 1274, 1345,
- 1399, 1440,
- 1404, 1448,
- 1507, 1525
+ -1, 729,
+ 625, 732,
+ 1277, 1348,
+ 1402, 1443,
+ 1407, 1451,
+ 1510, 1528
};
static int parser_goto_row17[] = {
6,
- -1, 736,
- 1349, 1403,
+ -1, 739,
1352, 1406,
- 1398, 1437,
- 1400, 1442,
- 1405, 1449
+ 1355, 1409,
+ 1401, 1440,
+ 1403, 1445,
+ 1408, 1452
};
static int parser_goto_row18[] = {
8,
- -1, 204,
- 100, 237,
- 235, 391,
- 342, 476,
- 600, 707,
- 603, 711,
- 1031, 1154,
- 1128, 1258
+ -1, 203,
+ 99, 235,
+ 233, 390,
+ 340, 475,
+ 600, 709,
+ 603, 713,
+ 1034, 1157,
+ 1131, 1261
};
static int parser_goto_row19[] = {
6,
- -1, 1011,
- 362, 504,
- 1140, 1265,
- 1275, 1346,
- 1277, 1348,
- 1279, 1351
+ -1, 1014,
+ 361, 503,
+ 1143, 1268,
+ 1278, 1349,
+ 1280, 1351,
+ 1282, 1354
};
static int parser_goto_row20[] = {
6,
- -1, 629,
- 1277, 1349,
- 1279, 1352,
- 1346, 1398,
- 1348, 1400,
- 1351, 1405
+ -1, 630,
+ 1280, 1352,
+ 1282, 1355,
+ 1349, 1401,
+ 1351, 1403,
+ 1354, 1408
};
static int parser_goto_row21[] = {
1,
- -1, 855
+ -1, 858
};
static int parser_goto_row22[] = {
2,
- -1, 1007,
- 1009, 1135
+ -1, 1010,
+ 1012, 1138
};
static int parser_goto_row23[] = {
2,
- -1, 856,
- 1134, 1261
+ -1, 859,
+ 1137, 1264
};
static int parser_goto_row24[] = {
8,
- -1, 737,
- 736, 863,
- 1352, 1407,
- 1398, 1438,
- 1405, 1450,
- 1406, 1452,
- 1437, 1474,
- 1449, 1482
+ -1, 740,
+ 739, 866,
+ 1355, 1410,
+ 1401, 1441,
+ 1408, 1453,
+ 1409, 1455,
+ 1440, 1477,
+ 1452, 1485
};
static int parser_goto_row25[] = {
2,
- -1, 1138,
- 1139, 1263
+ -1, 1141,
+ 1142, 1266
};
static int parser_goto_row26[] = {
2,
- -1, 1012,
- 1262, 1340
+ -1, 1015,
+ 1265, 1343
};
static int parser_goto_row27[] = {
1,
- -1, 1013
+ -1, 1016
};
static int parser_goto_row28[] = {
1,
- -1, 1014
+ -1, 1017
};
static int parser_goto_row29[] = {
1,
static int parser_goto_row31[] = {
11,
-1, 59,
- 737, 864,
- 741, 869,
- 863, 1020,
- 874, 1038,
- 1407, 1453,
- 1438, 1475,
- 1450, 1483,
- 1452, 1484,
- 1474, 1503,
- 1482, 1508
+ 740, 867,
+ 744, 872,
+ 866, 1023,
+ 877, 1041,
+ 1410, 1456,
+ 1441, 1478,
+ 1453, 1486,
+ 1455, 1487,
+ 1477, 1506,
+ 1485, 1511
};
static int parser_goto_row32[] = {
1,
static int parser_goto_row33[] = {
5,
-1, 10,
- 17, 91,
- 24, 91,
- 88, 91,
- 102, 91
+ 17, 90,
+ 24, 90,
+ 87, 90,
+ 101, 90
};
static int parser_goto_row34[] = {
24,
- -1, 934,
- 190, 346,
- 412, 539,
- 429, 559,
- 450, 576,
- 598, 704,
- 612, 704,
- 703, 704,
- 718, 704,
- 732, 857,
- 779, 899,
- 858, 1015,
- 877, 1045,
- 886, 1049,
- 918, 1077,
- 1032, 1161,
- 1084, 1216,
- 1153, 1274,
- 1262, 1015,
- 1283, 1353,
- 1339, 1161,
- 1341, 1397,
- 1430, 1466,
- 1435, 1471
+ -1, 937,
+ 189, 344,
+ 411, 539,
+ 428, 559,
+ 449, 576,
+ 598, 706,
+ 612, 706,
+ 705, 706,
+ 720, 706,
+ 735, 860,
+ 782, 902,
+ 861, 1018,
+ 880, 1048,
+ 889, 1052,
+ 921, 1080,
+ 1035, 1164,
+ 1087, 1219,
+ 1156, 1277,
+ 1265, 1018,
+ 1286, 1356,
+ 1342, 1164,
+ 1344, 1400,
+ 1433, 1469,
+ 1438, 1474
};
static int parser_goto_row35[] = {
4,
- -1, 705,
- 612, 719,
- 703, 799,
- 718, 813
+ -1, 707,
+ 612, 721,
+ 705, 802,
+ 720, 816
};
static int parser_goto_row36[] = {
2,
- -1, 801,
- 802, 919
+ -1, 804,
+ 805, 922
};
static int parser_goto_row37[] = {
5,
- -1, 630,
- 854, 1002,
- 1003, 1131,
- 1005, 1132,
- 1347, 1399
+ -1, 631,
+ 857, 1005,
+ 1006, 1134,
+ 1008, 1135,
+ 1350, 1402
};
static int parser_goto_row38[] = {
- 7,
- -1, 293,
- 294, 431,
- 767, 890,
- 891, 1051,
- 1021, 1143,
- 1144, 1266,
- 1350, 1404
+ 8,
+ -1, 291,
+ 292, 430,
+ 347, 482,
+ 770, 893,
+ 894, 1054,
+ 1024, 1146,
+ 1147, 1269,
+ 1353, 1407
};
static int parser_goto_row39[] = {
24,
- -1, 143,
- 32, 151,
- 337, 467,
- 465, 593,
- 563, 693,
- 666, 769,
- 668, 151,
- 735, 861,
- 790, 911,
- 862, 1019,
- 898, 467,
- 1056, 593,
- 1074, 1211,
- 1196, 693,
- 1370, 911,
- 1402, 1445,
- 1425, 1461,
- 1436, 1472,
- 1441, 1476,
- 1446, 1480,
- 1460, 1211,
- 1473, 1502,
- 1477, 1505,
- 1531, 1461
+ -1, 142,
+ 32, 150,
+ 335, 466,
+ 464, 593,
+ 563, 695,
+ 668, 772,
+ 670, 150,
+ 738, 864,
+ 793, 914,
+ 865, 1022,
+ 901, 466,
+ 1059, 593,
+ 1077, 1214,
+ 1199, 695,
+ 1373, 914,
+ 1405, 1448,
+ 1428, 1464,
+ 1439, 1475,
+ 1444, 1479,
+ 1449, 1483,
+ 1463, 1214,
+ 1476, 1505,
+ 1480, 1508,
+ 1534, 1464
};
static int parser_goto_row40[] = {
1,
static int parser_goto_row41[] = {
2,
-1, 61,
- 682, 787
+ 684, 790
};
static int parser_goto_row42[] = {
4,
- -1, 289,
- 468, 595,
- 763, 888,
- 1058, 1201
+ -1, 287,
+ 467, 595,
+ 766, 891,
+ 1061, 1204
};
static int parser_goto_row43[] = {
4,
- -1, 206,
- 208, 366,
- 428, 366,
- 910, 366
+ -1, 205,
+ 207, 365,
+ 427, 365,
+ 913, 365
};
static int parser_goto_row44[] = {
16,
- -1, 144,
+ -1, 143,
12, 62,
22, 62,
- 92, 62,
- 96, 62,
- 145, 290,
- 207, 365,
- 367, 365,
- 427, 365,
- 468, 290,
- 558, 365,
- 562, 676,
- 682, 788,
- 763, 290,
- 1058, 290,
- 1195, 676
+ 91, 62,
+ 95, 62,
+ 144, 288,
+ 206, 364,
+ 366, 364,
+ 426, 364,
+ 467, 288,
+ 558, 364,
+ 562, 678,
+ 684, 791,
+ 766, 288,
+ 1061, 288,
+ 1198, 678
};
static int parser_goto_row45[] = {
18,
- -1, 176,
- 37, 177,
- 146, 291,
- 152, 297,
- 671, 775,
- 672, 776,
- 694, 793,
- 766, 889,
- 772, 894,
- 929, 1082,
- 930, 1083,
- 1156, 1281,
- 1157, 1282,
- 1212, 1320,
- 1309, 1371,
- 1462, 1493,
- 1492, 1514,
- 1535, 1536
+ -1, 175,
+ 37, 176,
+ 145, 289,
+ 151, 295,
+ 673, 778,
+ 674, 779,
+ 696, 796,
+ 769, 892,
+ 775, 897,
+ 932, 1085,
+ 933, 1086,
+ 1159, 1284,
+ 1160, 1285,
+ 1215, 1323,
+ 1312, 1374,
+ 1465, 1496,
+ 1495, 1517,
+ 1538, 1539
};
static int parser_goto_row46[] = {
8,
-1, 63,
- 812, 935,
- 1032, 1162,
- 1080, 935,
- 1219, 935,
- 1284, 935,
- 1339, 1162,
- 1431, 935
+ 815, 938,
+ 1035, 1165,
+ 1083, 938,
+ 1222, 938,
+ 1287, 938,
+ 1342, 1165,
+ 1434, 938
};
static int parser_goto_row47[] = {
6,
-1, 64,
- 812, 936,
- 1080, 936,
- 1219, 936,
- 1284, 936,
- 1431, 936
+ 815, 939,
+ 1083, 939,
+ 1222, 939,
+ 1287, 939,
+ 1434, 939
};
static int parser_goto_row48[] = {
15,
- -1, 373,
- 222, 382,
- 223, 384,
- 640, 748,
- 641, 750,
- 781, 902,
- 783, 905,
- 784, 907,
- 1204, 1313,
- 1205, 1315,
- 1286, 1356,
- 1287, 1358,
- 1289, 1361,
- 1457, 1487,
- 1458, 1489
+ -1, 372,
+ 220, 381,
+ 221, 383,
+ 642, 751,
+ 643, 753,
+ 784, 905,
+ 786, 908,
+ 787, 910,
+ 1207, 1316,
+ 1208, 1318,
+ 1289, 1359,
+ 1290, 1361,
+ 1292, 1364,
+ 1460, 1490,
+ 1461, 1492
};
static int parser_goto_row49[] = {
8,
-1, 65,
- 812, 937,
- 1032, 1163,
- 1080, 937,
- 1219, 937,
- 1284, 937,
- 1339, 1163,
- 1431, 937
+ 815, 940,
+ 1035, 1166,
+ 1083, 940,
+ 1222, 940,
+ 1287, 940,
+ 1342, 1166,
+ 1434, 940
};
static int parser_goto_row50[] = {
1,
};
static int parser_goto_row51[] = {
3,
- -1, 677,
- 682, 789,
- 787, 909
+ -1, 679,
+ 684, 792,
+ 790, 912
};
static int parser_goto_row52[] = {
8,
-1, 67,
- 812, 938,
- 1032, 1164,
- 1080, 938,
- 1219, 938,
- 1284, 938,
- 1339, 1164,
- 1431, 938
+ 815, 941,
+ 1035, 1167,
+ 1083, 941,
+ 1222, 941,
+ 1287, 941,
+ 1342, 1167,
+ 1434, 941
};
static int parser_goto_row53[] = {
8,
-1, 68,
- 812, 939,
- 1032, 1165,
- 1080, 939,
- 1219, 939,
- 1284, 939,
- 1339, 1165,
- 1431, 939
+ 815, 942,
+ 1035, 1168,
+ 1083, 942,
+ 1222, 942,
+ 1287, 942,
+ 1342, 1168,
+ 1434, 942
};
static int parser_goto_row54[] = {
8,
-1, 69,
- 812, 940,
- 1032, 1166,
- 1080, 940,
- 1219, 940,
- 1284, 940,
- 1339, 1166,
- 1431, 940
+ 815, 943,
+ 1035, 1169,
+ 1083, 943,
+ 1222, 943,
+ 1287, 943,
+ 1342, 1169,
+ 1434, 943
};
static int parser_goto_row55[] = {
8,
-1, 70,
- 812, 941,
- 1032, 1167,
- 1080, 941,
- 1219, 941,
- 1284, 941,
- 1339, 1167,
- 1431, 941
+ 815, 944,
+ 1035, 1170,
+ 1083, 944,
+ 1222, 944,
+ 1287, 944,
+ 1342, 1170,
+ 1434, 944
};
static int parser_goto_row56[] = {
2,
- -1, 179,
- 674, 777
+ -1, 178,
+ 676, 780
};
static int parser_goto_row57[] = {
45,
- -1, 162,
- 39, 180,
- 179, 335,
- 370, 513,
- 373, 514,
- 381, 518,
- 382, 519,
- 383, 520,
- 384, 521,
- 480, 613,
- 560, 659,
- 660, 760,
- 674, 180,
- 747, 878,
- 748, 879,
- 749, 880,
+ -1, 161,
+ 39, 179,
+ 178, 333,
+ 369, 513,
+ 372, 514,
+ 380, 518,
+ 381, 519,
+ 382, 520,
+ 383, 521,
+ 479, 613,
+ 560, 661,
+ 662, 763,
+ 676, 179,
750, 881,
- 777, 335,
- 901, 513,
- 902, 514,
- 904, 518,
- 905, 519,
- 906, 520,
- 907, 521,
- 928, 1081,
- 1060, 613,
- 1155, 1280,
- 1193, 659,
- 1306, 760,
- 1312, 878,
- 1313, 879,
- 1314, 880,
+ 751, 882,
+ 752, 883,
+ 753, 884,
+ 780, 333,
+ 904, 513,
+ 905, 514,
+ 907, 518,
+ 908, 519,
+ 909, 520,
+ 910, 521,
+ 931, 1084,
+ 1063, 613,
+ 1158, 1283,
+ 1196, 661,
+ 1309, 763,
1315, 881,
- 1323, 1382,
- 1355, 1411,
- 1356, 1412,
- 1357, 1413,
+ 1316, 882,
+ 1317, 883,
+ 1318, 884,
+ 1326, 1385,
1358, 1414,
- 1360, 1417,
- 1361, 1418,
- 1409, 1454,
- 1486, 1509,
- 1487, 1510,
- 1488, 1511,
- 1489, 1512
+ 1359, 1415,
+ 1360, 1416,
+ 1361, 1417,
+ 1363, 1420,
+ 1364, 1421,
+ 1412, 1457,
+ 1489, 1512,
+ 1490, 1513,
+ 1491, 1514,
+ 1492, 1515
};
static int parser_goto_row58[] = {
50,
- -1, 163,
- 39, 181,
- 149, 295,
- 150, 296,
- 179, 181,
- 191, 347,
- 192, 348,
- 219, 378,
- 244, 394,
- 255, 402,
- 302, 437,
- 368, 402,
- 374, 515,
- 393, 402,
- 522, 402,
- 670, 181,
- 674, 181,
- 696, 795,
- 721, 815,
- 755, 883,
- 768, 892,
- 770, 893,
- 777, 181,
- 797, 916,
- 812, 942,
- 901, 181,
- 902, 181,
- 904, 181,
- 905, 181,
- 906, 181,
- 907, 181,
- 954, 1092,
- 965, 1101,
- 1060, 181,
- 1080, 942,
- 1193, 181,
- 1210, 1319,
- 1219, 942,
- 1284, 942,
- 1306, 181,
- 1311, 1373,
- 1312, 181,
- 1313, 181,
- 1314, 181,
- 1315, 181,
- 1321, 1380,
- 1383, 1427,
- 1431, 942,
- 1481, 1507,
- 1490, 1513
+ -1, 162,
+ 39, 180,
+ 148, 293,
+ 149, 294,
+ 178, 180,
+ 190, 345,
+ 191, 346,
+ 218, 377,
+ 242, 393,
+ 253, 401,
+ 300, 436,
+ 367, 401,
+ 373, 515,
+ 392, 401,
+ 522, 401,
+ 672, 180,
+ 676, 180,
+ 698, 798,
+ 723, 818,
+ 758, 886,
+ 771, 895,
+ 773, 896,
+ 780, 180,
+ 800, 919,
+ 815, 945,
+ 904, 180,
+ 905, 180,
+ 907, 180,
+ 908, 180,
+ 909, 180,
+ 910, 180,
+ 957, 1095,
+ 968, 1104,
+ 1063, 180,
+ 1083, 945,
+ 1196, 180,
+ 1213, 1322,
+ 1222, 945,
+ 1287, 945,
+ 1309, 180,
+ 1314, 1376,
+ 1315, 180,
+ 1316, 180,
+ 1317, 180,
+ 1318, 180,
+ 1324, 1383,
+ 1386, 1430,
+ 1434, 945,
+ 1484, 1510,
+ 1493, 1516
};
static int parser_goto_row59[] = {
1,
- -1, 164
+ -1, 163
};
static int parser_goto_row60[] = {
6,
- -1, 165,
- 303, 438,
- 444, 570,
- 446, 572,
- 447, 573,
- 571, 700
+ -1, 164,
+ 301, 437,
+ 443, 570,
+ 445, 572,
+ 446, 573,
+ 571, 702
};
static int parser_goto_row61[] = {
1,
- -1, 166
+ -1, 165
};
static int parser_goto_row62[] = {
10,
- -1, 167,
- 448, 574,
- 449, 575,
- 453, 579,
- 454, 580,
- 455, 581,
- 456, 582,
- 457, 583,
- 458, 584,
- 459, 585
+ -1, 166,
+ 447, 574,
+ 448, 575,
+ 452, 579,
+ 453, 580,
+ 454, 581,
+ 455, 582,
+ 456, 583,
+ 457, 584,
+ 458, 585
};
static int parser_goto_row63[] = {
3,
- -1, 168,
- 451, 577,
- 452, 578
+ -1, 167,
+ 450, 577,
+ 451, 578
};
static int parser_goto_row64[] = {
5,
- -1, 169,
- 460, 586,
- 461, 587,
- 462, 588,
- 463, 589
+ -1, 168,
+ 459, 586,
+ 460, 587,
+ 461, 588,
+ 462, 589
};
static int parser_goto_row65[] = {
3,
- -1, 170,
- 305, 440,
- 308, 443
+ -1, 169,
+ 303, 439,
+ 306, 442
};
static int parser_goto_row66[] = {
1,
- -1, 171
+ -1, 170
};
static int parser_goto_row67[] = {
47,
- -1, 172,
+ -1, 171,
12, 71,
22, 71,
28, 71,
32, 71,
- 92, 71,
- 96, 71,
- 145, 71,
- 160, 306,
- 207, 71,
- 337, 71,
- 367, 71,
- 427, 71,
- 465, 71,
- 468, 71,
+ 91, 71,
+ 95, 71,
+ 144, 71,
+ 159, 304,
+ 206, 71,
+ 335, 71,
+ 366, 71,
+ 426, 71,
+ 464, 71,
+ 467, 71,
558, 71,
- 562, 678,
+ 562, 680,
563, 71,
- 663, 678,
- 666, 71,
- 668, 678,
- 682, 71,
- 735, 71,
- 763, 71,
- 790, 71,
- 812, 943,
- 862, 71,
- 898, 678,
- 1056, 678,
- 1058, 71,
- 1074, 71,
- 1080, 943,
- 1195, 678,
- 1196, 678,
- 1219, 943,
- 1284, 943,
- 1370, 678,
- 1402, 71,
- 1425, 71,
- 1431, 943,
- 1436, 71,
- 1441, 71,
- 1446, 71,
- 1460, 678,
- 1473, 71,
- 1477, 71,
- 1531, 678
+ 665, 680,
+ 668, 71,
+ 670, 680,
+ 684, 71,
+ 738, 71,
+ 766, 71,
+ 793, 71,
+ 815, 946,
+ 865, 71,
+ 901, 680,
+ 1059, 680,
+ 1061, 71,
+ 1077, 71,
+ 1083, 946,
+ 1198, 680,
+ 1199, 680,
+ 1222, 946,
+ 1287, 946,
+ 1373, 680,
+ 1405, 71,
+ 1428, 71,
+ 1434, 946,
+ 1439, 71,
+ 1444, 71,
+ 1449, 71,
+ 1463, 680,
+ 1476, 71,
+ 1480, 71,
+ 1534, 680
};
static int parser_goto_row68[] = {
1,
static int parser_goto_row69[] = {
75,
-1, 73,
- 26, 124,
- 78, 124,
- 116, 124,
- 221, 124,
- 225, 124,
- 227, 124,
- 245, 124,
- 247, 124,
- 256, 124,
- 388, 124,
- 406, 124,
- 408, 124,
- 409, 124,
- 410, 124,
- 411, 124,
- 413, 124,
- 414, 124,
- 415, 124,
- 416, 124,
- 417, 124,
- 418, 124,
- 419, 124,
- 420, 124,
- 421, 124,
- 422, 124,
- 423, 124,
- 424, 124,
- 425, 124,
- 507, 124,
- 510, 124,
- 534, 124,
- 643, 124,
- 644, 124,
- 662, 124,
- 680, 124,
- 722, 833,
- 753, 124,
- 782, 124,
- 786, 124,
- 791, 124,
- 808, 124,
- 825, 833,
- 913, 124,
- 955, 833,
- 957, 833,
- 966, 833,
- 1032, 124,
- 1061, 124,
- 1063, 124,
- 1106, 833,
- 1108, 833,
- 1109, 833,
- 1110, 833,
- 1111, 833,
- 1113, 833,
- 1114, 833,
- 1115, 833,
- 1116, 833,
- 1117, 833,
- 1118, 833,
- 1119, 833,
- 1120, 833,
- 1121, 833,
- 1122, 833,
- 1123, 833,
- 1124, 833,
- 1125, 833,
- 1207, 124,
- 1208, 124,
- 1233, 833,
- 1302, 124,
- 1318, 124,
- 1339, 124,
- 1515, 833
+ 26, 123,
+ 77, 123,
+ 115, 123,
+ 219, 123,
+ 223, 123,
+ 225, 123,
+ 243, 123,
+ 245, 123,
+ 254, 123,
+ 387, 123,
+ 405, 123,
+ 407, 123,
+ 408, 123,
+ 409, 123,
+ 410, 123,
+ 412, 123,
+ 413, 123,
+ 414, 123,
+ 415, 123,
+ 416, 123,
+ 417, 123,
+ 418, 123,
+ 419, 123,
+ 420, 123,
+ 421, 123,
+ 422, 123,
+ 423, 123,
+ 424, 123,
+ 507, 123,
+ 510, 123,
+ 534, 123,
+ 645, 123,
+ 646, 123,
+ 664, 123,
+ 682, 123,
+ 724, 836,
+ 756, 123,
+ 785, 123,
+ 789, 123,
+ 794, 123,
+ 811, 123,
+ 828, 836,
+ 916, 123,
+ 958, 836,
+ 960, 836,
+ 969, 836,
+ 1035, 123,
+ 1064, 123,
+ 1066, 123,
+ 1109, 836,
+ 1111, 836,
+ 1112, 836,
+ 1113, 836,
+ 1114, 836,
+ 1116, 836,
+ 1117, 836,
+ 1118, 836,
+ 1119, 836,
+ 1120, 836,
+ 1121, 836,
+ 1122, 836,
+ 1123, 836,
+ 1124, 836,
+ 1125, 836,
+ 1126, 836,
+ 1127, 836,
+ 1128, 836,
+ 1210, 123,
+ 1211, 123,
+ 1236, 836,
+ 1305, 123,
+ 1321, 123,
+ 1342, 123,
+ 1518, 836
};
static int parser_goto_row70[] = {
1,
};
static int parser_goto_row72[] = {
2,
- -1, 215,
- 218, 376
+ -1, 214,
+ 217, 375
};
static int parser_goto_row73[] = {
1,
- -1, 216
+ -1, 215
};
static int parser_goto_row74[] = {
2,
- -1, 217,
- 218, 377
+ -1, 216,
+ 217, 376
};
static int parser_goto_row75[] = {
14,
- -1, 185,
- 147, 294,
- 767, 891,
- 812, 944,
- 854, 1003,
- 1021, 1144,
- 1032, 1168,
- 1080, 944,
- 1219, 944,
- 1284, 944,
- 1339, 1391,
- 1410, 1455,
- 1431, 944,
- 1497, 1518
+ -1, 184,
+ 146, 292,
+ 770, 894,
+ 815, 947,
+ 857, 1006,
+ 1024, 1147,
+ 1035, 1171,
+ 1083, 947,
+ 1222, 947,
+ 1287, 947,
+ 1342, 1394,
+ 1413, 1458,
+ 1434, 947,
+ 1500, 1521
};
static int parser_goto_row76[] = {
45,
- -1, 479,
- 41, 186,
- 42, 187,
- 43, 188,
- 44, 189,
- 50, 195,
- 51, 196,
- 52, 197,
- 53, 198,
- 55, 199,
- 76, 220,
- 112, 248,
- 113, 249,
- 114, 250,
- 115, 251,
- 119, 257,
- 120, 258,
- 121, 259,
- 122, 260,
- 123, 261,
- 217, 375,
- 377, 516,
- 477, 611,
- 609, 717,
- 614, 720,
- 808, 924,
- 821, 958,
- 822, 959,
- 823, 960,
+ -1, 478,
+ 41, 185,
+ 42, 186,
+ 43, 187,
+ 44, 188,
+ 50, 194,
+ 51, 195,
+ 52, 196,
+ 53, 197,
+ 55, 198,
+ 111, 246,
+ 112, 247,
+ 113, 248,
+ 114, 249,
+ 118, 255,
+ 119, 256,
+ 120, 257,
+ 121, 258,
+ 122, 259,
+ 216, 374,
+ 376, 516,
+ 476, 611,
+ 609, 719,
+ 614, 722,
+ 619, 726,
+ 811, 927,
824, 961,
- 828, 967,
- 829, 968,
- 830, 969,
+ 825, 962,
+ 826, 963,
+ 827, 964,
831, 970,
832, 971,
- 854, 1004,
- 951, 1091,
- 1090, 1221,
- 1104, 1230,
- 1105, 1231,
- 1218, 1325,
- 1239, 1334,
- 1331, 1386,
- 1333, 1387,
- 1381, 1426
+ 833, 972,
+ 834, 973,
+ 835, 974,
+ 857, 1007,
+ 954, 1094,
+ 1093, 1224,
+ 1107, 1233,
+ 1108, 1234,
+ 1221, 1328,
+ 1242, 1337,
+ 1334, 1389,
+ 1336, 1390,
+ 1384, 1429
};
static int parser_goto_row77[] = {
1,
- -1, 343
+ -1, 341
};
static int parser_goto_row78[] = {
3,
- -1, 849,
- 734, 859,
- 1401, 1443
+ -1, 852,
+ 737, 862,
+ 1404, 1446
};
static int parser_goto_row79[] = {
3,
- -1, 850,
- 475, 604,
- 706, 804
+ -1, 853,
+ 474, 604,
+ 708, 807
};
static int parser_goto_row80[] = {
2,
-1, 605,
- 810, 927
+ 813, 930
};
static int parser_goto_row81[] = {
1,
- -1, 925
+ -1, 928
};
static int parser_goto_row82[] = {
2,
- -1, 714,
- 715, 811
+ -1, 716,
+ 717, 814
};
static int parser_goto_row83[] = {
3,
- -1, 998,
- 860, 1016,
- 1444, 1478
+ -1, 1001,
+ 863, 1019,
+ 1447, 1481
};
static int parser_goto_row84[] = {
2,
- -1, 999,
- 1001, 1129
+ -1, 1002,
+ 1004, 1132
};
static int parser_goto_row85[] = {
2,
- -1, 870,
- 874, 1039
+ -1, 873,
+ 877, 1042
};
static int parser_goto_row86[] = {
4,
- -1, 945,
- 1080, 1215,
- 1284, 1354,
- 1431, 1467
+ -1, 948,
+ 1083, 1218,
+ 1287, 1357,
+ 1434, 1470
};
static int parser_goto_row87[] = {
3,
- -1, 1088,
- 1089, 1220,
- 1291, 1220
+ -1, 1091,
+ 1092, 1223,
+ 1294, 1223
};
static int parser_goto_row88[] = {
2,
- -1, 946,
- 1219, 1326
+ -1, 949,
+ 1222, 1329
};
static int parser_goto_row89[] = {
4,
-1, 609,
- 707, 805,
- 711, 808,
- 1258, 1339
+ 709, 808,
+ 713, 811,
+ 1261, 1342
};
static int parser_goto_row90[] = {
33,
- -1, 125,
- 78, 223,
- 107, 243,
- 128, 264,
- 174, 332,
- 221, 379,
- 262, 405,
- 330, 379,
- 396, 528,
- 439, 568,
- 507, 637,
- 510, 641,
- 553, 654,
- 556, 657,
- 590, 637,
- 592, 702,
- 680, 784,
- 708, 806,
- 756, 884,
- 782, 379,
- 816, 953,
- 835, 974,
- 948, 223,
- 972, 1103,
- 1061, 637,
- 1063, 1205,
- 1096, 1226,
- 1170, 1287,
- 1254, 1335,
+ -1, 124,
+ 77, 221,
+ 106, 241,
+ 127, 262,
+ 173, 330,
+ 219, 378,
+ 260, 404,
+ 328, 378,
+ 395, 528,
+ 438, 568,
+ 507, 639,
+ 510, 643,
+ 553, 656,
+ 556, 659,
+ 590, 639,
+ 592, 704,
+ 682, 787,
+ 710, 809,
+ 759, 887,
+ 785, 378,
+ 819, 956,
+ 838, 977,
+ 951, 221,
+ 975, 1106,
+ 1064, 639,
+ 1066, 1208,
+ 1099, 1229,
+ 1173, 1290,
1257, 1338,
- 1324, 641,
- 1384, 1428,
- 1416, 1458
+ 1260, 1341,
+ 1327, 643,
+ 1387, 1431,
+ 1419, 1461
};
static int parser_goto_row91[] = {
22,
- -1, 126,
- 78, 224,
- 221, 380,
+ -1, 125,
+ 77, 222,
+ 219, 379,
+ 223, 385,
225, 386,
- 227, 387,
- 388, 523,
- 507, 638,
- 510, 642,
- 643, 751,
- 644, 752,
- 662, 761,
- 680, 785,
- 753, 882,
- 782, 903,
- 786, 908,
- 791, 912,
- 913, 1072,
- 1061, 1203,
- 1063, 1206,
- 1207, 1316,
- 1208, 1317,
- 1318, 1378
+ 387, 523,
+ 507, 640,
+ 510, 644,
+ 645, 754,
+ 646, 755,
+ 664, 764,
+ 682, 788,
+ 756, 885,
+ 785, 906,
+ 789, 911,
+ 794, 915,
+ 916, 1075,
+ 1064, 1206,
+ 1066, 1209,
+ 1210, 1319,
+ 1211, 1320,
+ 1321, 1381
};
static int parser_goto_row92[] = {
- 9,
- -1, 76,
- 71, 212,
- 139, 286,
- 172, 329,
- 254, 286,
- 306, 329,
- 678, 781,
- 943, 212,
- 1174, 1289
+ 7,
+ -1, 284,
+ 71, 211,
+ 171, 327,
+ 304, 327,
+ 680, 784,
+ 946, 211,
+ 1177, 1292
};
static int parser_goto_row93[] = {
- 4,
- -1, 349,
- 255, 403,
- 393, 525,
- 522, 648
+ 1,
+ -1, 347
};
static int parser_goto_row94[] = {
+ 5,
+ -1, 348,
+ 253, 402,
+ 367, 506,
+ 392, 525,
+ 522, 650
+};
+static int parser_goto_row95[] = {
2,
-1, 617,
- 618, 723
+ 618, 725
};
-static int parser_goto_row95[] = {
+static int parser_goto_row96[] = {
4,
- -1, 300,
- 434, 564,
- 773, 896,
- 1054, 1197
+ -1, 298,
+ 433, 564,
+ 776, 899,
+ 1057, 1200
};
-static int parser_goto_row96[] = {
+static int parser_goto_row97[] = {
2,
- -1, 621,
- 485, 624
+ -1, 622,
+ 484, 625
};
-static int parser_goto_row97[] = {
+static int parser_goto_row98[] = {
130,
+ -1, 172,
+ 12, 76,
+ 22, 76,
+ 26, 126,
+ 28, 76,
+ 32, 76,
+ 77, 126,
+ 91, 76,
+ 95, 76,
+ 115, 251,
+ 144, 76,
+ 159, 305,
+ 206, 76,
+ 219, 126,
+ 223, 126,
+ 225, 126,
+ 243, 126,
+ 245, 126,
+ 254, 126,
+ 335, 76,
+ 366, 76,
+ 368, 509,
+ 387, 126,
+ 405, 126,
+ 407, 126,
+ 408, 126,
+ 409, 126,
+ 410, 126,
+ 412, 126,
+ 413, 126,
+ 414, 126,
+ 415, 126,
+ 416, 126,
+ 417, 126,
+ 418, 126,
+ 419, 126,
+ 420, 126,
+ 421, 126,
+ 422, 126,
+ 423, 126,
+ 424, 126,
+ 425, 555,
+ 426, 76,
+ 463, 591,
+ 464, 76,
+ 467, 76,
+ 507, 126,
+ 510, 126,
+ 530, 654,
+ 534, 126,
+ 558, 76,
+ 562, 681,
+ 563, 76,
+ 569, 701,
+ 645, 126,
+ 646, 126,
+ 664, 126,
+ 665, 681,
+ 668, 76,
+ 670, 681,
+ 682, 126,
+ 684, 76,
+ 724, 837,
+ 738, 76,
+ 756, 126,
+ 766, 76,
+ 785, 126,
+ 789, 126,
+ 793, 76,
+ 794, 126,
+ 815, 950,
+ 828, 966,
+ 865, 76,
+ 901, 681,
+ 903, 1065,
+ 916, 126,
+ 958, 837,
+ 960, 837,
+ 969, 837,
+ 1035, 1172,
+ 1059, 681,
+ 1061, 76,
+ 1064, 126,
+ 1066, 126,
+ 1077, 76,
+ 1083, 950,
+ 1109, 837,
+ 1111, 837,
+ 1112, 837,
+ 1113, 837,
+ 1114, 837,
+ 1116, 837,
+ 1117, 837,
+ 1118, 837,
+ 1119, 837,
+ 1120, 837,
+ 1121, 837,
+ 1122, 837,
+ 1123, 837,
+ 1124, 837,
+ 1125, 837,
+ 1126, 837,
+ 1127, 837,
+ 1128, 837,
+ 1129, 1259,
+ 1198, 681,
+ 1199, 681,
+ 1210, 126,
+ 1211, 126,
+ 1220, 509,
+ 1222, 950,
+ 1231, 1333,
+ 1236, 837,
+ 1287, 950,
+ 1305, 126,
+ 1321, 126,
+ 1342, 1172,
+ 1362, 1418,
+ 1373, 681,
+ 1405, 76,
+ 1428, 76,
+ 1434, 950,
+ 1439, 76,
+ 1444, 76,
+ 1449, 76,
+ 1463, 681,
+ 1476, 76,
+ 1480, 76,
+ 1518, 837,
+ 1534, 681
+};
+static int parser_goto_row99[] = {
+ 132,
-1, 173,
12, 77,
22, 77,
26, 127,
28, 77,
32, 77,
- 78, 127,
- 92, 77,
- 96, 77,
- 116, 253,
- 145, 77,
- 160, 307,
- 207, 77,
- 221, 127,
+ 77, 127,
+ 91, 77,
+ 95, 77,
+ 115, 127,
+ 144, 77,
+ 206, 77,
+ 219, 127,
+ 223, 127,
225, 127,
- 227, 127,
+ 243, 127,
245, 127,
- 247, 127,
- 256, 127,
- 337, 77,
- 367, 77,
- 369, 509,
- 388, 127,
- 406, 127,
+ 254, 127,
+ 335, 77,
+ 366, 77,
+ 368, 510,
+ 387, 127,
+ 405, 127,
+ 407, 127,
408, 127,
409, 127,
410, 127,
- 411, 127,
+ 412, 127,
413, 127,
414, 127,
415, 127,
422, 127,
423, 127,
424, 127,
- 425, 127,
- 426, 555,
- 427, 77,
- 464, 591,
- 465, 77,
- 468, 77,
+ 425, 556,
+ 426, 77,
+ 463, 592,
+ 464, 77,
+ 467, 77,
507, 127,
510, 127,
- 530, 652,
+ 530, 556,
534, 127,
558, 77,
- 562, 679,
+ 562, 682,
563, 77,
- 569, 699,
- 643, 127,
- 644, 127,
- 662, 127,
- 663, 679,
- 666, 77,
- 668, 679,
- 680, 127,
- 682, 77,
- 722, 834,
- 735, 77,
- 753, 127,
- 763, 77,
- 782, 127,
- 786, 127,
- 790, 77,
- 791, 127,
- 812, 947,
- 825, 963,
- 862, 77,
- 898, 679,
- 900, 1062,
- 913, 127,
- 955, 834,
- 957, 834,
- 966, 834,
- 1032, 1169,
- 1056, 679,
- 1058, 77,
- 1061, 127,
- 1063, 127,
- 1074, 77,
- 1080, 947,
- 1106, 834,
- 1108, 834,
- 1109, 834,
- 1110, 834,
- 1111, 834,
- 1113, 834,
- 1114, 834,
- 1115, 834,
- 1116, 834,
- 1117, 834,
- 1118, 834,
- 1119, 834,
- 1120, 834,
- 1121, 834,
- 1122, 834,
- 1123, 834,
- 1124, 834,
- 1125, 834,
- 1126, 1256,
- 1195, 679,
- 1196, 679,
- 1207, 127,
- 1208, 127,
- 1217, 509,
- 1219, 947,
- 1228, 1330,
- 1233, 834,
- 1284, 947,
- 1302, 127,
- 1318, 127,
- 1339, 1169,
- 1359, 1415,
- 1370, 679,
- 1402, 77,
- 1425, 77,
- 1431, 947,
- 1436, 77,
- 1441, 77,
- 1446, 77,
- 1460, 679,
- 1473, 77,
- 1477, 77,
- 1515, 834,
- 1531, 679
-};
-static int parser_goto_row98[] = {
- 132,
- -1, 174,
- 12, 78,
- 22, 78,
- 26, 128,
- 28, 78,
- 32, 78,
- 78, 128,
- 92, 78,
- 96, 78,
- 116, 128,
- 145, 78,
- 207, 78,
- 221, 128,
- 225, 128,
- 227, 128,
- 245, 128,
- 247, 128,
- 256, 128,
- 337, 78,
- 367, 78,
- 369, 510,
- 388, 128,
- 406, 128,
- 408, 128,
- 409, 128,
- 410, 128,
- 411, 128,
- 413, 128,
- 414, 128,
- 415, 128,
- 416, 128,
- 417, 128,
- 418, 128,
- 419, 128,
- 420, 128,
- 421, 128,
- 422, 128,
- 423, 128,
- 424, 128,
- 425, 128,
- 426, 556,
- 427, 78,
- 464, 592,
- 465, 78,
- 468, 78,
- 507, 128,
- 510, 128,
- 530, 556,
- 534, 128,
- 558, 78,
- 562, 680,
- 563, 78,
569, 592,
- 602, 708,
- 643, 128,
- 644, 128,
- 651, 756,
- 662, 128,
- 663, 680,
- 666, 78,
- 668, 680,
- 680, 128,
- 682, 78,
- 722, 835,
- 735, 78,
- 753, 128,
- 763, 78,
- 782, 128,
- 786, 128,
- 790, 78,
- 791, 128,
- 812, 948,
- 825, 835,
- 862, 78,
- 898, 680,
- 900, 1063,
- 913, 128,
- 955, 835,
- 957, 835,
- 966, 835,
- 1032, 1170,
- 1056, 680,
- 1058, 78,
- 1061, 128,
- 1063, 128,
- 1074, 78,
- 1080, 948,
- 1106, 835,
- 1108, 835,
- 1109, 835,
- 1110, 835,
- 1111, 835,
- 1113, 835,
- 1114, 835,
- 1115, 835,
- 1116, 835,
- 1117, 835,
- 1118, 835,
- 1119, 835,
- 1120, 835,
- 1121, 835,
- 1122, 835,
- 1123, 835,
- 1124, 835,
- 1125, 835,
- 1126, 1257,
- 1195, 680,
- 1196, 680,
- 1207, 128,
- 1208, 128,
- 1217, 1324,
- 1219, 948,
- 1228, 1257,
- 1233, 835,
- 1284, 948,
- 1302, 128,
- 1318, 128,
- 1329, 1384,
- 1339, 1170,
- 1359, 1416,
- 1370, 680,
- 1402, 78,
- 1425, 78,
- 1431, 948,
- 1436, 78,
- 1441, 78,
- 1446, 78,
- 1460, 680,
- 1473, 78,
- 1477, 78,
- 1515, 835,
- 1531, 680
-};
-static int parser_goto_row99[] = {
- 1,
- -1, 634
+ 602, 710,
+ 645, 127,
+ 646, 127,
+ 653, 759,
+ 664, 127,
+ 665, 682,
+ 668, 77,
+ 670, 682,
+ 682, 127,
+ 684, 77,
+ 724, 838,
+ 738, 77,
+ 756, 127,
+ 766, 77,
+ 785, 127,
+ 789, 127,
+ 793, 77,
+ 794, 127,
+ 815, 951,
+ 828, 838,
+ 865, 77,
+ 901, 682,
+ 903, 1066,
+ 916, 127,
+ 958, 838,
+ 960, 838,
+ 969, 838,
+ 1035, 1173,
+ 1059, 682,
+ 1061, 77,
+ 1064, 127,
+ 1066, 127,
+ 1077, 77,
+ 1083, 951,
+ 1109, 838,
+ 1111, 838,
+ 1112, 838,
+ 1113, 838,
+ 1114, 838,
+ 1116, 838,
+ 1117, 838,
+ 1118, 838,
+ 1119, 838,
+ 1120, 838,
+ 1121, 838,
+ 1122, 838,
+ 1123, 838,
+ 1124, 838,
+ 1125, 838,
+ 1126, 838,
+ 1127, 838,
+ 1128, 838,
+ 1129, 1260,
+ 1198, 682,
+ 1199, 682,
+ 1210, 127,
+ 1211, 127,
+ 1220, 1327,
+ 1222, 951,
+ 1231, 1260,
+ 1236, 838,
+ 1287, 951,
+ 1305, 127,
+ 1321, 127,
+ 1332, 1387,
+ 1342, 1173,
+ 1362, 1419,
+ 1373, 682,
+ 1405, 77,
+ 1428, 77,
+ 1434, 951,
+ 1439, 77,
+ 1444, 77,
+ 1449, 77,
+ 1463, 682,
+ 1476, 77,
+ 1480, 77,
+ 1518, 838,
+ 1534, 682
};
static int parser_goto_row100[] = {
- 10,
- -1, 79,
- 81, 229,
- 141, 229,
- 512, 229,
- 622, 229,
- 636, 229,
- 692, 229,
- 710, 229,
- 848, 229,
- 1065, 229
-};
-static int parser_goto_row101[] = {
- 54,
- -1, 129,
- 12, 80,
- 22, 80,
- 28, 80,
- 32, 80,
- 81, 230,
- 92, 80,
- 96, 80,
- 141, 287,
- 145, 80,
- 207, 80,
- 337, 80,
- 367, 80,
- 369, 511,
- 427, 80,
- 465, 80,
- 468, 80,
- 506, 635,
- 512, 645,
- 558, 80,
- 562, 681,
- 563, 80,
- 602, 709,
- 636, 744,
- 651, 709,
- 663, 681,
- 666, 80,
- 668, 681,
- 682, 80,
- 692, 792,
- 710, 807,
- 735, 80,
- 763, 80,
- 790, 80,
- 862, 80,
- 898, 681,
- 900, 1064,
- 1056, 681,
- 1058, 80,
- 1065, 1209,
- 1074, 80,
- 1195, 681,
- 1196, 681,
- 1329, 709,
- 1370, 681,
- 1402, 80,
- 1425, 80,
- 1436, 80,
- 1441, 80,
- 1446, 80,
- 1460, 681,
- 1473, 80,
- 1477, 80,
- 1531, 681
+ 1,
+ -1, 635
+};
+static int parser_goto_row101[] = {
+ 10,
+ -1, 78,
+ 80, 227,
+ 140, 227,
+ 512, 227,
+ 623, 227,
+ 637, 227,
+ 694, 227,
+ 712, 227,
+ 851, 227,
+ 1068, 227
};
static int parser_goto_row102[] = {
- 8,
- -1, 1018,
- 1019, 1142,
- 1445, 1479,
- 1472, 1501,
- 1476, 1504,
- 1480, 1506,
- 1502, 1523,
- 1505, 1524
+ 54,
+ -1, 128,
+ 12, 79,
+ 22, 79,
+ 28, 79,
+ 32, 79,
+ 80, 228,
+ 91, 79,
+ 95, 79,
+ 140, 285,
+ 144, 79,
+ 206, 79,
+ 335, 79,
+ 366, 79,
+ 368, 511,
+ 426, 79,
+ 464, 79,
+ 467, 79,
+ 505, 636,
+ 512, 647,
+ 558, 79,
+ 562, 683,
+ 563, 79,
+ 602, 711,
+ 637, 747,
+ 653, 711,
+ 665, 683,
+ 668, 79,
+ 670, 683,
+ 684, 79,
+ 694, 795,
+ 712, 810,
+ 738, 79,
+ 766, 79,
+ 793, 79,
+ 865, 79,
+ 901, 683,
+ 903, 1067,
+ 1059, 683,
+ 1061, 79,
+ 1068, 1212,
+ 1077, 79,
+ 1198, 683,
+ 1199, 683,
+ 1332, 711,
+ 1373, 683,
+ 1405, 79,
+ 1428, 79,
+ 1439, 79,
+ 1444, 79,
+ 1449, 79,
+ 1463, 683,
+ 1476, 79,
+ 1480, 79,
+ 1534, 683
};
static int parser_goto_row103[] = {
- 18,
- -1, 85,
- 623, 728,
- 725, 851,
- 726, 852,
- 729, 853,
- 734, 860,
- 868, 1023,
- 1032, 1171,
- 1168, 1285,
- 1175, 1290,
- 1339, 1392,
- 1391, 1432,
- 1393, 1433,
- 1401, 1444,
- 1410, 1456,
- 1455, 1485,
- 1497, 1519,
- 1518, 1529
+ 8,
+ -1, 1021,
+ 1022, 1145,
+ 1448, 1482,
+ 1475, 1504,
+ 1479, 1507,
+ 1483, 1509,
+ 1505, 1526,
+ 1508, 1527
};
static int parser_goto_row104[] = {
+ 18,
+ -1, 84,
+ 624, 731,
+ 728, 854,
+ 729, 855,
+ 732, 856,
+ 737, 863,
+ 871, 1026,
+ 1035, 1174,
+ 1171, 1288,
+ 1178, 1293,
+ 1342, 1395,
+ 1394, 1435,
+ 1396, 1436,
+ 1404, 1447,
+ 1413, 1459,
+ 1458, 1488,
+ 1500, 1522,
+ 1521, 1532
+};
+static int parser_goto_row105[] = {
50,
- -1, 148,
+ -1, 147,
0, 11,
4, 11,
16, 11,
23, 11,
24, 11,
25, 11,
- 28, 145,
- 32, 145,
- 62, 207,
+ 28, 144,
+ 32, 144,
+ 62, 206,
+ 87, 11,
88, 11,
- 89, 11,
- 93, 11,
+ 92, 11,
+ 101, 11,
102, 11,
- 103, 11,
- 105, 11,
- 208, 367,
- 233, 11,
- 239, 11,
- 290, 427,
- 337, 468,
- 428, 558,
- 465, 468,
- 562, 682,
- 563, 145,
- 663, 763,
- 666, 468,
- 668, 763,
- 735, 468,
- 788, 207,
- 790, 468,
- 862, 468,
- 898, 1058,
- 910, 367,
- 1056, 1058,
- 1074, 145,
- 1195, 682,
- 1196, 763,
- 1370, 1058,
- 1402, 468,
- 1425, 145,
- 1436, 468,
- 1441, 468,
- 1446, 468,
- 1460, 763,
- 1473, 468,
- 1477, 468,
- 1531, 763
+ 104, 11,
+ 207, 366,
+ 231, 11,
+ 237, 11,
+ 288, 426,
+ 335, 467,
+ 427, 558,
+ 464, 467,
+ 562, 684,
+ 563, 144,
+ 665, 766,
+ 668, 467,
+ 670, 766,
+ 738, 467,
+ 791, 206,
+ 793, 467,
+ 865, 467,
+ 901, 1061,
+ 913, 366,
+ 1059, 1061,
+ 1077, 144,
+ 1198, 684,
+ 1199, 766,
+ 1373, 1061,
+ 1405, 467,
+ 1428, 144,
+ 1439, 467,
+ 1444, 467,
+ 1449, 467,
+ 1463, 766,
+ 1476, 467,
+ 1480, 467,
+ 1534, 766
};
-static int parser_goto_row105[] = {
+static int parser_goto_row106[] = {
263,
- -1, 96,
+ -1, 95,
0, 12,
4, 22,
16, 22,
- 17, 92,
+ 17, 91,
23, 22,
- 24, 92,
- 30, 149,
- 31, 150,
- 33, 153,
- 34, 154,
- 40, 183,
- 46, 191,
- 47, 192,
- 75, 219,
- 88, 92,
- 102, 92,
- 108, 244,
- 109, 245,
- 110, 246,
- 111, 247,
- 117, 255,
- 118, 256,
- 156, 302,
- 157, 303,
- 158, 304,
- 159, 305,
- 161, 308,
+ 24, 91,
+ 30, 148,
+ 31, 149,
+ 33, 152,
+ 34, 153,
+ 40, 182,
+ 46, 190,
+ 47, 191,
+ 75, 218,
+ 87, 91,
+ 101, 91,
+ 107, 242,
+ 108, 243,
+ 109, 244,
+ 110, 245,
+ 116, 253,
+ 117, 254,
+ 155, 300,
+ 156, 301,
+ 157, 302,
+ 158, 303,
+ 160, 306,
+ 192, 349,
193, 350,
- 194, 351,
+ 199, 351,
200, 352,
201, 353,
202, 354,
- 203, 355,
- 209, 368,
- 211, 369,
- 216, 374,
- 242, 393,
- 252, 398,
- 265, 406,
- 266, 408,
- 267, 409,
- 268, 410,
- 269, 411,
- 270, 412,
- 271, 413,
- 272, 414,
- 273, 415,
- 274, 416,
- 275, 417,
- 276, 418,
- 277, 419,
- 278, 420,
- 279, 421,
- 280, 422,
- 281, 423,
- 282, 424,
+ 208, 367,
+ 210, 368,
+ 215, 373,
+ 240, 392,
+ 250, 397,
+ 263, 405,
+ 264, 407,
+ 265, 408,
+ 266, 409,
+ 267, 410,
+ 268, 411,
+ 269, 412,
+ 270, 413,
+ 271, 414,
+ 272, 415,
+ 273, 416,
+ 274, 417,
+ 275, 418,
+ 276, 419,
+ 277, 420,
+ 278, 421,
+ 279, 422,
+ 280, 423,
+ 281, 424,
283, 425,
- 285, 426,
- 292, 429,
- 295, 432,
+ 290, 428,
+ 293, 431,
+ 294, 432,
296, 433,
298, 434,
- 300, 435,
- 301, 436,
- 309, 444,
- 310, 446,
- 311, 447,
- 312, 448,
- 313, 449,
- 314, 450,
- 315, 451,
- 316, 452,
- 317, 453,
- 318, 454,
- 319, 455,
- 320, 456,
- 321, 457,
- 322, 458,
- 323, 459,
- 324, 460,
- 325, 461,
- 326, 462,
- 327, 463,
- 328, 464,
- 341, 475,
- 347, 481,
- 348, 482,
+ 299, 435,
+ 307, 443,
+ 308, 445,
+ 309, 446,
+ 310, 447,
+ 311, 448,
+ 312, 449,
+ 313, 450,
+ 314, 451,
+ 315, 452,
+ 316, 453,
+ 317, 454,
+ 318, 455,
+ 319, 456,
+ 320, 457,
+ 321, 458,
+ 322, 459,
+ 323, 460,
+ 324, 461,
+ 325, 462,
+ 326, 463,
+ 339, 474,
+ 345, 480,
+ 346, 481,
+ 355, 483,
356, 484,
- 357, 485,
- 364, 506,
- 378, 517,
- 385, 522,
- 394, 526,
- 400, 530,
- 402, 531,
- 407, 534,
- 430, 560,
- 437, 567,
- 441, 569,
- 445, 571,
- 470, 598,
- 474, 602,
- 478, 612,
- 504, 631,
- 508, 639,
- 515, 646,
- 527, 651,
- 554, 655,
- 561, 660,
- 564, 695,
- 565, 696,
- 566, 697,
- 596, 703,
- 599, 706,
- 604, 712,
- 610, 718,
- 615, 721,
- 616, 722,
- 619, 724,
- 627, 731,
- 628, 732,
- 630, 739,
- 650, 755,
- 665, 768,
- 667, 770,
+ 363, 505,
+ 377, 517,
+ 384, 522,
+ 393, 526,
+ 399, 530,
+ 401, 531,
+ 406, 534,
+ 429, 560,
+ 436, 567,
+ 440, 569,
+ 444, 571,
+ 469, 598,
+ 473, 602,
+ 477, 612,
+ 503, 632,
+ 508, 641,
+ 515, 648,
+ 527, 653,
+ 554, 657,
+ 561, 662,
+ 564, 697,
+ 565, 698,
+ 566, 699,
+ 596, 705,
+ 599, 708,
+ 604, 714,
+ 610, 720,
+ 615, 723,
+ 616, 724,
+ 620, 727,
+ 628, 734,
+ 629, 735,
+ 631, 742,
+ 652, 758,
+ 667, 771,
669, 773,
- 698, 797,
- 705, 803,
- 713, 810,
- 716, 812,
- 719, 814,
- 733, 858,
- 740, 865,
- 741, 871,
- 745, 876,
- 746, 877,
- 758, 885,
- 759, 886,
- 780, 900,
- 794, 914,
- 795, 915,
- 799, 917,
- 800, 918,
- 804, 921,
- 813, 950,
- 815, 952,
- 817, 954,
+ 671, 776,
+ 700, 800,
+ 707, 806,
+ 715, 813,
+ 718, 815,
+ 721, 817,
+ 736, 861,
+ 743, 868,
+ 744, 874,
+ 748, 879,
+ 749, 880,
+ 761, 888,
+ 762, 889,
+ 783, 903,
+ 797, 917,
+ 798, 918,
+ 802, 920,
+ 803, 921,
+ 807, 924,
+ 816, 953,
818, 955,
- 819, 956,
820, 957,
- 826, 965,
- 827, 966,
- 836, 975,
- 851, 1000,
- 856, 1008,
- 860, 1000,
- 869, 1024,
- 872, 1034,
- 873, 1037,
- 874, 1040,
- 883, 1046,
- 892, 1052,
- 893, 1053,
- 895, 1054,
- 896, 1055,
- 916, 1075,
- 923, 1080,
- 945, 1086,
- 962, 1098,
- 976, 1106,
- 977, 1108,
- 978, 1109,
- 979, 1110,
+ 821, 958,
+ 822, 959,
+ 823, 960,
+ 829, 968,
+ 830, 969,
+ 839, 978,
+ 854, 1003,
+ 859, 1011,
+ 863, 1003,
+ 872, 1027,
+ 875, 1037,
+ 876, 1040,
+ 877, 1043,
+ 886, 1049,
+ 895, 1055,
+ 896, 1056,
+ 898, 1057,
+ 899, 1058,
+ 919, 1078,
+ 926, 1083,
+ 948, 1089,
+ 965, 1101,
+ 979, 1109,
980, 1111,
981, 1112,
982, 1113,
992, 1123,
993, 1124,
994, 1125,
- 996, 1126,
- 1001, 1000,
- 1005, 1133,
- 1006, 1134,
- 1009, 1136,
- 1022, 1147,
+ 995, 1126,
+ 996, 1127,
+ 997, 1128,
+ 999, 1129,
+ 1004, 1003,
+ 1008, 1136,
+ 1009, 1137,
+ 1012, 1139,
1025, 1150,
- 1026, 1152,
- 1029, 1153,
- 1035, 1179,
- 1038, 1181,
- 1041, 1185,
- 1042, 1187,
+ 1028, 1153,
+ 1029, 1155,
+ 1032, 1156,
+ 1038, 1182,
+ 1041, 1184,
1044, 1188,
- 1045, 1189,
- 1048, 1191,
- 1049, 1192,
- 1050, 1193,
- 1073, 1210,
- 1085, 1217,
- 1087, 1219,
- 1092, 1222,
- 1100, 1228,
- 1101, 1229,
- 1107, 1233,
- 1132, 1260,
- 1137, 1262,
- 1145, 1267,
+ 1045, 1190,
+ 1047, 1191,
+ 1048, 1192,
+ 1051, 1194,
+ 1052, 1195,
+ 1053, 1196,
+ 1076, 1213,
+ 1088, 1220,
+ 1090, 1222,
+ 1095, 1225,
+ 1103, 1231,
+ 1104, 1232,
+ 1110, 1236,
+ 1135, 1263,
+ 1140, 1265,
1148, 1270,
- 1151, 1272,
- 1160, 1284,
- 1182, 1294,
- 1183, 1296,
- 1186, 1298,
- 1190, 1302,
- 1194, 1306,
- 1197, 1310,
- 1198, 1311,
- 1213, 1321,
- 1215, 1322,
- 1225, 1329,
- 1255, 1336,
- 1264, 1341,
- 1277, 631,
- 1279, 631,
- 1288, 1359,
- 1295, 1363,
- 1300, 1366,
- 1303, 1368,
- 1319, 1379,
- 1327, 1383,
- 1346, 631,
- 1348, 631,
- 1351, 631,
- 1372, 1423,
- 1373, 1424,
- 1388, 1429,
- 1389, 1430,
- 1390, 1431,
- 1394, 1434,
- 1396, 1435,
- 1427, 1463,
- 1444, 1000,
- 1447, 1481,
- 1459, 1490,
- 1465, 1495,
- 1466, 1496,
- 1469, 1498,
- 1470, 1499,
- 1471, 1500,
- 1494, 1515,
- 1513, 1526,
- 1516, 1528,
- 1520, 1530
+ 1151, 1273,
+ 1154, 1275,
+ 1163, 1287,
+ 1185, 1297,
+ 1186, 1299,
+ 1189, 1301,
+ 1193, 1305,
+ 1197, 1309,
+ 1200, 1313,
+ 1201, 1314,
+ 1216, 1324,
+ 1218, 1325,
+ 1228, 1332,
+ 1258, 1339,
+ 1267, 1344,
+ 1280, 632,
+ 1282, 632,
+ 1291, 1362,
+ 1298, 1366,
+ 1303, 1369,
+ 1306, 1371,
+ 1322, 1382,
+ 1330, 1386,
+ 1349, 632,
+ 1351, 632,
+ 1354, 632,
+ 1375, 1426,
+ 1376, 1427,
+ 1391, 1432,
+ 1392, 1433,
+ 1393, 1434,
+ 1397, 1437,
+ 1399, 1438,
+ 1430, 1466,
+ 1447, 1003,
+ 1450, 1484,
+ 1462, 1493,
+ 1468, 1498,
+ 1469, 1499,
+ 1472, 1501,
+ 1473, 1502,
+ 1474, 1503,
+ 1497, 1518,
+ 1516, 1529,
+ 1519, 1531,
+ 1523, 1533
};
-static int parser_goto_row106[] = {
+static int parser_goto_row107[] = {
1,
-1, 13
};
-static int parser_goto_row107[] = {
+static int parser_goto_row108[] = {
1,
-1, 14
};
-static int parser_goto_row108[] = {
+static int parser_goto_row109[] = {
1,
-1, 15
};
-static int parser_goto_row109[] = {
+static int parser_goto_row110[] = {
4,
- -1, 738,
- 1352, 1408,
- 1398, 1439,
- 1405, 1451
+ -1, 741,
+ 1355, 1411,
+ 1401, 1442,
+ 1408, 1454
};
-static int parser_goto_row110[] = {
+static int parser_goto_row111[] = {
1,
- -1, 1240
+ -1, 1243
};
-static int parser_goto_row111[] = {
+static int parser_goto_row112[] = {
1,
-1, -1
};
-static int parser_goto_row112[] = {
+static int parser_goto_row113[] = {
2,
- -1, 836,
- 1515, 1527
+ -1, 839,
+ 1518, 1530
};
-static int parser_goto_row113[] = {
+static int parser_goto_row114[] = {
1,
- -1, 837
+ -1, 840
};
-static int parser_goto_row114[] = {
+static int parser_goto_row115[] = {
6,
- -1, 838,
- 955, 1093,
- 1106, 1232,
- 1108, 1234,
+ -1, 841,
+ 958, 1096,
1109, 1235,
- 1233, 1332
+ 1111, 1237,
+ 1112, 1238,
+ 1236, 1335
};
-static int parser_goto_row115[] = {
+static int parser_goto_row116[] = {
1,
- -1, 839
+ -1, 842
};
-static int parser_goto_row116[] = {
+static int parser_goto_row117[] = {
10,
- -1, 840,
- 1110, 1236,
- 1111, 1237,
- 1115, 1243,
- 1116, 1244,
- 1117, 1245,
+ -1, 843,
+ 1113, 1239,
+ 1114, 1240,
1118, 1246,
1119, 1247,
1120, 1248,
- 1121, 1249
+ 1121, 1249,
+ 1122, 1250,
+ 1123, 1251,
+ 1124, 1252
};
-static int parser_goto_row117[] = {
+static int parser_goto_row118[] = {
3,
- -1, 841,
- 1113, 1241,
- 1114, 1242
+ -1, 844,
+ 1116, 1244,
+ 1117, 1245
};
-static int parser_goto_row118[] = {
+static int parser_goto_row119[] = {
5,
- -1, 842,
- 1122, 1250,
- 1123, 1251,
- 1124, 1252,
- 1125, 1253
+ -1, 845,
+ 1125, 1253,
+ 1126, 1254,
+ 1127, 1255,
+ 1128, 1256
};
-static int parser_goto_row119[] = {
+static int parser_goto_row120[] = {
3,
- -1, 843,
- 957, 1097,
- 966, 1102
+ -1, 846,
+ 960, 1100,
+ 969, 1105
};
-static int parser_goto_row120[] = {
+static int parser_goto_row121[] = {
1,
- -1, 844
+ -1, 847
};
-static int parser_goto_row121[] = {
+static int parser_goto_row122[] = {
2,
- -1, 845,
- 825, 964
+ -1, 848,
+ 828, 967
};
-static int parser_goto_row122[] = {
+static int parser_goto_row123[] = {
1,
- -1, 846
+ -1, 849
};
-static int parser_goto_row123[] = {
+static int parser_goto_row124[] = {
4,
- -1, 340,
- 246, 396,
- 304, 439,
- 398, 529
+ -1, 338,
+ 244, 395,
+ 302, 438,
+ 397, 529
};
-static int parser_goto_row124[] = {
+static int parser_goto_row125[] = {
1,
-1, -1
};
-static int parser_goto_row125[] = {
+static int parser_goto_row126[] = {
1,
- -1, 1172
+ -1, 1175
};
-static int parser_goto_row126[] = {
+static int parser_goto_row127[] = {
1,
-1, -1
};
-static int parser_goto_row127[] = {
+static int parser_goto_row128[] = {
4,
- -1, 130,
- 1032, 1173,
- 1302, 1367,
- 1339, 1173
+ -1, 129,
+ 1035, 1176,
+ 1305, 1370,
+ 1342, 1176
};
-static int parser_goto_row128[] = {
+static int parser_goto_row129[] = {
1,
- -1, 131
+ -1, 130
};
-static int parser_goto_row129[] = {
+static int parser_goto_row130[] = {
6,
- -1, 132,
- 245, 395,
- 406, 533,
- 408, 535,
- 409, 536,
- 534, 653
+ -1, 131,
+ 243, 394,
+ 405, 533,
+ 407, 535,
+ 408, 536,
+ 534, 655
};
-static int parser_goto_row130[] = {
+static int parser_goto_row131[] = {
1,
- -1, 133
+ -1, 132
};
-static int parser_goto_row131[] = {
+static int parser_goto_row132[] = {
10,
- -1, 134,
- 410, 537,
- 411, 538,
- 415, 542,
- 416, 543,
- 417, 544,
- 418, 545,
- 419, 546,
- 420, 547,
- 421, 548
+ -1, 133,
+ 409, 537,
+ 410, 538,
+ 414, 542,
+ 415, 543,
+ 416, 544,
+ 417, 545,
+ 418, 546,
+ 419, 547,
+ 420, 548
};
-static int parser_goto_row132[] = {
+static int parser_goto_row133[] = {
3,
- -1, 135,
- 413, 540,
- 414, 541
+ -1, 134,
+ 412, 540,
+ 413, 541
};
-static int parser_goto_row133[] = {
+static int parser_goto_row134[] = {
5,
- -1, 136,
- 422, 549,
- 423, 550,
- 424, 551,
- 425, 552
+ -1, 135,
+ 421, 549,
+ 422, 550,
+ 423, 551,
+ 424, 552
};
-static int parser_goto_row134[] = {
+static int parser_goto_row135[] = {
3,
- -1, 137,
- 247, 397,
- 256, 404
+ -1, 136,
+ 245, 396,
+ 254, 403
};
-static int parser_goto_row135[] = {
+static int parser_goto_row136[] = {
1,
- -1, 138
+ -1, 137
};
-static int parser_goto_row136[] = {
+static int parser_goto_row137[] = {
4,
- -1, 139,
- 116, 254,
- 1032, 1174,
- 1339, 1174
+ -1, 138,
+ 115, 252,
+ 1035, 1177,
+ 1342, 1177
};
-static int parser_goto_row137[] = {
+static int parser_goto_row138[] = {
2,
- -1, 140,
- 808, 926
+ -1, 139,
+ 811, 929
};
-static int parser_goto_row138[] = {
+static int parser_goto_row139[] = {
1,
- -1, 472
+ -1, 471
};
-static int parser_goto_row139[] = {
+static int parser_goto_row140[] = {
7,
- -1, 473,
- 469, 597,
- 805, 922,
- 920, 1078,
- 1076, 1214,
- 1095, 1224,
- 1223, 1328
+ -1, 472,
+ 468, 597,
+ 808, 925,
+ 923, 1081,
+ 1079, 1217,
+ 1098, 1227,
+ 1226, 1331
};
-static int parser_goto_row140[] = {
+static int parser_goto_row141[] = {
1,
-1, 601
};
-static int parser_goto_row141[] = {
+static int parser_goto_row142[] = {
1,
-1, -1
};
-static int parser_goto_row142[] = {
- 2,
- -1, 1175,
- 1339, 1393
-};
static int parser_goto_row143[] = {
- 1,
- -1, 1176
+ 2,
+ -1, 1178,
+ 1342, 1396
};
static int parser_goto_row144[] = {
- 2,
- -1, 1096,
- 1098, 1227
+ 1,
+ -1, 1179
};
static int parser_goto_row145[] = {
- 1,
- -1, -1
+ 2,
+ -1, 1099,
+ 1101, 1230
};
static int parser_goto_row146[] = {
1,
-1, -1
};
static int parser_goto_row158[] = {
- 8,
- -1, 764,
- 668, 771,
- 898, 1059,
- 1056, 1199,
- 1196, 1308,
- 1370, 1422,
- 1460, 1491,
- 1531, 1534
+ 1,
+ -1, -1
};
static int parser_goto_row159[] = {
- 3,
- -1, 765,
- 562, 683,
- 1195, 1307
+ 8,
+ -1, 767,
+ 670, 774,
+ 901, 1062,
+ 1059, 1202,
+ 1199, 1311,
+ 1373, 1425,
+ 1463, 1494,
+ 1534, 1537
};
static int parser_goto_row160[] = {
- 1,
- -1, 684
+ 3,
+ -1, 768,
+ 562, 685,
+ 1198, 1310
};
static int parser_goto_row161[] = {
1,
- -1, 685
+ -1, 686
};
static int parser_goto_row162[] = {
1,
- -1, 686
+ -1, 687
};
static int parser_goto_row163[] = {
1,
- -1, 687
+ -1, 688
};
static int parser_goto_row164[] = {
1,
- -1, 688
+ -1, 689
};
static int parser_goto_row165[] = {
1,
- -1, 689
+ -1, 690
};
static int parser_goto_row166[] = {
1,
- -1, 690
+ -1, 691
};
static int parser_goto_row167[] = {
1,
- -1, 691
+ -1, 692
};
static int parser_goto_row168[] = {
- 18,
- -1, 182,
- 179, 336,
- 670, 774,
- 674, 778,
- 777, 897,
- 901, 1066,
- 902, 1067,
- 904, 1068,
- 905, 1069,
- 906, 1070,
- 907, 1071,
- 1060, 1202,
- 1193, 1305,
- 1306, 1369,
- 1312, 1374,
- 1313, 1375,
- 1314, 1376,
- 1315, 1377
+ 1,
+ -1, 693
};
static int parser_goto_row169[] = {
- 1,
- -1, -1
+ 18,
+ -1, 181,
+ 178, 334,
+ 672, 777,
+ 676, 781,
+ 780, 900,
+ 904, 1069,
+ 905, 1070,
+ 907, 1071,
+ 908, 1072,
+ 909, 1073,
+ 910, 1074,
+ 1063, 1205,
+ 1196, 1308,
+ 1309, 1372,
+ 1315, 1377,
+ 1316, 1378,
+ 1317, 1379,
+ 1318, 1380
};
static int parser_goto_row170[] = {
1,
-1, -1
};
static int parser_goto_row174[] = {
- 10,
- -1, 146,
- 32, 152,
- 563, 694,
- 663, 766,
- 668, 772,
- 1074, 1212,
- 1196, 1309,
- 1425, 1462,
- 1460, 1492,
- 1531, 1535
-};
-static int parser_goto_row175[] = {
1,
-1, -1
};
+static int parser_goto_row175[] = {
+ 10,
+ -1, 145,
+ 32, 151,
+ 563, 696,
+ 665, 769,
+ 670, 775,
+ 1077, 1215,
+ 1199, 1312,
+ 1428, 1465,
+ 1463, 1495,
+ 1534, 1538
+};
static int parser_goto_row176[] = {
1,
- -1, 949
+ -1, -1
};
static int parser_goto_row177[] = {
1,
- -1, 1177
+ -1, 952
};
static int parser_goto_row178[] = {
1,
- -1, -1
+ -1, 1180
};
static int parser_goto_row179[] = {
1,
};
static int parser_goto_row180[] = {
1,
- -1, 1032
+ -1, -1
};
static int parser_goto_row181[] = {
+ 1,
+ -1, 1035
+};
+static int parser_goto_row182[] = {
2,
-1, 16,
4, 23
};
-static int parser_goto_row182[] = {
+static int parser_goto_row183[] = {
4,
-1, 17,
4, 24,
- 16, 88,
- 23, 102
+ 16, 87,
+ 23, 101
};
-static int parser_goto_row183[] = {
+static int parser_goto_row184[] = {
8,
-1, 18,
4, 25,
- 16, 89,
- 17, 93,
- 23, 103,
- 24, 105,
- 88, 233,
- 102, 239
+ 16, 88,
+ 17, 92,
+ 23, 102,
+ 24, 104,
+ 87, 231,
+ 101, 237
};
-static int parser_goto_row184[] = {
+static int parser_goto_row185[] = {
4,
- -1, 872,
- 869, 1025,
- 874, 1041,
- 1038, 1182
+ -1, 875,
+ 872, 1028,
+ 877, 1044,
+ 1041, 1185
};
-static int parser_goto_row185[] = {
+static int parser_goto_row186[] = {
8,
- -1, 873,
- 869, 1026,
- 872, 1035,
- 874, 1042,
- 1025, 1151,
- 1038, 1183,
+ -1, 876,
+ 872, 1029,
+ 875, 1038,
+ 877, 1045,
+ 1028, 1154,
1041, 1186,
- 1182, 1295
-};
-static int parser_goto_row186[] = {
- 1,
- -1, 1148
+ 1044, 1189,
+ 1185, 1298
};
static int parser_goto_row187[] = {
1,
- -1, 1009
+ -1, 1151
};
static int parser_goto_row188[] = {
1,
- -1, 1139
+ -1, 1012
};
static int parser_goto_row189[] = {
1,
- -1, 802
+ -1, 1142
};
static int parser_goto_row190[] = {
- 3,
- -1, 208,
- 290, 428,
- 788, 910
+ 1,
+ -1, 805
};
static int parser_goto_row191[] = {
- 1,
- -1, 218
+ 3,
+ -1, 207,
+ 288, 427,
+ 791, 913
};
static int parser_goto_row192[] = {
1,
- -1, 715
+ -1, 217
};
static int parser_goto_row193[] = {
1,
- -1, 1001
+ -1, 717
};
static int parser_goto_row194[] = {
1,
- -1, 874
+ -1, 1004
};
static int parser_goto_row195[] = {
- 2,
- -1, 1089,
- 1176, 1291
+ 1,
+ -1, 877
};
static int parser_goto_row196[] = {
+ 2,
+ -1, 1092,
+ 1179, 1294
+};
+static int parser_goto_row197[] = {
1,
-1, 618
};
-static int parser_goto_row197[] = {
+static int parser_goto_row198[] = {
50,
- -1, 141,
- 12, 81,
- 22, 81,
- 28, 81,
- 32, 81,
- 92, 81,
- 96, 81,
- 145, 81,
- 207, 81,
- 337, 81,
- 367, 81,
- 369, 512,
- 427, 81,
- 465, 81,
- 468, 81,
- 484, 622,
- 485, 622,
- 506, 636,
- 558, 81,
- 562, 692,
- 563, 81,
- 602, 710,
- 651, 710,
- 663, 692,
- 666, 81,
- 668, 692,
- 682, 81,
- 724, 848,
- 735, 81,
- 763, 81,
- 790, 81,
- 862, 81,
- 898, 692,
- 900, 1065,
- 1056, 692,
- 1058, 81,
- 1074, 81,
- 1195, 692,
- 1196, 692,
- 1329, 710,
- 1370, 692,
- 1402, 81,
- 1425, 81,
- 1436, 81,
- 1441, 81,
- 1446, 81,
- 1460, 692,
- 1473, 81,
- 1477, 81,
- 1531, 692
+ -1, 140,
+ 12, 80,
+ 22, 80,
+ 28, 80,
+ 32, 80,
+ 91, 80,
+ 95, 80,
+ 144, 80,
+ 206, 80,
+ 335, 80,
+ 366, 80,
+ 368, 512,
+ 426, 80,
+ 464, 80,
+ 467, 80,
+ 483, 623,
+ 484, 623,
+ 505, 637,
+ 558, 80,
+ 562, 694,
+ 563, 80,
+ 602, 712,
+ 653, 712,
+ 665, 694,
+ 668, 80,
+ 670, 694,
+ 684, 80,
+ 727, 851,
+ 738, 80,
+ 766, 80,
+ 793, 80,
+ 865, 80,
+ 901, 694,
+ 903, 1068,
+ 1059, 694,
+ 1061, 80,
+ 1077, 80,
+ 1198, 694,
+ 1199, 694,
+ 1332, 712,
+ 1373, 694,
+ 1405, 80,
+ 1428, 80,
+ 1439, 80,
+ 1444, 80,
+ 1449, 80,
+ 1463, 694,
+ 1476, 80,
+ 1480, 80,
+ 1534, 694
};
-static int parser_goto_row198[] = {
+static int parser_goto_row199[] = {
2,
-1, 19,
- 13, 82
+ 13, 81
};
-static int parser_goto_row199[] = {
+static int parser_goto_row200[] = {
3,
-1, 20,
- 19, 98,
- 82, 231
+ 19, 97,
+ 81, 229
};
const int* const parser_goto_table[] = {
parser_goto_row196,
parser_goto_row197,
parser_goto_row198,
- parser_goto_row199
+ parser_goto_row199,
+ parser_goto_row200
};
var time1 = get_time
self.info("*** END SEMANTIC ANALYSIS: {time1-time0} ***", 2)
+
+ errors_info
end
fun phase_process_npropdef(phase: Phase, npropdef: APropdef)
# Alias of `name`
redef fun to_s do return self.name
+
+ # The declaration of the variable, if any
+ var location: nullable Location = null
+
+ # Is the local variable not read and need a warning?
+ var warn_unread = false is writable
end
# Mark where break and continue will branch.
# All stacked scope. `scopes.first` is the current scope
private var scopes: List[Scope] = new List[Scope]
+ # Shift and check the last scope
+ fun shift_scope
+ do
+ assert not scopes.is_empty
+ var scope = scopes.shift
+ for v in scope.variables.values do
+ if v.warn_unread then
+ toolcontext.advice(v.location, "unread-variable", "Warning: local variable {v.name} is never read.")
+ end
+ end
+ end
+
# Regiter a local variable.
# Display an error on toolcontext if a variable with the same name is masked.
fun register_variable(node: ANode, variable: Variable): Bool
return false
end
scopes.first.variables[name] = variable
+ variable.location = node.location
return true
end
scope.escapemark = escapemark
scopes.unshift(scope)
enter_visit(node)
- scopes.shift
+ shift_scope
end
# Look for a label `name`.
do
var v = new ScopeVisitor(toolcontext)
v.enter_visit(self)
+ v.shift_scope
end
end
var nid = self.n_id
var variable = new Variable(nid.text)
v.register_variable(nid, variable)
+ variable.warn_unread = true # wait for some read mark.
self.variable = variable
end
end
self.escapemark = escapemark
v.enter_visit_block(n_block, escapemark)
- v.scopes.shift
+ v.shift_scope
end
end
redef class ACallExpr
redef fun variable_create(variable)
do
+ variable.warn_unread = false
return new AVarExpr.init_avarexpr(n_id)
end
end
redef class ACallReassignExpr
redef fun variable_create(variable)
do
+ variable.warn_unread = false
return new AVarReassignExpr.init_avarreassignexpr(n_id, n_assign_op, n_value)
end
end
if sup == null then return null # Forward error
if sup == sub then
- self.modelbuilder.warning(node, "Warning: Expression is already a {sup}.")
+ self.modelbuilder.warning(node, "useless-type-test", "Warning: Expression is already a {sup}.")
else if self.is_subtype(sub, sup) then
- self.modelbuilder.warning(node, "Warning: Expression is already a {sup} since it is a {sub}.")
+ self.modelbuilder.warning(node, "useless-type-test", "Warning: Expression is already a {sup} since it is a {sub}.")
end
return sup
end
if info != null and self.mpropdef.mproperty.deprecation == null then
var mdoc = info.mdoc
if mdoc != null then
- self.modelbuilder.warning(node, "Deprecation Warning: Method '{name}' is deprecated: {mdoc.content.first}")
+ self.modelbuilder.warning(node, "deprecated-method", "Deprecation Warning: Method '{name}' is deprecated: {mdoc.content.first}")
else
- self.modelbuilder.warning(node, "Deprecation Warning: Method '{name}' is deprecated.")
+ self.modelbuilder.warning(node, "deprecated-method", "Deprecation Warning: Method '{name}' is deprecated.")
end
end
else if propdefs.length == 1 then
mpropdef = propdefs.first
else
- self.modelbuilder.warning(node, "Warning: confliting property definitions for property {name} in {unsafe_type}: {propdefs.join(" ")}")
+ self.modelbuilder.warning(node, "property-conflict", "Warning: conflicting property definitions for property {name} in {unsafe_type}: {propdefs.join(" ")}")
mpropdef = mproperty.intro
end
redef fun accept_typing(v)
do
+ var mtype: nullable MType = null
+ var ntype = self.n_type
+ if ntype != null then
+ mtype = v.resolve_mtype(ntype)
+ if mtype == null then return # Skip error
+ end
var mtypes = new Array[nullable MType]
+ var useless = false
for e in self.n_exprs.n_exprs do
var t = v.visit_expr(e)
if t == null then
return # Skip error
end
- mtypes.add(t)
+ if mtype != null then
+ if v.check_subtype(e, t, mtype) == null then return # Skip error
+ if t == mtype then useless = true
+ else
+ mtypes.add(t)
+ end
+ end
+ if mtype == null then
+ mtype = v.merge_types(self, mtypes)
end
- var mtype = v.merge_types(self, mtypes)
if mtype == null then
v.error(self, "Type Error: ambiguous array type {mtypes.join(" ")}")
return
end
+ if useless then
+ assert ntype != null
+ v.modelbuilder.warning(ntype, "useless-type", "Warning: useless type declaration `{mtype}` in literal Array since it can be inferred from the elements type.")
+ end
var mclass = v.get_mclass(self, "Array")
if mclass == null then return # Forward error
var array_mtype = mclass.get_mtype([mtype])
self.mtype = mtype
if mtype isa MClassType then
- v.modelbuilder.warning(self, "Warning: expression is already not null, since it is a `{mtype}`.")
+ v.modelbuilder.warning(self, "useless-type-test", "Warning: expression is already not null, since it is a `{mtype}`.")
return
end
assert mtype.need_anchor
var u = v.anchor_to(mtype)
if not u isa MNullableType then
- v.modelbuilder.warning(self, "Warning: expression is already not null, since it is a `{mtype}: {u}`.")
+ v.modelbuilder.warning(self, "useless-type-test", "Warning: expression is already not null, since it is a `{mtype}: {u}`.")
return
end
end
redef fun accept_typing(v)
do
- var recvtype = v.anchor
+ var anchor = v.anchor
+ assert anchor != null
+ var recvtype = v.get_variable(self, v.selfvariable)
assert recvtype != null
var mproperty = v.mpropdef.mproperty
if not mproperty isa MMethod then
v.error(self, "Error: super only usable in a method")
return
end
- var superprops = mproperty.lookup_super_definitions(v.mmodule, recvtype)
+ var superprops = mproperty.lookup_super_definitions(v.mmodule, anchor)
if superprops.length == 0 then
if mproperty.is_init and v.mpropdef.is_intro then
process_superinit(v)
private fun process_superinit(v: TypeVisitor)
do
- var recvtype = v.anchor
+ var anchor = v.anchor
+ assert anchor != null
+ var recvtype = v.get_variable(self, v.selfvariable)
assert recvtype != null
var mpropdef = v.mpropdef
assert mpropdef isa MMethodDef
var mproperty = mpropdef.mproperty
var superprop: nullable MMethodDef = null
for msupertype in mpropdef.mclassdef.supertypes do
- msupertype = msupertype.anchor_to(v.mmodule, recvtype)
+ msupertype = msupertype.anchor_to(v.mmodule, anchor)
var errcount = v.modelbuilder.toolcontext.error_count
var candidate = v.try_get_mproperty_by_name2(self, msupertype, mproperty.name).as(nullable MMethod)
if candidate == null then
v.error(self, "Error: conflicting super constructor to call for {mproperty}: {candidate.full_name}, {superprop.mproperty.full_name}")
return
end
- var candidatedefs = candidate.lookup_definitions(v.mmodule, recvtype)
+ var candidatedefs = candidate.lookup_definitions(v.mmodule, anchor)
if superprop != null and superprop.mproperty == candidate then
if superprop == candidatedefs.first then continue
candidatedefs.add(superprop)
var mtype = v.resolve_mtype(ntype)
if mtype != null and mtype != expr then
var umtype = v.anchor_to(mtype)
- v.modelbuilder.warning(self, "Found type {expr} (-> {unsafe}), expected {mtype} (-> {umtype})")
+ v.modelbuilder.warning(self, "debug", "Found type {expr} (-> {unsafe}), expected {mtype} (-> {umtype})")
end
self.is_typed = true
end
print "I have {model.mmodules.length} modules"
var mclasses = mainmodule.flatten_mclass_hierarchy
print "I have also {mclasses.length} classes"
+
+ var meth_cpt = 0
+ for m in mainmodule.in_importation.greaters do
+ for cd in m.mclassdefs do
+ for pd in cd.mpropdefs do
+ if pd isa MMethodDef then meth_cpt += 1
+ end
+ end
+ end
+ print "And {meth_cpt} definitions of methods"
end
# We want executable code
if not (ast isa AModule or ast isa ABlockExpr or ast isa AExpr) then
if ndoc != null and n.tag == "pre" and toolcontext.opt_warn.value > 1 then
- toolcontext.warning(ndoc.location, "Warning: There is a block of code that is not valid Nit, thus not considered a nitunit")
- if ast isa AError then toolcontext.warning(ast.location, ast.message)
+ toolcontext.warning(ndoc.location, "invalid-block", "Warning: There is a block of code that is not valid Nit, thus not considered a nitunit")
+ if ast isa AError then toolcontext.warning(ast.location, "syntax-error", ast.message)
ndoc = null # To avoid multiple warning in the same node
end
return
v.enter_visit(ast)
if not v.foundit then
if ndoc != null and n.tag == "pre" and toolcontext.opt_warn.value > 1 then
- toolcontext.warning(ndoc.location, "Warning: There is a block of Nit code without `assert`, thus not considered a nitunit")
+ toolcontext.warning(ndoc.location, "invalid-block", "Warning: There is a block of Nit code without `assert`, thus not considered a nitunit")
ndoc = null # To avoid multiple warning in the same node
end
return
var ne = new HTMLTag("failure")
ne.attr("message", msg)
tc.add ne
- toolcontext.warning(ndoc.location, "FAILURE: {tc.attrs["classname"]}.{tc.attrs["name"]} (in {file}): {msg}")
+ toolcontext.warning(ndoc.location, "failure", "FAILURE: {tc.attrs["classname"]}.{tc.attrs["name"]} (in {file}): {msg}")
toolcontext.modelbuilder.failed_entities += 1
else if res2 != 0 then
var ne = new HTMLTag("error")
ne.attr("message", msg)
tc.add ne
- toolcontext.warning(ndoc.location, "ERROR: {tc.attrs["classname"]}.{tc.attrs["name"]} (in {file}): {msg}")
+ toolcontext.warning(ndoc.location, "error", "ERROR: {tc.attrs["classname"]}.{tc.attrs["name"]} (in {file}): {msg}")
toolcontext.modelbuilder.failed_entities += 1
end
toolcontext.check_errors
var loc = test_method.location
if res != 0 then
failure = msg
- toolcontext.warning(loc, "FAILURE: {test_method.name} (in file {file}.nit): {msg}")
+ toolcontext.warning(loc, "failure", "FAILURE: {test_method.name} (in file {file}.nit): {msg}")
toolcontext.modelbuilder.failed_tests += 1
end
toolcontext.check_errors
var loc = test_method.location
if res != 0 then
error = msg
- toolcontext.warning(loc, "ERROR: {test_method.name} (in file {file}.nit): {msg}")
+ toolcontext.warning(loc, "failure", "ERROR: {test_method.name} (in file {file}.nit): {msg}")
toolcontext.modelbuilder.failed_tests += 1
end
toolcontext.check_errors
# See the License for the specific language governing permissions and
# limitations under the License.
-# Common command-line tool infractructure than handle options and error messages
+# Common command-line tool infrastructure than handle options and error messages
module toolcontext
import opts
import version
import template
+# A warning or an error
class Message
super Comparable
redef type OTHER: Message
+ # The origin of the message in the source code, if any.
var location: nullable Location
+
+ # The category of the message.
+ #
+ # Used by quality-control tool for statistics or to enable/disable things individually.
+ var tag: nullable String
+
+ # The human-readable description of the message.
+ #
+ # It should be short and fit on a single line.
+ # It should also have meaningful information first in case
+ # on truncation by an IDE for instance.
var text: String
# Comparisons are made on message locations.
var yellow = "{esc}[0;33m"
var def = "{esc}[0m"
+ var tag = tag
+ if tag != null then
+ tag = " ({tag})"
+ else
+ tag = ""
+ end
var l = location
if l == null then
- return text
+ return "{text}{tag}"
else if l.file == null then
- return "{yellow}{l}{def}: {text}"
+ return "{yellow}{l}{def}: {text}{tag}"
else
- return "{yellow}{l}{def}: {text}\n{l.colored_line("1;31")}"
+ return "{yellow}{l}{def}: {text}{tag}\n{l.colored_line("1;31")}"
end
end
end
messages.clear
end
- if error_count > 0 then exit(1)
+ if error_count > 0 then
+ errors_info
+ exit(1)
+ end
+ end
+
+ # Display total error informations
+ fun errors_info
+ do
+ if error_count == 0 and warning_count == 0 then return
+ if opt_no_color.value then return
+ sys.stderr.write "Errors: {error_count}. Warnings: {warning_count}.\n"
end
# Display an error
fun error(l: nullable Location, s: String)
do
- messages.add(new Message(l,s))
+ messages.add(new Message(l,null,s))
error_count = error_count + 1
if opt_stop_on_first_error.value then check_errors
end
check_errors
end
- # Display a warning
- fun warning(l: nullable Location, s: String)
+ # Display a first-level warning.
+ #
+ # First-level warnings are warnings that SHOULD be corrected,
+ # and COULD usually be immediately corrected.
+ #
+ # * There is a simple correction
+ # * There is no reason to let the code this way (no reasonable @supresswarning-like annotation)
+ # * They always are real issues (no false positive)
+ #
+ # First-level warnings are displayed by default (except if option `-q` is given).
+ fun warning(l: nullable Location, tag: String, text: String)
do
if opt_warn.value == 0 then return
- messages.add(new Message(l,s))
+ messages.add(new Message(l, tag, text))
+ warning_count = warning_count + 1
+ if opt_stop_on_first_error.value then check_errors
+ end
+
+ # Display a second-level warning.
+ #
+ # Second-level warnings are warnings that should require investigation,
+ # but cannot always be immediately corrected.
+ #
+ # * The correction could be complex. e.g. require a refactorisation or an API change.
+ # * The correction cannot be done. e.g. Code that use a deprecated API for some compatibility reason.
+ # * There is not a real issue (false positive). Note that this should be unlikely.
+ # * Transitional: While a real warning, it fires a lot in current code, so a transition is needed
+ # in order to fix them before promoting the advice to a warning.
+ #
+ # In order to prevent warning inflation à la Java, second-level warnings are not displayed by
+ # default and require an additional option `-W`.
+ fun advice(l: nullable Location, tag: String, text: String)
+ do
+ if opt_warn.value <= 1 then return
+ messages.add(new Message(l, tag, text))
warning_count = warning_count + 1
if opt_stop_on_first_error.value then check_errors
end
--- /dev/null
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Group head module for UML generation services
+module uml
+
+import uml_base
+import uml_class
+import uml_module
--- /dev/null
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Exposes the base class for UML generation of a `Model`
+module uml_base
+
+import toolcontext
+import model_utils
+
+redef class ToolContext
+ # -p
+ var opt_privacy = new OptionBool("Generates private API", "-p", "--private")
+
+ # Shortcut for the value of `self.opt_privacy`
+ fun private_gen: Bool do return opt_privacy.value
+
+ redef init do
+ option_context.add_option opt_privacy
+ super
+ end
+end
+
+class UMLModel
+ var model: Model
+ var mainmodule: MModule
+ var ctx: ToolContext
+end
--- /dev/null
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Provides facilities of exporting a `Model` to a UML class diagram
+module uml_class
+
+import uml_base
+
+redef class UMLModel
+ # Generates a UML class diagram from a `Model`
+ fun generate_class_uml: Streamable do
+ var tpl = new Template
+ tpl.add "digraph G \{\n"
+ tpl.add """ fontname = "Bitstream Vera Sans"
+ fontsize = 8
+ node [
+ fontname = "Bitstream Vera Sans"
+ fontsize = 8
+ shape = "record"
+ ]
+
+ edge [
+ fontname = "Bitstream Vera Sans"
+ fontsize = 8
+ ]\n"""
+ tpl.add model.tpl_class(ctx, mainmodule)
+ tpl.add "\}"
+ return tpl
+ end
+end
+
+redef class Model
+
+ # Generates a UML Class diagram from the entities of a `Model`
+ fun tpl_class(ctx: ToolContext, main: MModule): Streamable do
+ var t = new Template
+ for i in mclasses do
+ if not ctx.private_gen and i.visibility != public_visibility then continue
+ t.add i.tpl_class(ctx, main)
+ t.add "\n"
+ end
+ return t
+ end
+
+end
+
+redef class MEntity
+ # Generates a dot-compatible `Streamable` UML Class diagram from `self`
+ fun tpl_class(ctx: ToolContext, main: MModule): Streamable is abstract
+end
+
+redef class MClass
+
+ redef fun tpl_class(ctx, main): Streamable do
+ var t = new Template
+ t.add "{name} [\n label = \"\{"
+ if kind == abstract_kind then
+ t.add "abstract\\n{name}"
+ else if kind == interface_kind then
+ t.add "interface\\n{name}"
+ else
+ t.add "{name}"
+ end
+ if arity > 0 then
+ t.add "["
+ var formal = intro.parameter_names
+ t.add formal.first
+ for i in [1 .. formal.length[ do
+ t.add ", "
+ t.add formal[i]
+ end
+ t.add "]"
+ end
+ t.add "|"
+ var props: Collection[MProperty]
+ if ctx.private_gen then
+ props = intro_mproperties(none_visibility)
+ else
+ props = intro_mproperties(public_visibility)
+ end
+ for i in props do
+ if i isa MAttribute then
+ t.add i.tpl_class(ctx, main)
+ t.add "\\l"
+ end
+ end
+ t.add "|"
+ for i in intro_methods do
+ if not ctx.private_gen and i.visibility != public_visibility then continue
+ t.add i.tpl_class(ctx, main)
+ t.add "\\l"
+ end
+ t.add "\}\"\n]\n"
+ var g = in_hierarchy(main).direct_greaters
+ for i in g do
+ if not ctx.private_gen and i.visibility != public_visibility then continue
+ t.add "{i.name} -> {name} [dir=back"
+ if i.kind == interface_kind then
+ t.add " arrowtail=open style=dashed"
+ else
+ t.add " arrowtail=empty"
+ end
+ t.add "];\n"
+ end
+ return t
+ end
+
+end
+
+redef class MMethod
+ redef fun tpl_class(ctx, main) do
+ var tpl = new Template
+ tpl.add visibility.tpl_class
+ tpl.add " "
+ tpl.add name.escape_to_dot
+ tpl.add intro.msignature.tpl_class(ctx, main)
+ return tpl
+ end
+end
+
+redef class MSignature
+
+ redef fun tpl_class(ctx, main) do
+ var t = new Template
+ t.add "("
+ var params = new Array[MParameter]
+ for i in mparameters do
+ params.add i
+ end
+ if params.length > 0 then
+ t.add params.first.name
+ t.add ": "
+ t.add params.first.mtype.tpl_class(ctx, main)
+ for i in [1 .. params.length [ do
+ t.add ", "
+ t.add params[i].name
+ t.add ": "
+ t.add params[i].mtype.tpl_class(ctx, main)
+ end
+ end
+ t.add ")"
+ if return_mtype != null then
+ t.add ": "
+ t.add return_mtype.tpl_class(ctx, main)
+ end
+ return t
+ end
+end
+
+redef class MAttribute
+ redef fun tpl_class(ctx, main) do
+ var tpl = new Template
+ tpl.add visibility.tpl_class
+ tpl.add " "
+ tpl.add name
+ tpl.add ": "
+ tpl.add intro.static_mtype.tpl_class(ctx, main)
+ return tpl
+ end
+end
+
+redef class MVisibility
+ # Returns the visibility as a UML token
+ #
+ # assert public_visibility.tpl_class == "+"
+ # assert private_visibility.tpl_class == "-"
+ fun tpl_class: Streamable do
+ if self == private_visibility then
+ return "-"
+ else if self == protected_visibility then
+ return "#"
+ else if self == public_visibility then
+ return "+"
+ else
+ return "+"
+ end
+ end
+end
+
+redef class MClassType
+ redef fun tpl_class(c, m) do
+ return name
+ end
+end
+
+redef class MGenericType
+ redef fun tpl_class(c, m) do
+ var t = new Template
+ t.add name.substring(0, name.index_of('['))
+ t.add "["
+ t.add arguments.first.tpl_class(c, m)
+ for i in [1 .. arguments.length[ do
+ t.add ", "
+ t.add arguments[i].tpl_class(c, m)
+ end
+ t.add "]"
+ return t
+ end
+end
+
+redef class MParameterType
+ redef fun tpl_class(c, m) do
+ var n = mclass.intro.parameter_names
+ return n[rank]
+ end
+end
+
+redef class MVirtualType
+ redef fun tpl_class(c, m) do
+ return name
+ end
+end
+
+redef class MNullableType
+ redef fun tpl_class(c, m) do
+ var t = new Template
+ t.add "nullable "
+ t.add mtype.tpl_class(c, m)
+ return t
+ end
+end
--- /dev/null
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Services for generation of a UML package diagram based on a `Model`
+module uml_module
+
+import uml_base
+import uml_class
+
+redef class UMLModel
+ # Generates a UML package diagram from a `Model`
+ fun generate_package_uml: Streamable do
+ var tpl = new Template
+ tpl.add "digraph G \{\n"
+ tpl.add """ fontname = "Bitstream Vera Sans"
+ fontsize = 8
+ node [
+ fontname = "Bitstream Vera Sans"
+ fontsize = 8
+ shape = "record"
+ ]
+ edge [
+ fontname = "Bitstream Vera Sans"
+ fontsize = 8
+ ]\n"""
+ tpl.add model.tpl_module(ctx, mainmodule)
+ tpl.add "\}"
+ return tpl
+ end
+end
+
+redef class Model
+ # Returns a UML package diagram of `main`
+ fun tpl_module(ctx: ToolContext, main: MModule): Streamable do
+ return main.tpl_module(ctx, main)
+ end
+end
+
+redef class MModule
+ redef fun tpl_module(ctx, main) do
+ var t = new Template
+ t.add "subgraph cluster{name} \{\n"
+ t.add "label = \"{name}\"\n"
+ for i in mclassdefs do
+ if not ctx.private_gen and i.mclass.visibility != public_visibility then continue
+ t.add i.tpl_module(ctx, main)
+ end
+ t.add "\}\n"
+ return t
+ end
+end
+
+redef class MEntity
+ # Builds a dot UML package diagram entity from `self`
+ fun tpl_module(ctx: ToolContext, main: MModule): Streamable is abstract
+end
+
+redef class MClassDef
+
+ # Colour for the border of a class when first introduced
+ #
+ # Defaults to a shade of green
+ var intro_colour = "#58B26A"
+
+ # Colour for the border of a class when refined
+ #
+ # Defaults to a shade of red
+ var redef_colour = "#B24758"
+
+ redef fun tpl_module(ctx, main) do
+ var t = new Template
+ t.add "{mmodule}{name} [\n\tlabel = \"\{"
+ if mclass.kind == abstract_kind then
+ t.add "abstract\\n{name}"
+ else if mclass.kind == interface_kind then
+ t.add "interface\\n{name}"
+ else
+ t.add "{name}"
+ end
+ if mclass.arity > 0 then
+ t.add "["
+ var formal = mclass.intro.parameter_names
+ t.add formal.first
+ for i in [1 .. formal.length[ do
+ t.add ", "
+ t.add formal[i]
+ end
+ t.add "]"
+ end
+ t.add "|"
+ for i in mpropdefs do
+ if not i isa MAttributeDef then continue
+ if not ctx.private_gen and i.mproperty.visibility != public_visibility then continue
+ t.add i.tpl_module(ctx, main)
+ t.add "\\l"
+ end
+ t.add "|"
+ for i in mpropdefs do
+ if not i isa MMethodDef then continue
+ if not ctx.private_gen and i.mproperty.visibility != public_visibility then continue
+ t.add i.tpl_module(ctx, main)
+ t.add "\\l"
+ end
+ t.add "\}\""
+ if is_intro then
+ t.add "color=\"{intro_colour}\""
+ else
+ t.add "color=\"{redef_colour}\""
+ end
+ t.add "\n]\n"
+ var supers = in_hierarchy.direct_greaters
+ for i in supers do
+ if i.mmodule != mmodule then continue
+ t.add "{i.mmodule}{i.name} -> {mmodule}{name} [dir=back"
+ if i.mclass.kind == interface_kind then
+ t.add " arrowtail=open style=dashed"
+ else
+ t.add " arrowtail=empty"
+ end
+ t.add "]\n"
+ end
+ return t
+ end
+end
+
+redef class MMethodDef
+ redef fun tpl_module(ctx, main) do
+ var t = new Template
+ t.add mproperty.visibility.tpl_class
+ t.add " "
+ t.add name.escape_to_dot
+ t.add msignature.tpl_class(ctx, main)
+ return t
+ end
+end
+
+redef class MAttributeDef
+ redef fun tpl_module(ctx, main) do
+ var t = new Template
+ t.add mproperty.visibility.tpl_class
+ t.add " "
+ t.add name
+ t.add ": "
+ t.add static_mtype.tpl_class(ctx, main)
+ return t
+ end
+end
--- /dev/null
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import array
+
+var a = [1,2,3]
+__debug__ type Array[Int]: a
+
+var b = [1,2,3:Object]
+__debug__ type Array[Object]: b
+
+var c = [1,2,false:Object]
+__debug__ type Array[Object]: c
+
+#alt1# var d = [1,2,false:Int]
+
+#alt2# var e = [1:Fail]
+
+#alt3#var f = [1,2,3: Int]
+#alt3#__debug__ type Array[Int]: f
init_inherit
init_linext
+android
--- /dev/null
+--diagram package --private ./base_prot_sig2.nit -I ../lib/standard
+--diagram package ./base_prot_sig2.nit -I ../lib/standard
+--diagram class --private ./base_prot_sig2.nit -I ../lib/standard
+--diagram class ./base_prot_sig2.nit -I ../lib/standard
--- /dev/null
+alt/base_array_lit_typed_alt1.nit:26,14--18: Type error: expected Int, got Bool
--- /dev/null
+alt/base_array_lit_typed_alt2.nit:28,12--15: Type error: class Fail not found in module base_array_lit_typed_alt2.
--- /dev/null
+alt/base_array_lit_typed_alt3.nit:30,17--19: Warning: useless type declaration `Int` in literal Array since it can be inferred from the elements type.
-base_control_flow2.nit:21,1--25,3: Warning: use 'loop' instead of 'while true do'.
-base_control_flow2.nit:39,1--43,3: Warning: use 'loop' instead of 'while true do'.
-base_control_flow2.nit:47,2--51,4: Warning: use 'loop' instead of 'while true do'.
-base_control_flow2.nit:45,1--55,3: Warning: use 'loop' instead of 'while true do'.
+base_control_flow2.nit:21,1--25,3: Warning: use `loop` instead of `while true do`.
+base_control_flow2.nit:39,1--43,3: Warning: use `loop` instead of `while true do`.
+base_control_flow2.nit:47,2--51,4: Warning: use `loop` instead of `while true do`.
+base_control_flow2.nit:45,1--55,3: Warning: use `loop` instead of `while true do`.
alt/base_control_flow2_alt1.nit:24,2: Error: unreachable statement.
-alt/base_control_flow2_alt1.nit:21,1--25,3: Warning: use 'loop' instead of 'while true do'.
-alt/base_control_flow2_alt1.nit:39,1--43,3: Warning: use 'loop' instead of 'while true do'.
-alt/base_control_flow2_alt1.nit:47,2--51,4: Warning: use 'loop' instead of 'while true do'.
-alt/base_control_flow2_alt1.nit:45,1--55,3: Warning: use 'loop' instead of 'while true do'.
+alt/base_control_flow2_alt1.nit:21,1--25,3: Warning: use `loop` instead of `while true do`.
+alt/base_control_flow2_alt1.nit:39,1--43,3: Warning: use `loop` instead of `while true do`.
+alt/base_control_flow2_alt1.nit:47,2--51,4: Warning: use `loop` instead of `while true do`.
+alt/base_control_flow2_alt1.nit:45,1--55,3: Warning: use `loop` instead of `while true do`.
-alt/base_control_flow2_alt2.nit:21,1--25,3: Warning: use 'loop' instead of 'while true do'.
+alt/base_control_flow2_alt2.nit:21,1--25,3: Warning: use `loop` instead of `while true do`.
alt/base_control_flow2_alt2.nit:30,2: Error: unreachable statement.
-alt/base_control_flow2_alt2.nit:39,1--43,3: Warning: use 'loop' instead of 'while true do'.
-alt/base_control_flow2_alt2.nit:47,2--51,4: Warning: use 'loop' instead of 'while true do'.
-alt/base_control_flow2_alt2.nit:45,1--55,3: Warning: use 'loop' instead of 'while true do'.
+alt/base_control_flow2_alt2.nit:39,1--43,3: Warning: use `loop` instead of `while true do`.
+alt/base_control_flow2_alt2.nit:47,2--51,4: Warning: use `loop` instead of `while true do`.
+alt/base_control_flow2_alt2.nit:45,1--55,3: Warning: use `loop` instead of `while true do`.
-alt/base_control_flow2_alt3.nit:21,1--25,3: Warning: use 'loop' instead of 'while true do'.
+alt/base_control_flow2_alt3.nit:21,1--25,3: Warning: use `loop` instead of `while true do`.
alt/base_control_flow2_alt3.nit:42,2: Error: unreachable statement.
-alt/base_control_flow2_alt3.nit:39,1--43,3: Warning: use 'loop' instead of 'while true do'.
-alt/base_control_flow2_alt3.nit:47,2--51,4: Warning: use 'loop' instead of 'while true do'.
-alt/base_control_flow2_alt3.nit:45,1--55,3: Warning: use 'loop' instead of 'while true do'.
+alt/base_control_flow2_alt3.nit:39,1--43,3: Warning: use `loop` instead of `while true do`.
+alt/base_control_flow2_alt3.nit:47,2--51,4: Warning: use `loop` instead of `while true do`.
+alt/base_control_flow2_alt3.nit:45,1--55,3: Warning: use `loop` instead of `while true do`.
-alt/base_control_flow2_alt4.nit:21,1--25,3: Warning: use 'loop' instead of 'while true do'.
-alt/base_control_flow2_alt4.nit:39,1--43,3: Warning: use 'loop' instead of 'while true do'.
+alt/base_control_flow2_alt4.nit:21,1--25,3: Warning: use `loop` instead of `while true do`.
+alt/base_control_flow2_alt4.nit:39,1--43,3: Warning: use `loop` instead of `while true do`.
alt/base_control_flow2_alt4.nit:50,3: Error: unreachable statement.
-alt/base_control_flow2_alt4.nit:47,2--51,4: Warning: use 'loop' instead of 'while true do'.
-alt/base_control_flow2_alt4.nit:45,1--55,3: Warning: use 'loop' instead of 'while true do'.
+alt/base_control_flow2_alt4.nit:47,2--51,4: Warning: use `loop` instead of `while true do`.
+alt/base_control_flow2_alt4.nit:45,1--55,3: Warning: use `loop` instead of `while true do`.
-alt/base_control_flow2_alt5.nit:21,1--25,3: Warning: use 'loop' instead of 'while true do'.
-alt/base_control_flow2_alt5.nit:39,1--43,3: Warning: use 'loop' instead of 'while true do'.
-alt/base_control_flow2_alt5.nit:47,2--51,4: Warning: use 'loop' instead of 'while true do'.
+alt/base_control_flow2_alt5.nit:21,1--25,3: Warning: use `loop` instead of `while true do`.
+alt/base_control_flow2_alt5.nit:39,1--43,3: Warning: use `loop` instead of `while true do`.
+alt/base_control_flow2_alt5.nit:47,2--51,4: Warning: use `loop` instead of `while true do`.
alt/base_control_flow2_alt5.nit:54,2: Error: unreachable statement.
-alt/base_control_flow2_alt5.nit:45,1--55,3: Warning: use 'loop' instead of 'while true do'.
+alt/base_control_flow2_alt5.nit:45,1--55,3: Warning: use `loop` instead of `while true do`.
-alt/base_control_flow2_alt6.nit:21,1--25,3: Warning: use 'loop' instead of 'while true do'.
-alt/base_control_flow2_alt6.nit:39,1--43,3: Warning: use 'loop' instead of 'while true do'.
-alt/base_control_flow2_alt6.nit:47,2--51,4: Warning: use 'loop' instead of 'while true do'.
-alt/base_control_flow2_alt6.nit:45,1--55,3: Warning: use 'loop' instead of 'while true do'.
+alt/base_control_flow2_alt6.nit:21,1--25,3: Warning: use `loop` instead of `while true do`.
+alt/base_control_flow2_alt6.nit:39,1--43,3: Warning: use `loop` instead of `while true do`.
+alt/base_control_flow2_alt6.nit:47,2--51,4: Warning: use `loop` instead of `while true do`.
+alt/base_control_flow2_alt6.nit:45,1--55,3: Warning: use `loop` instead of `while true do`.
alt/base_control_flow2_alt6.nit:60,2: Error: unreachable statement.
-alt/base_control_flow2_alt7.nit:21,1--25,3: Warning: use 'loop' instead of 'while true do'.
-alt/base_control_flow2_alt7.nit:39,1--43,3: Warning: use 'loop' instead of 'while true do'.
-alt/base_control_flow2_alt7.nit:47,2--51,4: Warning: use 'loop' instead of 'while true do'.
-alt/base_control_flow2_alt7.nit:45,1--55,3: Warning: use 'loop' instead of 'while true do'.
+alt/base_control_flow2_alt7.nit:21,1--25,3: Warning: use `loop` instead of `while true do`.
+alt/base_control_flow2_alt7.nit:39,1--43,3: Warning: use `loop` instead of `while true do`.
+alt/base_control_flow2_alt7.nit:47,2--51,4: Warning: use `loop` instead of `while true do`.
+alt/base_control_flow2_alt7.nit:45,1--55,3: Warning: use `loop` instead of `while true do`.
alt/base_control_flow2_alt7.nit:67,2: Error: unreachable statement.
-../lib/mnit_linux/linux_app.nit:28,16--31: Redef Error: a virtual type cannot be refined.
-../lib/mnit_linux/linux_app.nit:29,16--29: Redef Error: a virtual type cannot be refined.
+../lib/mnit_linux/linux_app.nit:29,16--31: Redef Error: a virtual type cannot be refined.
+../lib/mnit_linux/linux_app.nit:30,16--29: Redef Error: a virtual type cannot be refined.
error_expr_not_ok.nit:66,7--10: Error: Method or variable 'fail' unknown in Sys.
error_expr_not_ok.nit:66,21: Type error: expected A, got Int
error_expr_not_ok.nit:67,15--18: Error: Method or variable 'fail' unknown in Sys.
-error_expr_not_ok.nit:67,1--18: Warning: use 'loop' instead of 'while true do'.
+error_expr_not_ok.nit:67,1--18: Warning: use `loop` instead of `while true do`.
error_expr_not_ok.nit:69,10--13: Error: Method or variable 'fail' unknown in Sys.
error_expr_not_ok.nit:70,20--23: Error: Method or variable 'fail' unknown in Sys.
error_expr_not_ok.nit:71,8--11: Error: Method or variable 'fail' unknown in Sys.
alt/error_expr_not_ok_alt2.nit:60,20: Type error: expected A, got Int
alt/error_expr_not_ok_alt2.nit:62,7--27: Type error: expected A, got Int
alt/error_expr_not_ok_alt2.nit:66,21: Type error: expected A, got Int
-alt/error_expr_not_ok_alt2.nit:67,1--18: Warning: use 'loop' instead of 'while true do'.
+alt/error_expr_not_ok_alt2.nit:67,1--18: Warning: use `loop` instead of `while true do`.
alt/error_expr_not_ok_alt2.nit:73,7--18: Type error: expected A, got Bool
alt/error_expr_not_ok_alt2.nit:74,7--18: Type error: expected A, got Bool
alt/error_expr_not_ok_alt2.nit:75,7--18: Type error: expected A, got Bool
alt/error_expr_not_ok_alt3.nit:60,20: Type error: expected A, got Int
alt/error_expr_not_ok_alt3.nit:62,7--27: Type error: expected A, got Int
alt/error_expr_not_ok_alt3.nit:66,21: Type error: expected A, got Int
-alt/error_expr_not_ok_alt3.nit:67,1--18: Warning: use 'loop' instead of 'while true do'.
+alt/error_expr_not_ok_alt3.nit:67,1--18: Warning: use `loop` instead of `while true do`.
alt/error_expr_not_ok_alt3.nit:73,7--18: Type error: expected A, got Bool
alt/error_expr_not_ok_alt3.nit:74,7--18: Type error: expected A, got Bool
alt/error_expr_not_ok_alt3.nit:75,7--18: Type error: expected A, got Bool
alt/error_expr_not_ok_alt4.nit:64,7--33: Type error: expected A, got Int
alt/error_expr_not_ok_alt4.nit:66,7--10: Type error: expected Bool, got Int
alt/error_expr_not_ok_alt4.nit:66,21: Type error: expected A, got Int
-alt/error_expr_not_ok_alt4.nit:67,1--18: Warning: use 'loop' instead of 'while true do'.
+alt/error_expr_not_ok_alt4.nit:67,1--18: Warning: use `loop` instead of `while true do`.
alt/error_expr_not_ok_alt4.nit:69,24: Type error: expected A, got Int
alt/error_expr_not_ok_alt4.nit:69,1--25: Type Error: 'for' expects a type providing 'iterator' method, got 'Int'.
alt/error_expr_not_ok_alt4.nit:69,1--25: Error: Method 'iterator' doesn't exists in Int.
alt/error_expr_not_ok_alt5.nit:64,7--33: Type error: expected A, got Int
alt/error_expr_not_ok_alt5.nit:66,7--10: Type error: expected Bool, got Int
alt/error_expr_not_ok_alt5.nit:66,21: Type error: expected A, got Int
-alt/error_expr_not_ok_alt5.nit:67,1--18: Warning: use 'loop' instead of 'while true do'.
+alt/error_expr_not_ok_alt5.nit:67,1--18: Warning: use `loop` instead of `while true do`.
alt/error_expr_not_ok_alt5.nit:69,24: Type error: expected A, got Int
alt/error_expr_not_ok_alt5.nit:69,1--25: Type Error: 'for' expects a type providing 'iterator' method, got 'Int'.
alt/error_expr_not_ok_alt5.nit:69,1--25: Error: Method 'iterator' doesn't exists in Int.
alt/error_expr_not_ok_alt6.nit:64,7--33: Type error: expected A, got Int
alt/error_expr_not_ok_alt6.nit:66,7--10: Type error: expected Bool, got Int
alt/error_expr_not_ok_alt6.nit:66,21: Type error: expected A, got Int
-alt/error_expr_not_ok_alt6.nit:67,1--18: Warning: use 'loop' instead of 'while true do'.
+alt/error_expr_not_ok_alt6.nit:67,1--18: Warning: use `loop` instead of `while true do`.
alt/error_expr_not_ok_alt6.nit:69,24: Type error: expected A, got Int
alt/error_expr_not_ok_alt6.nit:69,1--25: Type Error: 'for' expects a type providing 'iterator' method, got 'Int'.
alt/error_expr_not_ok_alt6.nit:69,1--25: Error: Method 'iterator' doesn't exists in Int.
error_fun_ret4.nit:17,5--8: Control error: Reached end of function (a 'return' with a value was expected).
-error_fun_ret4.nit:19,2--22,4: Warning: use 'loop' instead of 'while true do'.
+error_fun_ret4.nit:19,2--22,4: Warning: use `loop` instead of `while true do`.
-../lib/mnit_linux/linux_app.nit:28,16--31: Redef Error: a virtual type cannot be refined.
-../lib/mnit_linux/linux_app.nit:29,16--29: Redef Error: a virtual type cannot be refined.
+../lib/mnit_linux/linux_app.nit:29,16--31: Redef Error: a virtual type cannot be refined.
+../lib/mnit_linux/linux_app.nit:30,16--29: Redef Error: a virtual type cannot be refined.
-../lib/mnit_linux/linux_app.nit:28,16--31: Redef Error: a virtual type cannot be refined.
-../lib/mnit_linux/linux_app.nit:29,16--29: Redef Error: a virtual type cannot be refined.
+../lib/mnit_linux/linux_app.nit:29,16--31: Redef Error: a virtual type cannot be refined.
+../lib/mnit_linux/linux_app.nit:30,16--29: Redef Error: a virtual type cannot be refined.
-../lib/mnit_linux/linux_app.nit:28,16--31: Redef Error: a virtual type cannot be refined.
-../lib/mnit_linux/linux_app.nit:29,16--29: Redef Error: a virtual type cannot be refined.
+../lib/mnit_linux/linux_app.nit:29,16--31: Redef Error: a virtual type cannot be refined.
+../lib/mnit_linux/linux_app.nit:30,16--29: Redef Error: a virtual type cannot be refined.
-../lib/mnit_linux/linux_app.nit:28,16--31: Redef Error: a virtual type cannot be refined.
-../lib/mnit_linux/linux_app.nit:29,16--29: Redef Error: a virtual type cannot be refined.
+../lib/mnit_linux/linux_app.nit:29,16--31: Redef Error: a virtual type cannot be refined.
+../lib/mnit_linux/linux_app.nit:30,16--29: Redef Error: a virtual type cannot be refined.
-../lib/mnit_linux/linux_app.nit:28,16--31: Redef Error: a virtual type cannot be refined.
-../lib/mnit_linux/linux_app.nit:29,16--29: Redef Error: a virtual type cannot be refined.
+../lib/mnit_linux/linux_app.nit:29,16--31: Redef Error: a virtual type cannot be refined.
+../lib/mnit_linux/linux_app.nit:30,16--29: Redef Error: a virtual type cannot be refined.
--- /dev/null
+Usage: [OPTION]... [ARG]...
+Use --help for help
--- /dev/null
+digraph G {
+ fontname = "Bitstream Vera Sans"
+ fontsize = 8
+ node [
+ fontname = "Bitstream Vera Sans"
+ fontsize = 8
+ shape = "record"
+ ]
+ edge [
+ fontname = "Bitstream Vera Sans"
+ fontsize = 8
+ ]
+subgraph clusterbase_prot_sig2 {
+label = "base_prot_sig2"
+base_prot_sig2C [
+ label = "{C|- _vpriA: nullable A\l- _vpriA2: A\l|- priA(a: A)\l- vpriA(): nullable A\l- vpriA=(vpriA: nullable A)\l- vpriA2(): A\l- vpriA2=(vpriA2: A)\l+ init()\l}"color="#58B26A"
+]
+base_prot_sig2D [
+ label = "{D|- _vpubA: nullable A\l- _vpriA: nullable A\l- _vpubA2: A\l- _vpriA2: A\l|- pubA(a: A)\l- priA(a: A)\l- vpubA(): nullable A\l- vpubA=(vpubA: nullable A)\l- vpriA(): nullable A\l- vpriA=(vpriA: nullable A)\l- vpubA2(): A\l- vpubA2=(vpubA2: A)\l- vpriA2(): A\l- vpriA2=(vpriA2: A)\l+ init()\l}"color="#58B26A"
+]
+}
+}
--- /dev/null
+digraph G {
+ fontname = "Bitstream Vera Sans"
+ fontsize = 8
+ node [
+ fontname = "Bitstream Vera Sans"
+ fontsize = 8
+ shape = "record"
+ ]
+ edge [
+ fontname = "Bitstream Vera Sans"
+ fontsize = 8
+ ]
+subgraph clusterbase_prot_sig2 {
+label = "base_prot_sig2"
+base_prot_sig2C [
+ label = "{C||+ init()\l}"color="#58B26A"
+]
+}
+}
--- /dev/null
+digraph G {
+ fontname = "Bitstream Vera Sans"
+ fontsize = 8
+ node [
+ fontname = "Bitstream Vera Sans"
+ fontsize = 8
+ shape = "record"
+ ]
+
+ edge [
+ fontname = "Bitstream Vera Sans"
+ fontsize = 8
+ ]
+Object [
+ label = "{interface\nObject||+ object_id(): Int\l+ is_same_type(other: Object): Bool\l+ is_same_instance(other: nullable Object): Bool\l+ ==(other: nullable Object): Bool\l+ !=(other: nullable Object): Bool\l+ output()\l+ output_class_name()\l+ hash(): Int\l+ exit(exit_value: Int)\l+ sys(): Sys\l}"
+]
+
+Sys [
+ label = "{Sys||+ main()\l+ run()\l+ errno(): Int\l}"
+]
+Object -> Sys [dir=back arrowtail=open style=dashed];
+
+Comparable [
+ label = "{interface\nComparable||+ \<(other: OTHER): Bool\l+ \<=(other: OTHER): Bool\l+ \>=(other: OTHER): Bool\l+ \>(other: OTHER): Bool\l+ \<=\>(other: OTHER): Int\l+ is_between(c: OTHER, d: OTHER): Bool\l+ max(other: OTHER): OTHER\l+ min(c: OTHER): OTHER\l}"
+]
+Object -> Comparable [dir=back arrowtail=open style=dashed];
+
+Discrete [
+ label = "{interface\nDiscrete||+ successor(i: Int): OTHER\l+ predecessor(i: Int): OTHER\l+ distance(d: OTHER): Int\l}"
+]
+Comparable -> Discrete [dir=back arrowtail=open style=dashed];
+
+Numeric [
+ label = "{interface\nNumeric||+ +(i: OTHER): OTHER\l+ -(i: OTHER): OTHER\l+ unary -(): OTHER\l+ *(i: OTHER): OTHER\l+ /(i: OTHER): OTHER\l+ to_i(): Int\l+ to_f(): Float\l+ is_zero(): Bool\l+ zero(): OTHER\l+ value_of(val: Numeric): OTHER\l}"
+]
+Comparable -> Numeric [dir=back arrowtail=open style=dashed];
+
+Bool [
+ label = "{Bool||+ to_i(): Int\l}"
+]
+Object -> Bool [dir=back arrowtail=open style=dashed];
+
+Float [
+ label = "{Float||}"
+]
+Numeric -> Float [dir=back arrowtail=open style=dashed];
+
+Int [
+ label = "{Int||+ %(i: Int): Int\l+ lshift(i: Int): Int\l+ rshift(i: Int): Int\l+ ascii(): Char\l+ digit_count(b: Int): Int\l+ digit_count_base_10(): Int\l+ to_c(): Char\l+ abs(): Int\l}"
+]
+Discrete -> Int [dir=back arrowtail=open style=dashed];
+Numeric -> Int [dir=back arrowtail=open style=dashed];
+
+Char [
+ label = "{Char||+ to_i(): Int\l+ ascii(): Int\l+ to_lower(): Char\l+ to_upper(): Char\l+ is_digit(): Bool\l+ is_lower(): Bool\l+ is_upper(): Bool\l+ is_letter(): Bool\l}"
+]
+Discrete -> Char [dir=back arrowtail=open style=dashed];
+
+Pointer [
+ label = "{Pointer||+ address_is_null(): Bool\l+ free()\l}"
+]
+Object -> Pointer [dir=back arrowtail=open style=dashed];
+
+A [
+ label = "{A|- _vpubA: nullable A\l- _vproA: nullable A\l- _vpriA: nullable A\l- _vpubA2: A\l- _vproA2: A\l- _vpriA2: A\l- _vpriB: nullable B\l- _vpriB2: B\l|+ pubA(a: A)\l# proA(a: A)\l- priA(a: A)\l+ vpubA(): nullable A\l+ vpubA=(vpubA: nullable A)\l# vproA(): nullable A\l# vproA=(vproA: nullable A)\l- vpriA(): nullable A\l- vpriA=(vpriA: nullable A)\l+ vpubA2(): A\l+ vpubA2=(vpubA2: A)\l# vproA2(): A\l# vproA2=(vproA2: A)\l- vpriA2(): A\l- vpriA2=(vpriA2: A)\l- priB(a: B)\l- vpriB(): nullable B\l- vpriB=(vpriB: nullable B)\l- vpriB2(): B\l- vpriB2=(vpriB2: B)\l}"
+]
+Object -> A [dir=back arrowtail=open style=dashed];
+
+B [
+ label = "{B|- _vpubA: nullable A\l- _vpriA: nullable A\l- _vpubA2: A\l- _vpriA2: A\l- _vpubB: nullable B\l- _vpriB: nullable B\l- _vpubB2: B\l- _vpriB2: B\l|- pubA(a: A)\l- priA(a: A)\l- vpubA(): nullable A\l- vpubA=(vpubA: nullable A)\l- vpriA(): nullable A\l- vpriA=(vpriA: nullable A)\l- vpubA2(): A\l- vpubA2=(vpubA2: A)\l- vpriA2(): A\l- vpriA2=(vpriA2: A)\l- pubB(a: B)\l- priB(a: B)\l- vpubB(): nullable B\l- vpubB=(vpubB: nullable B)\l- vpriB(): nullable B\l- vpriB=(vpriB: nullable B)\l- vpubB2(): B\l- vpubB2=(vpubB2: B)\l- vpriB2(): B\l- vpriB2=(vpriB2: B)\l}"
+]
+Object -> B [dir=back arrowtail=open style=dashed];
+
+C [
+ label = "{C|- _vpriA: nullable A\l- _vpriA2: A\l|- priA(a: A)\l- vpriA(): nullable A\l- vpriA=(vpriA: nullable A)\l- vpriA2(): A\l- vpriA2=(vpriA2: A)\l}"
+]
+Object -> C [dir=back arrowtail=open style=dashed];
+
+D [
+ label = "{D|- _vpubA: nullable A\l- _vpriA: nullable A\l- _vpubA2: A\l- _vpriA2: A\l|- pubA(a: A)\l- priA(a: A)\l- vpubA(): nullable A\l- vpubA=(vpubA: nullable A)\l- vpriA(): nullable A\l- vpriA=(vpriA: nullable A)\l- vpubA2(): A\l- vpubA2=(vpubA2: A)\l- vpriA2(): A\l- vpriA2=(vpriA2: A)\l}"
+]
+Object -> D [dir=back arrowtail=open style=dashed];
+
+}
--- /dev/null
+digraph G {
+ fontname = "Bitstream Vera Sans"
+ fontsize = 8
+ node [
+ fontname = "Bitstream Vera Sans"
+ fontsize = 8
+ shape = "record"
+ ]
+
+ edge [
+ fontname = "Bitstream Vera Sans"
+ fontsize = 8
+ ]
+Object [
+ label = "{interface\nObject||+ object_id(): Int\l+ is_same_type(other: Object): Bool\l+ is_same_instance(other: nullable Object): Bool\l+ ==(other: nullable Object): Bool\l+ !=(other: nullable Object): Bool\l+ output()\l+ output_class_name()\l+ hash(): Int\l+ exit(exit_value: Int)\l+ sys(): Sys\l}"
+]
+
+Sys [
+ label = "{Sys||+ main()\l+ run()\l+ errno(): Int\l}"
+]
+Object -> Sys [dir=back arrowtail=open style=dashed];
+
+Comparable [
+ label = "{interface\nComparable||+ \<(other: OTHER): Bool\l+ \<=(other: OTHER): Bool\l+ \>=(other: OTHER): Bool\l+ \>(other: OTHER): Bool\l+ \<=\>(other: OTHER): Int\l+ is_between(c: OTHER, d: OTHER): Bool\l+ max(other: OTHER): OTHER\l+ min(c: OTHER): OTHER\l}"
+]
+Object -> Comparable [dir=back arrowtail=open style=dashed];
+
+Discrete [
+ label = "{interface\nDiscrete||+ successor(i: Int): OTHER\l+ predecessor(i: Int): OTHER\l+ distance(d: OTHER): Int\l}"
+]
+Comparable -> Discrete [dir=back arrowtail=open style=dashed];
+
+Numeric [
+ label = "{interface\nNumeric||+ +(i: OTHER): OTHER\l+ -(i: OTHER): OTHER\l+ unary -(): OTHER\l+ *(i: OTHER): OTHER\l+ /(i: OTHER): OTHER\l+ to_i(): Int\l+ to_f(): Float\l+ is_zero(): Bool\l+ zero(): OTHER\l+ value_of(val: Numeric): OTHER\l}"
+]
+Comparable -> Numeric [dir=back arrowtail=open style=dashed];
+
+Bool [
+ label = "{Bool||+ to_i(): Int\l}"
+]
+Object -> Bool [dir=back arrowtail=open style=dashed];
+
+Float [
+ label = "{Float||}"
+]
+Numeric -> Float [dir=back arrowtail=open style=dashed];
+
+Int [
+ label = "{Int||+ %(i: Int): Int\l+ lshift(i: Int): Int\l+ rshift(i: Int): Int\l+ ascii(): Char\l+ digit_count(b: Int): Int\l+ digit_count_base_10(): Int\l+ to_c(): Char\l+ abs(): Int\l}"
+]
+Discrete -> Int [dir=back arrowtail=open style=dashed];
+Numeric -> Int [dir=back arrowtail=open style=dashed];
+
+Char [
+ label = "{Char||+ to_i(): Int\l+ ascii(): Int\l+ to_lower(): Char\l+ to_upper(): Char\l+ is_digit(): Bool\l+ is_lower(): Bool\l+ is_upper(): Bool\l+ is_letter(): Bool\l}"
+]
+Discrete -> Char [dir=back arrowtail=open style=dashed];
+
+Pointer [
+ label = "{Pointer||+ address_is_null(): Bool\l+ free()\l}"
+]
+Object -> Pointer [dir=back arrowtail=open style=dashed];
+
+A [
+ label = "{A||+ pubA(a: A)\l+ vpubA(): nullable A\l+ vpubA=(vpubA: nullable A)\l+ vpubA2(): A\l+ vpubA2=(vpubA2: A)\l}"
+]
+Object -> A [dir=back arrowtail=open style=dashed];
+
+C [
+ label = "{C||}"
+]
+Object -> C [dir=back arrowtail=open style=dashed];
+
+}
-../lib/mnit_linux/linux_app.nit:28,16--31: Redef Error: a virtual type cannot be refined.
-../lib/mnit_linux/linux_app.nit:29,16--29: Redef Error: a virtual type cannot be refined.
+../lib/mnit_linux/linux_app.nit:29,16--31: Redef Error: a virtual type cannot be refined.
+../lib/mnit_linux/linux_app.nit:30,16--29: Redef Error: a virtual type cannot be refined.
-../lib/mnit_linux/linux_app.nit:28,16--31: Redef Error: a virtual type cannot be refined.
-../lib/mnit_linux/linux_app.nit:29,16--29: Redef Error: a virtual type cannot be refined.
+../lib/mnit_linux/linux_app.nit:29,16--31: Redef Error: a virtual type cannot be refined.
+../lib/mnit_linux/linux_app.nit:30,16--29: Redef Error: a virtual type cannot be refined.
-../lib/mnit_linux/linux_app.nit:28,16--31: Redef Error: a virtual type cannot be refined.
-../lib/mnit_linux/linux_app.nit:29,16--29: Redef Error: a virtual type cannot be refined.
+../lib/mnit_linux/linux_app.nit:29,16--31: Redef Error: a virtual type cannot be refined.
+../lib/mnit_linux/linux_app.nit:30,16--29: Redef Error: a virtual type cannot be refined.
-test_return.nit:45,2--47,4: Warning: use 'loop' instead of 'while true do'.
+test_return.nit:45,2--47,4: Warning: use `loop` instead of `while true do`.
1
1
1
It works
I have 1 modules
I have also 7 classes
+And 17 definitions of methods