myson 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +17 -0
- data/.rspec +2 -0
- data/.travis.yml +5 -0
- data/Gemfile +4 -0
- data/LICENSE +22 -0
- data/README.md +34 -0
- data/Rakefile +14 -0
- data/TODO.md +5 -0
- data/lib/myson.rb +9 -0
- data/lib/myson.y +106 -0
- data/lib/myson/generated_parser.rb +1149 -0
- data/lib/myson/parser.rb +31 -0
- data/lib/myson/version.rb +3 -0
- data/myson.gemspec +22 -0
- data/spec/array_spec.txt +24 -0
- data/spec/constant_spec.txt +5 -0
- data/spec/myson_spec.rb +81 -0
- data/spec/number_spec.txt +25 -0
- data/spec/object_spec.txt +10 -0
- data/spec/spec_helper.rb +8 -0
- data/spec/string_spec.txt +26 -0
- metadata +134 -0
data/.gitignore
ADDED
data/.rspec
ADDED
data/.travis.yml
ADDED
data/Gemfile
ADDED
data/LICENSE
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2012 Jacob Dam
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
# Myson
|
2
|
+
|
3
|
+
A JSON parser using [racc](http://i.loveruby.net/en/projects/racc/)
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
Add this line to your application's Gemfile:
|
8
|
+
|
9
|
+
gem 'myson'
|
10
|
+
|
11
|
+
And then execute:
|
12
|
+
|
13
|
+
$ bundle
|
14
|
+
|
15
|
+
Or install it yourself as:
|
16
|
+
|
17
|
+
$ gem install myson
|
18
|
+
|
19
|
+
## Usage
|
20
|
+
|
21
|
+
ruby
|
22
|
+
```
|
23
|
+
require 'myson'
|
24
|
+
|
25
|
+
Myson.parse(json_string)
|
26
|
+
```
|
27
|
+
|
28
|
+
## Contributing
|
29
|
+
|
30
|
+
1. Fork it
|
31
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
32
|
+
3. Commit your changes (`git commit -am 'Added some feature'`)
|
33
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
34
|
+
5. Create new Pull Request
|
data/Rakefile
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
#!/usr/bin/env rake
|
2
|
+
require "bundler/gem_tasks"
|
3
|
+
|
4
|
+
namespace :build do
|
5
|
+
task :parser do
|
6
|
+
system "racc lib/myson.y -o lib/myson/generated_parser.rb -t"
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
task :spec do
|
11
|
+
system "rspec"
|
12
|
+
end
|
13
|
+
|
14
|
+
task :default => ["build:parser", "spec"]
|
data/TODO.md
ADDED
data/lib/myson.rb
ADDED
data/lib/myson.y
ADDED
@@ -0,0 +1,106 @@
|
|
1
|
+
class Myson::GeneratedParser
|
2
|
+
rule
|
3
|
+
start: document;
|
4
|
+
|
5
|
+
empty: ;
|
6
|
+
os: opt_token_separator;
|
7
|
+
opt_token_separator: token_separator | empty;
|
8
|
+
token_separator: token_separator_chars;
|
9
|
+
token_separator_chars: token_separator_char
|
10
|
+
| token_separator_char token_separator_chars
|
11
|
+
;
|
12
|
+
token_separator_char: whitespace_char | newline_char;
|
13
|
+
whitespace_char: ' ' | "\t";
|
14
|
+
newline_char: "\n" | "\r";
|
15
|
+
|
16
|
+
document: object | array | primitive;
|
17
|
+
literal: object | array | primitive;
|
18
|
+
primitive: null | boolean | number | string;
|
19
|
+
|
20
|
+
# constant
|
21
|
+
null: 'n' 'u' 'l' 'l' { result = nil };
|
22
|
+
boolean: 't' 'r' 'u' 'e' { result = true }
|
23
|
+
| 'f' 'a' 'l' 's' 'e' { result = false }
|
24
|
+
;
|
25
|
+
|
26
|
+
# number
|
27
|
+
number: integer | float;
|
28
|
+
integer: positive_integer
|
29
|
+
| '-' positive_integer { result = -val[1] }
|
30
|
+
;
|
31
|
+
positive_integer: integer_digits { result = val[0].to_i };
|
32
|
+
integer_digits: non_zero_digit digits_opt { result = val.join('') }
|
33
|
+
| '0'
|
34
|
+
;
|
35
|
+
non_zero_digit: '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9';
|
36
|
+
digit: non_zero_digit | '0';
|
37
|
+
digits_opt: digits | empty;
|
38
|
+
digits: digit
|
39
|
+
| digit digits { result = val[0] + val[1] }
|
40
|
+
;
|
41
|
+
float: positive_float
|
42
|
+
| '-' positive_float { result = -val[1] }
|
43
|
+
;
|
44
|
+
positive_float: float_digits { result = val[0].to_f }
|
45
|
+
float_digits: simple_float_digits | exp_float_digits;
|
46
|
+
simple_float_digits: integer_digits '.' digits { result = val.join('') };
|
47
|
+
exp_float_digits: integer_digits float_exp_digits { result = val.join('') }
|
48
|
+
| simple_float_digits float_exp_digits { result = val.join('') }
|
49
|
+
;
|
50
|
+
float_exp_digits: 'e' integer_digits { result = val.join('') }
|
51
|
+
| 'e' '-' integer_digits { result = val.join('') }
|
52
|
+
| 'e' '+' integer_digits { result = val.join('') }
|
53
|
+
;
|
54
|
+
|
55
|
+
# string
|
56
|
+
string: '"' string_items_opt '"' { result = val[1] };
|
57
|
+
string_items_opt: string_items
|
58
|
+
| empty { result = '' };
|
59
|
+
string_items: string_item
|
60
|
+
| string_item string_items { result = val.join('') }
|
61
|
+
;
|
62
|
+
string_item: escaped_char | escaped_unicode_char | slash_and_char | unescaped_char;
|
63
|
+
escaped_char: '\\' 'n' { result = "\n" }
|
64
|
+
| '\\' 'r' { result = "\r" }
|
65
|
+
| '\\' 't' { result = "\t" }
|
66
|
+
| '\\' 'b' { result = "\b" }
|
67
|
+
| '\\' 'f' { result = "\f" }
|
68
|
+
;
|
69
|
+
escaped_unicode_char: '\\' 'u' hexa_digit hexa_digit hexa_digit hexa_digit { result = make_unicode_char(val[2..-1].join('').hex) };
|
70
|
+
hexa_digit: digit | 'a' | 'b' | 'c' | 'd' | 'e' | 'f' | 'A' | 'B' | 'C' | 'D' | 'E' | 'F';
|
71
|
+
slash_and_char: "\\" ignore_slash_char { result = val[1] };
|
72
|
+
|
73
|
+
# any_char: "\t" | "\n" | "\r" | " " | "\"" | "+" | "," | "-" | "." | "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "A" | "B" | "C" | "D" | "E" | "F" | "[" | "\\" | "]" | "a" | "b" | "c" | "d" | "e" | "f" | "l" | "n" | "r" | "s" | "t" | "u";
|
74
|
+
# ignore_slash_char = [^bfnrtu]
|
75
|
+
ignore_slash_char: known_ignore_slash_char | OTHER;
|
76
|
+
known_ignore_slash_char: "\t" | "\n" | "\r" | " " | "\"" | "+" | "," | "-" | "." | "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "A" | "B" | "C" | "D" | "E" | "F" | "[" | "\\" | "]" | "a" | "c" | "d" | "e" | "l" | "s";
|
77
|
+
|
78
|
+
# unescaped_char = [^\"\\]
|
79
|
+
unescaped_char: known_unescaped_char | OTHER;
|
80
|
+
known_unescaped_char: "\t" | "\n" | "\r" | " " | "+" | "," | "-" | "." | "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "A" | "B" | "C" | "D" | "E" | "F" | "[" | "]" | "a" | "b" | "c" | "d" | "e" | "f" | "l" | "n" | "r" | "s" | "t" | "u";
|
81
|
+
|
82
|
+
# array
|
83
|
+
array: '[' os ']' { result = [] }
|
84
|
+
| '[' array_items ']' { result = val[1] }
|
85
|
+
;
|
86
|
+
array_items: array_item { result = [val[0]] }
|
87
|
+
| array_item comma_array_items { result = [val[0]] + val[1] }
|
88
|
+
;
|
89
|
+
array_item: os literal os { result = val[1] }
|
90
|
+
comma_array_items: comma_array_item { result = [val[0]] }
|
91
|
+
| comma_array_item comma_array_items { result = [val[0]] + val[1] }
|
92
|
+
;
|
93
|
+
comma_array_item: ',' array_item { result = val[1] };
|
94
|
+
|
95
|
+
# object
|
96
|
+
object: '{' os '}' { result = {} }
|
97
|
+
| '{' object_items '}' { result = Hash[val[1]] };
|
98
|
+
object_items: object_item { result = [val[0]] }
|
99
|
+
| object_item comma_object_items { result = [val[0]] + val[1] }
|
100
|
+
;
|
101
|
+
object_item: os string os ':' os literal os { result = [val[1], val[5]] };
|
102
|
+
comma_object_items: comma_object_item { result = [val[0]] }
|
103
|
+
| comma_object_item comma_object_items { result = [val[0]] + val[1] }
|
104
|
+
;
|
105
|
+
comma_object_item: ',' object_item { result = val[1] };
|
106
|
+
end
|
@@ -0,0 +1,1149 @@
|
|
1
|
+
#
|
2
|
+
# DO NOT MODIFY!!!!
|
3
|
+
# This file is automatically generated by Racc 1.4.8
|
4
|
+
# from Racc grammer file "".
|
5
|
+
#
|
6
|
+
|
7
|
+
require 'racc/parser.rb'
|
8
|
+
module Myson
|
9
|
+
class GeneratedParser < Racc::Parser
|
10
|
+
##### State transition tables begin ###
|
11
|
+
|
12
|
+
racc_action_table = [
|
13
|
+
66, 63, 64, 65, 96, 100, 95, 99, 97, 93,
|
14
|
+
94, 89, 98, 69, 71, 72, 73, 74, 75, 76,
|
15
|
+
77, 78, 79, 80, 70, 67, 188, 60, 90, 91,
|
16
|
+
92, 81, 82, 83, 84, 85, 86, 62, 68, 87,
|
17
|
+
88, 141, 138, 139, 140, 129, 134, 170, 131, 130,
|
18
|
+
169, 133, 166, 171, 145, 147, 148, 149, 150, 151,
|
19
|
+
152, 153, 154, 155, 156, 146, 143, 142, 164, 132,
|
20
|
+
167, 168, 157, 158, 159, 160, 161, 162, 137, 144,
|
21
|
+
163, 165, 66, 63, 64, 65, 96, 100, 95, 99,
|
22
|
+
97, 93, 94, 89, 98, 69, 71, 72, 73, 74,
|
23
|
+
75, 76, 77, 78, 79, 80, 70, 67, 33, 60,
|
24
|
+
90, 91, 92, 81, 82, 83, 84, 85, 86, 62,
|
25
|
+
68, 87, 88, 10, 182, 189, 11, 190, 44, 12,
|
26
|
+
187, 184, 16, 19, 20, 21, 22, 23, 24, 25,
|
27
|
+
26, 27, 28, 42, 178, 33, 108, 109, 110, 111,
|
28
|
+
127, 181, 121, 10, 120, 187, 11, 119, 34, 12,
|
29
|
+
35, 215, 16, 19, 20, 21, 22, 23, 24, 25,
|
30
|
+
26, 27, 28, 118, 44, 33, 19, 20, 21, 22,
|
31
|
+
23, 24, 25, 26, 27, 28, 217, 33, 34, 176,
|
32
|
+
35, 10, 39, 38, 11, 37, 36, 12, 181, nil,
|
33
|
+
16, 19, 20, 21, 22, 23, 24, 25, 26, 27,
|
34
|
+
28, nil, nil, 33, 108, 109, 110, 111, nil, nil,
|
35
|
+
nil, 10, nil, nil, 11, nil, 34, 12, 35, nil,
|
36
|
+
16, 19, 20, 21, 22, 23, 24, 25, 26, 27,
|
37
|
+
28, nil, nil, 33, nil, 124, 19, 20, 21, 22,
|
38
|
+
23, 24, 25, 26, 27, 28, 34, 125, 35, 199,
|
39
|
+
200, 195, nil, nil, 47, 20, 21, 22, 23, 24,
|
40
|
+
25, 26, 27, 28, 108, 109, 110, 111, 196, 197,
|
41
|
+
198, 201, 202, 203, 204, 205, 206, 199, 200, 195,
|
42
|
+
nil, nil, 47, 20, 21, 22, 23, 24, 25, 26,
|
43
|
+
27, 28, 108, 109, 110, 111, 196, 197, 198, 201,
|
44
|
+
202, 203, 204, 205, 206, 199, 200, 195, nil, nil,
|
45
|
+
47, 20, 21, 22, 23, 24, 25, 26, 27, 28,
|
46
|
+
108, 109, 110, 111, 196, 197, 198, 201, 202, 203,
|
47
|
+
204, 205, 206, 199, 200, 195, nil, nil, 47, 20,
|
48
|
+
21, 22, 23, 24, 25, 26, 27, 28, 108, 109,
|
49
|
+
110, 111, 196, 197, 198, 201, 202, 203, 204, 205,
|
50
|
+
206, 47, 20, 21, 22, 23, 24, 25, 26, 27,
|
51
|
+
28, 47, 20, 21, 22, 23, 24, 25, 26, 27,
|
52
|
+
28, 19, 20, 21, 22, 23, 24, 25, 26, 27,
|
53
|
+
28, 47, 20, 21, 22, 23, 24, 25, 26, 27,
|
54
|
+
28, 19, 20, 21, 22, 23, 24, 25, 26, 27,
|
55
|
+
28, 108, 109, 110, 111, 108, 109, 110, 111, 108,
|
56
|
+
109, 110, 111 ]
|
57
|
+
|
58
|
+
racc_action_check = [
|
59
|
+
33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
|
60
|
+
33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
|
61
|
+
33, 33, 33, 33, 33, 33, 119, 33, 33, 33,
|
62
|
+
33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
|
63
|
+
33, 60, 60, 60, 60, 60, 60, 60, 60, 60,
|
64
|
+
60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
|
65
|
+
60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
|
66
|
+
60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
|
67
|
+
60, 60, 55, 55, 55, 55, 55, 55, 55, 55,
|
68
|
+
55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
|
69
|
+
55, 55, 55, 55, 55, 55, 55, 55, 115, 55,
|
70
|
+
55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
|
71
|
+
55, 55, 55, 0, 115, 120, 0, 121, 17, 0,
|
72
|
+
117, 116, 0, 0, 0, 0, 0, 0, 0, 0,
|
73
|
+
0, 0, 0, 17, 113, 0, 177, 177, 177, 177,
|
74
|
+
52, 180, 39, 112, 38, 186, 112, 37, 0, 112,
|
75
|
+
0, 190, 112, 112, 112, 112, 112, 112, 112, 112,
|
76
|
+
112, 112, 112, 36, 31, 112, 16, 16, 16, 16,
|
77
|
+
16, 16, 16, 16, 16, 16, 211, 213, 112, 112,
|
78
|
+
112, 219, 12, 11, 219, 10, 1, 219, 114, nil,
|
79
|
+
219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
|
80
|
+
219, nil, nil, 219, 181, 181, 181, 181, nil, nil,
|
81
|
+
nil, 209, nil, nil, 209, nil, 219, 209, 219, nil,
|
82
|
+
209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
|
83
|
+
209, nil, nil, 209, nil, 44, 44, 44, 44, 44,
|
84
|
+
44, 44, 44, 44, 44, 44, 209, 44, 209, 216,
|
85
|
+
216, 216, nil, nil, 216, 216, 216, 216, 216, 216,
|
86
|
+
216, 216, 216, 216, 105, 105, 105, 105, 216, 216,
|
87
|
+
216, 216, 216, 216, 216, 216, 216, 218, 218, 218,
|
88
|
+
nil, nil, 218, 218, 218, 218, 218, 218, 218, 218,
|
89
|
+
218, 218, 187, 187, 187, 187, 218, 218, 218, 218,
|
90
|
+
218, 218, 218, 218, 218, 193, 193, 193, nil, nil,
|
91
|
+
193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
|
92
|
+
35, 35, 35, 35, 193, 193, 193, 193, 193, 193,
|
93
|
+
193, 193, 193, 134, 134, 134, nil, nil, 134, 134,
|
94
|
+
134, 134, 134, 134, 134, 134, 134, 134, 34, 34,
|
95
|
+
34, 34, 134, 134, 134, 134, 134, 134, 134, 134,
|
96
|
+
134, 18, 18, 18, 18, 18, 18, 18, 18, 18,
|
97
|
+
18, 42, 42, 42, 42, 42, 42, 42, 42, 42,
|
98
|
+
42, 124, 124, 124, 124, 124, 124, 124, 124, 124,
|
99
|
+
124, 50, 50, 50, 50, 50, 50, 50, 50, 50,
|
100
|
+
50, 125, 125, 125, 125, 125, 125, 125, 125, 125,
|
101
|
+
125, 217, 217, 217, 217, 183, 183, 183, 183, 221,
|
102
|
+
221, 221, 221 ]
|
103
|
+
|
104
|
+
racc_action_pointer = [
|
105
|
+
117, 196, nil, nil, nil, nil, nil, nil, nil, nil,
|
106
|
+
188, 183, 179, nil, nil, nil, 160, 117, 355, nil,
|
107
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
108
|
+
nil, 163, nil, -2, 356, 328, 173, 149, 147, 144,
|
109
|
+
nil, nil, 365, nil, 230, nil, nil, nil, nil, nil,
|
110
|
+
385, nil, 122, nil, nil, 80, nil, nil, nil, nil,
|
111
|
+
39, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
112
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
113
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
114
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
115
|
+
nil, nil, nil, nil, nil, 272, nil, nil, nil, nil,
|
116
|
+
nil, nil, 147, 102, 158, 80, 87, 90, nil, 18,
|
117
|
+
114, 113, nil, nil, 375, 395, nil, nil, nil, nil,
|
118
|
+
nil, nil, nil, nil, 332, nil, nil, nil, nil, nil,
|
119
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
120
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
121
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
122
|
+
nil, nil, nil, nil, nil, nil, nil, 144, nil, nil,
|
123
|
+
111, 212, nil, 423, nil, nil, 115, 300, nil, nil,
|
124
|
+
150, nil, nil, 304, nil, nil, nil, nil, nil, nil,
|
125
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, 215,
|
126
|
+
nil, 141, nil, 159, nil, nil, 248, 419, 276, 185,
|
127
|
+
nil, 427, nil ]
|
128
|
+
|
129
|
+
racc_action_default = [
|
130
|
+
-182, -182, -1, -15, -16, -17, -21, -22, -23, -24,
|
131
|
+
-182, -182, -182, -28, -29, -30, -182, -32, -2, -34,
|
132
|
+
-35, -36, -37, -38, -39, -40, -41, -42, -43, -50,
|
133
|
+
-52, -53, -54, -2, -2, -2, -182, -182, -182, -182,
|
134
|
+
-31, -51, -182, -56, -182, -33, -44, -45, -46, -47,
|
135
|
+
-48, -57, -182, -62, -63, -64, -66, -67, -68, -69,
|
136
|
+
-182, -126, -127, -128, -129, -130, -131, -132, -133, -134,
|
137
|
+
-135, -136, -137, -138, -139, -140, -141, -142, -143, -144,
|
138
|
+
-145, -146, -147, -148, -149, -150, -151, -152, -153, -154,
|
139
|
+
-155, -156, -157, -158, -159, -160, -161, -162, -163, -164,
|
140
|
+
-165, -3, -4, -5, -6, -7, -9, -10, -11, -12,
|
141
|
+
-13, -14, -182, -182, -168, -182, -182, -176, 223, -182,
|
142
|
+
-182, -182, -55, -58, -182, -182, -49, -61, -65, -70,
|
143
|
+
-71, -72, -73, -74, -182, -89, -90, -91, -92, -93,
|
144
|
+
-94, -95, -96, -97, -98, -99, -100, -101, -102, -103,
|
145
|
+
-104, -105, -106, -107, -108, -109, -110, -111, -112, -113,
|
146
|
+
-114, -115, -116, -117, -118, -119, -120, -121, -122, -123,
|
147
|
+
-124, -125, -8, -18, -19, -20, -166, -2, -167, -169,
|
148
|
+
-171, -2, -174, -2, -175, -177, -179, -2, -25, -26,
|
149
|
+
-182, -59, -60, -182, -76, -77, -78, -79, -80, -81,
|
150
|
+
-82, -83, -84, -85, -86, -87, -88, -170, -172, -182,
|
151
|
+
-173, -182, -180, -182, -181, -27, -182, -2, -182, -182,
|
152
|
+
-75, -2, -178 ]
|
153
|
+
|
154
|
+
racc_goto_table = [
|
155
|
+
46, 112, 115, 117, 114, 183, 193, 185, 179, 48,
|
156
|
+
50, 123, 49, 53, 43, 3, 4, 41, 40, 52,
|
157
|
+
45, 5, 135, 136, 46, 113, 172, 54, 51, 221,
|
158
|
+
116, 2, 46, 122, 50, 128, 1, nil, nil, nil,
|
159
|
+
nil, 126, 50, nil, nil, nil, nil, nil, nil, nil,
|
160
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
161
|
+
nil, nil, nil, nil, nil, 216, nil, nil, nil, nil,
|
162
|
+
nil, nil, nil, nil, 208, nil, 212, nil, nil, nil,
|
163
|
+
nil, nil, nil, nil, nil, nil, nil, nil, 218, nil,
|
164
|
+
220, 191, 192, nil, nil, nil, nil, nil, nil, nil,
|
165
|
+
nil, nil, nil, 183, nil, nil, nil, nil, nil, nil,
|
166
|
+
nil, nil, nil, nil, nil, nil, 46, nil, nil, nil,
|
167
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
168
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
169
|
+
nil, nil, nil, nil, 207, nil, nil, nil, 209, nil,
|
170
|
+
211, 210, nil, nil, 213, 214, nil, nil, nil, nil,
|
171
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
172
|
+
nil, nil, nil, nil, nil, 46, nil, nil, nil, nil,
|
173
|
+
nil, nil, nil, nil, 219, nil, nil, nil, 222, nil,
|
174
|
+
nil, nil, nil, nil, nil, nil, nil, nil, 46, nil,
|
175
|
+
46 ]
|
176
|
+
|
177
|
+
racc_goto_check = [
|
178
|
+
23, 4, 4, 48, 44, 18, 39, 49, 45, 26,
|
179
|
+
25, 22, 3, 33, 31, 11, 12, 27, 21, 32,
|
180
|
+
24, 13, 40, 41, 23, 43, 7, 3, 31, 14,
|
181
|
+
47, 2, 23, 26, 25, 33, 1, nil, nil, nil,
|
182
|
+
nil, 26, 25, nil, nil, nil, nil, nil, nil, nil,
|
183
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
184
|
+
nil, nil, nil, nil, nil, 39, nil, nil, nil, nil,
|
185
|
+
nil, nil, nil, nil, 45, nil, 49, nil, nil, nil,
|
186
|
+
nil, nil, nil, nil, nil, nil, nil, nil, 39, nil,
|
187
|
+
39, 22, 22, nil, nil, nil, nil, nil, nil, nil,
|
188
|
+
nil, nil, nil, 18, nil, nil, nil, nil, nil, nil,
|
189
|
+
nil, nil, nil, nil, nil, nil, 23, nil, nil, nil,
|
190
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
191
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
192
|
+
nil, nil, nil, nil, 4, nil, nil, nil, 4, nil,
|
193
|
+
4, 44, nil, nil, 4, 48, nil, nil, nil, nil,
|
194
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
195
|
+
nil, nil, nil, nil, nil, 23, nil, nil, nil, nil,
|
196
|
+
nil, nil, nil, nil, 4, nil, nil, nil, 4, nil,
|
197
|
+
nil, nil, nil, nil, nil, nil, nil, nil, 23, nil,
|
198
|
+
23 ]
|
199
|
+
|
200
|
+
racc_goto_pointer = [
|
201
|
+
nil, 36, 31, -6, -33, nil, nil, -79, nil, nil,
|
202
|
+
nil, 15, 16, 21, -190, nil, nil, nil, -110, nil,
|
203
|
+
nil, 2, -33, -18, 2, -8, -9, 1, nil, nil,
|
204
|
+
nil, -3, -14, -20, nil, nil, nil, nil, nil, -128,
|
205
|
+
-38, -37, nil, -9, -30, -106, nil, -5, -32, -110,
|
206
|
+
nil ]
|
207
|
+
|
208
|
+
racc_goto_default = [
|
209
|
+
nil, nil, nil, 103, nil, 101, 102, 104, 105, 106,
|
210
|
+
107, 173, 174, 175, 177, 6, 7, 8, 9, 13,
|
211
|
+
14, 15, 17, 18, nil, 194, nil, 29, 30, 31,
|
212
|
+
32, nil, nil, nil, 55, 56, 57, 58, 59, nil,
|
213
|
+
nil, nil, 61, nil, nil, nil, 180, nil, nil, nil,
|
214
|
+
186 ]
|
215
|
+
|
216
|
+
racc_reduce_table = [
|
217
|
+
0, 0, :racc_error,
|
218
|
+
1, 47, :_reduce_none,
|
219
|
+
0, 49, :_reduce_none,
|
220
|
+
1, 50, :_reduce_none,
|
221
|
+
1, 51, :_reduce_none,
|
222
|
+
1, 51, :_reduce_none,
|
223
|
+
1, 52, :_reduce_none,
|
224
|
+
1, 53, :_reduce_none,
|
225
|
+
2, 53, :_reduce_none,
|
226
|
+
1, 54, :_reduce_none,
|
227
|
+
1, 54, :_reduce_none,
|
228
|
+
1, 55, :_reduce_none,
|
229
|
+
1, 55, :_reduce_none,
|
230
|
+
1, 56, :_reduce_none,
|
231
|
+
1, 56, :_reduce_none,
|
232
|
+
1, 48, :_reduce_none,
|
233
|
+
1, 48, :_reduce_none,
|
234
|
+
1, 48, :_reduce_none,
|
235
|
+
1, 60, :_reduce_none,
|
236
|
+
1, 60, :_reduce_none,
|
237
|
+
1, 60, :_reduce_none,
|
238
|
+
1, 59, :_reduce_none,
|
239
|
+
1, 59, :_reduce_none,
|
240
|
+
1, 59, :_reduce_none,
|
241
|
+
1, 59, :_reduce_none,
|
242
|
+
4, 61, :_reduce_25,
|
243
|
+
4, 62, :_reduce_26,
|
244
|
+
5, 62, :_reduce_27,
|
245
|
+
1, 63, :_reduce_none,
|
246
|
+
1, 63, :_reduce_none,
|
247
|
+
1, 65, :_reduce_none,
|
248
|
+
2, 65, :_reduce_31,
|
249
|
+
1, 67, :_reduce_32,
|
250
|
+
2, 68, :_reduce_33,
|
251
|
+
1, 68, :_reduce_none,
|
252
|
+
1, 69, :_reduce_none,
|
253
|
+
1, 69, :_reduce_none,
|
254
|
+
1, 69, :_reduce_none,
|
255
|
+
1, 69, :_reduce_none,
|
256
|
+
1, 69, :_reduce_none,
|
257
|
+
1, 69, :_reduce_none,
|
258
|
+
1, 69, :_reduce_none,
|
259
|
+
1, 69, :_reduce_none,
|
260
|
+
1, 69, :_reduce_none,
|
261
|
+
1, 71, :_reduce_none,
|
262
|
+
1, 71, :_reduce_none,
|
263
|
+
1, 70, :_reduce_none,
|
264
|
+
1, 70, :_reduce_none,
|
265
|
+
1, 72, :_reduce_none,
|
266
|
+
2, 72, :_reduce_49,
|
267
|
+
1, 66, :_reduce_none,
|
268
|
+
2, 66, :_reduce_51,
|
269
|
+
1, 73, :_reduce_52,
|
270
|
+
1, 74, :_reduce_none,
|
271
|
+
1, 74, :_reduce_none,
|
272
|
+
3, 75, :_reduce_55,
|
273
|
+
2, 76, :_reduce_56,
|
274
|
+
2, 76, :_reduce_57,
|
275
|
+
2, 77, :_reduce_58,
|
276
|
+
3, 77, :_reduce_59,
|
277
|
+
3, 77, :_reduce_60,
|
278
|
+
3, 64, :_reduce_61,
|
279
|
+
1, 78, :_reduce_none,
|
280
|
+
1, 78, :_reduce_63,
|
281
|
+
1, 79, :_reduce_none,
|
282
|
+
2, 79, :_reduce_65,
|
283
|
+
1, 80, :_reduce_none,
|
284
|
+
1, 80, :_reduce_none,
|
285
|
+
1, 80, :_reduce_none,
|
286
|
+
1, 80, :_reduce_none,
|
287
|
+
2, 81, :_reduce_70,
|
288
|
+
2, 81, :_reduce_71,
|
289
|
+
2, 81, :_reduce_72,
|
290
|
+
2, 81, :_reduce_73,
|
291
|
+
2, 81, :_reduce_74,
|
292
|
+
6, 82, :_reduce_75,
|
293
|
+
1, 85, :_reduce_none,
|
294
|
+
1, 85, :_reduce_none,
|
295
|
+
1, 85, :_reduce_none,
|
296
|
+
1, 85, :_reduce_none,
|
297
|
+
1, 85, :_reduce_none,
|
298
|
+
1, 85, :_reduce_none,
|
299
|
+
1, 85, :_reduce_none,
|
300
|
+
1, 85, :_reduce_none,
|
301
|
+
1, 85, :_reduce_none,
|
302
|
+
1, 85, :_reduce_none,
|
303
|
+
1, 85, :_reduce_none,
|
304
|
+
1, 85, :_reduce_none,
|
305
|
+
1, 85, :_reduce_none,
|
306
|
+
2, 83, :_reduce_89,
|
307
|
+
1, 86, :_reduce_none,
|
308
|
+
1, 86, :_reduce_none,
|
309
|
+
1, 87, :_reduce_none,
|
310
|
+
1, 87, :_reduce_none,
|
311
|
+
1, 87, :_reduce_none,
|
312
|
+
1, 87, :_reduce_none,
|
313
|
+
1, 87, :_reduce_none,
|
314
|
+
1, 87, :_reduce_none,
|
315
|
+
1, 87, :_reduce_none,
|
316
|
+
1, 87, :_reduce_none,
|
317
|
+
1, 87, :_reduce_none,
|
318
|
+
1, 87, :_reduce_none,
|
319
|
+
1, 87, :_reduce_none,
|
320
|
+
1, 87, :_reduce_none,
|
321
|
+
1, 87, :_reduce_none,
|
322
|
+
1, 87, :_reduce_none,
|
323
|
+
1, 87, :_reduce_none,
|
324
|
+
1, 87, :_reduce_none,
|
325
|
+
1, 87, :_reduce_none,
|
326
|
+
1, 87, :_reduce_none,
|
327
|
+
1, 87, :_reduce_none,
|
328
|
+
1, 87, :_reduce_none,
|
329
|
+
1, 87, :_reduce_none,
|
330
|
+
1, 87, :_reduce_none,
|
331
|
+
1, 87, :_reduce_none,
|
332
|
+
1, 87, :_reduce_none,
|
333
|
+
1, 87, :_reduce_none,
|
334
|
+
1, 87, :_reduce_none,
|
335
|
+
1, 87, :_reduce_none,
|
336
|
+
1, 87, :_reduce_none,
|
337
|
+
1, 87, :_reduce_none,
|
338
|
+
1, 87, :_reduce_none,
|
339
|
+
1, 87, :_reduce_none,
|
340
|
+
1, 87, :_reduce_none,
|
341
|
+
1, 87, :_reduce_none,
|
342
|
+
1, 87, :_reduce_none,
|
343
|
+
1, 84, :_reduce_none,
|
344
|
+
1, 84, :_reduce_none,
|
345
|
+
1, 88, :_reduce_none,
|
346
|
+
1, 88, :_reduce_none,
|
347
|
+
1, 88, :_reduce_none,
|
348
|
+
1, 88, :_reduce_none,
|
349
|
+
1, 88, :_reduce_none,
|
350
|
+
1, 88, :_reduce_none,
|
351
|
+
1, 88, :_reduce_none,
|
352
|
+
1, 88, :_reduce_none,
|
353
|
+
1, 88, :_reduce_none,
|
354
|
+
1, 88, :_reduce_none,
|
355
|
+
1, 88, :_reduce_none,
|
356
|
+
1, 88, :_reduce_none,
|
357
|
+
1, 88, :_reduce_none,
|
358
|
+
1, 88, :_reduce_none,
|
359
|
+
1, 88, :_reduce_none,
|
360
|
+
1, 88, :_reduce_none,
|
361
|
+
1, 88, :_reduce_none,
|
362
|
+
1, 88, :_reduce_none,
|
363
|
+
1, 88, :_reduce_none,
|
364
|
+
1, 88, :_reduce_none,
|
365
|
+
1, 88, :_reduce_none,
|
366
|
+
1, 88, :_reduce_none,
|
367
|
+
1, 88, :_reduce_none,
|
368
|
+
1, 88, :_reduce_none,
|
369
|
+
1, 88, :_reduce_none,
|
370
|
+
1, 88, :_reduce_none,
|
371
|
+
1, 88, :_reduce_none,
|
372
|
+
1, 88, :_reduce_none,
|
373
|
+
1, 88, :_reduce_none,
|
374
|
+
1, 88, :_reduce_none,
|
375
|
+
1, 88, :_reduce_none,
|
376
|
+
1, 88, :_reduce_none,
|
377
|
+
1, 88, :_reduce_none,
|
378
|
+
1, 88, :_reduce_none,
|
379
|
+
1, 88, :_reduce_none,
|
380
|
+
1, 88, :_reduce_none,
|
381
|
+
1, 88, :_reduce_none,
|
382
|
+
1, 88, :_reduce_none,
|
383
|
+
3, 58, :_reduce_166,
|
384
|
+
3, 58, :_reduce_167,
|
385
|
+
1, 89, :_reduce_168,
|
386
|
+
2, 89, :_reduce_169,
|
387
|
+
3, 90, :_reduce_170,
|
388
|
+
1, 91, :_reduce_171,
|
389
|
+
2, 91, :_reduce_172,
|
390
|
+
2, 92, :_reduce_173,
|
391
|
+
3, 57, :_reduce_174,
|
392
|
+
3, 57, :_reduce_175,
|
393
|
+
1, 93, :_reduce_176,
|
394
|
+
2, 93, :_reduce_177,
|
395
|
+
7, 94, :_reduce_178,
|
396
|
+
1, 95, :_reduce_179,
|
397
|
+
2, 95, :_reduce_180,
|
398
|
+
2, 96, :_reduce_181 ]
|
399
|
+
|
400
|
+
racc_reduce_n = 182
|
401
|
+
|
402
|
+
racc_shift_n = 223
|
403
|
+
|
404
|
+
racc_token_table = {
|
405
|
+
false => 0,
|
406
|
+
:error => 1,
|
407
|
+
" " => 2,
|
408
|
+
"\t" => 3,
|
409
|
+
"\n" => 4,
|
410
|
+
"\r" => 5,
|
411
|
+
"n" => 6,
|
412
|
+
"u" => 7,
|
413
|
+
"l" => 8,
|
414
|
+
"t" => 9,
|
415
|
+
"r" => 10,
|
416
|
+
"e" => 11,
|
417
|
+
"f" => 12,
|
418
|
+
"a" => 13,
|
419
|
+
"s" => 14,
|
420
|
+
"-" => 15,
|
421
|
+
"0" => 16,
|
422
|
+
"1" => 17,
|
423
|
+
"2" => 18,
|
424
|
+
"3" => 19,
|
425
|
+
"4" => 20,
|
426
|
+
"5" => 21,
|
427
|
+
"6" => 22,
|
428
|
+
"7" => 23,
|
429
|
+
"8" => 24,
|
430
|
+
"9" => 25,
|
431
|
+
"." => 26,
|
432
|
+
"+" => 27,
|
433
|
+
"\"" => 28,
|
434
|
+
"\\" => 29,
|
435
|
+
"b" => 30,
|
436
|
+
"c" => 31,
|
437
|
+
"d" => 32,
|
438
|
+
"A" => 33,
|
439
|
+
"B" => 34,
|
440
|
+
"C" => 35,
|
441
|
+
"D" => 36,
|
442
|
+
"E" => 37,
|
443
|
+
"F" => 38,
|
444
|
+
:OTHER => 39,
|
445
|
+
"," => 40,
|
446
|
+
"[" => 41,
|
447
|
+
"]" => 42,
|
448
|
+
"{" => 43,
|
449
|
+
"}" => 44,
|
450
|
+
":" => 45 }
|
451
|
+
|
452
|
+
racc_nt_base = 46
|
453
|
+
|
454
|
+
racc_use_result_var = true
|
455
|
+
|
456
|
+
Racc_arg = [
|
457
|
+
racc_action_table,
|
458
|
+
racc_action_check,
|
459
|
+
racc_action_default,
|
460
|
+
racc_action_pointer,
|
461
|
+
racc_goto_table,
|
462
|
+
racc_goto_check,
|
463
|
+
racc_goto_default,
|
464
|
+
racc_goto_pointer,
|
465
|
+
racc_nt_base,
|
466
|
+
racc_reduce_table,
|
467
|
+
racc_token_table,
|
468
|
+
racc_shift_n,
|
469
|
+
racc_reduce_n,
|
470
|
+
racc_use_result_var ]
|
471
|
+
|
472
|
+
Racc_token_to_s_table = [
|
473
|
+
"$end",
|
474
|
+
"error",
|
475
|
+
"\" \"",
|
476
|
+
"\"\\t\"",
|
477
|
+
"\"\\n\"",
|
478
|
+
"\"\\r\"",
|
479
|
+
"\"n\"",
|
480
|
+
"\"u\"",
|
481
|
+
"\"l\"",
|
482
|
+
"\"t\"",
|
483
|
+
"\"r\"",
|
484
|
+
"\"e\"",
|
485
|
+
"\"f\"",
|
486
|
+
"\"a\"",
|
487
|
+
"\"s\"",
|
488
|
+
"\"-\"",
|
489
|
+
"\"0\"",
|
490
|
+
"\"1\"",
|
491
|
+
"\"2\"",
|
492
|
+
"\"3\"",
|
493
|
+
"\"4\"",
|
494
|
+
"\"5\"",
|
495
|
+
"\"6\"",
|
496
|
+
"\"7\"",
|
497
|
+
"\"8\"",
|
498
|
+
"\"9\"",
|
499
|
+
"\".\"",
|
500
|
+
"\"+\"",
|
501
|
+
"\"\\\"\"",
|
502
|
+
"\"\\\\\"",
|
503
|
+
"\"b\"",
|
504
|
+
"\"c\"",
|
505
|
+
"\"d\"",
|
506
|
+
"\"A\"",
|
507
|
+
"\"B\"",
|
508
|
+
"\"C\"",
|
509
|
+
"\"D\"",
|
510
|
+
"\"E\"",
|
511
|
+
"\"F\"",
|
512
|
+
"OTHER",
|
513
|
+
"\",\"",
|
514
|
+
"\"[\"",
|
515
|
+
"\"]\"",
|
516
|
+
"\"{\"",
|
517
|
+
"\"}\"",
|
518
|
+
"\":\"",
|
519
|
+
"$start",
|
520
|
+
"start",
|
521
|
+
"document",
|
522
|
+
"empty",
|
523
|
+
"os",
|
524
|
+
"opt_token_separator",
|
525
|
+
"token_separator",
|
526
|
+
"token_separator_chars",
|
527
|
+
"token_separator_char",
|
528
|
+
"whitespace_char",
|
529
|
+
"newline_char",
|
530
|
+
"object",
|
531
|
+
"array",
|
532
|
+
"primitive",
|
533
|
+
"literal",
|
534
|
+
"null",
|
535
|
+
"boolean",
|
536
|
+
"number",
|
537
|
+
"string",
|
538
|
+
"integer",
|
539
|
+
"float",
|
540
|
+
"positive_integer",
|
541
|
+
"integer_digits",
|
542
|
+
"non_zero_digit",
|
543
|
+
"digits_opt",
|
544
|
+
"digit",
|
545
|
+
"digits",
|
546
|
+
"positive_float",
|
547
|
+
"float_digits",
|
548
|
+
"simple_float_digits",
|
549
|
+
"exp_float_digits",
|
550
|
+
"float_exp_digits",
|
551
|
+
"string_items_opt",
|
552
|
+
"string_items",
|
553
|
+
"string_item",
|
554
|
+
"escaped_char",
|
555
|
+
"escaped_unicode_char",
|
556
|
+
"slash_and_char",
|
557
|
+
"unescaped_char",
|
558
|
+
"hexa_digit",
|
559
|
+
"ignore_slash_char",
|
560
|
+
"known_ignore_slash_char",
|
561
|
+
"known_unescaped_char",
|
562
|
+
"array_items",
|
563
|
+
"array_item",
|
564
|
+
"comma_array_items",
|
565
|
+
"comma_array_item",
|
566
|
+
"object_items",
|
567
|
+
"object_item",
|
568
|
+
"comma_object_items",
|
569
|
+
"comma_object_item" ]
|
570
|
+
|
571
|
+
Racc_debug_parser = true
|
572
|
+
|
573
|
+
##### State transition tables end #####
|
574
|
+
|
575
|
+
# reduce 0 omitted
|
576
|
+
|
577
|
+
# reduce 1 omitted
|
578
|
+
|
579
|
+
# reduce 2 omitted
|
580
|
+
|
581
|
+
# reduce 3 omitted
|
582
|
+
|
583
|
+
# reduce 4 omitted
|
584
|
+
|
585
|
+
# reduce 5 omitted
|
586
|
+
|
587
|
+
# reduce 6 omitted
|
588
|
+
|
589
|
+
# reduce 7 omitted
|
590
|
+
|
591
|
+
# reduce 8 omitted
|
592
|
+
|
593
|
+
# reduce 9 omitted
|
594
|
+
|
595
|
+
# reduce 10 omitted
|
596
|
+
|
597
|
+
# reduce 11 omitted
|
598
|
+
|
599
|
+
# reduce 12 omitted
|
600
|
+
|
601
|
+
# reduce 13 omitted
|
602
|
+
|
603
|
+
# reduce 14 omitted
|
604
|
+
|
605
|
+
# reduce 15 omitted
|
606
|
+
|
607
|
+
# reduce 16 omitted
|
608
|
+
|
609
|
+
# reduce 17 omitted
|
610
|
+
|
611
|
+
# reduce 18 omitted
|
612
|
+
|
613
|
+
# reduce 19 omitted
|
614
|
+
|
615
|
+
# reduce 20 omitted
|
616
|
+
|
617
|
+
# reduce 21 omitted
|
618
|
+
|
619
|
+
# reduce 22 omitted
|
620
|
+
|
621
|
+
# reduce 23 omitted
|
622
|
+
|
623
|
+
# reduce 24 omitted
|
624
|
+
|
625
|
+
module_eval(<<'.,.,', 'myson.y', 20)
|
626
|
+
def _reduce_25(val, _values, result)
|
627
|
+
result = nil
|
628
|
+
result
|
629
|
+
end
|
630
|
+
.,.,
|
631
|
+
|
632
|
+
module_eval(<<'.,.,', 'myson.y', 21)
|
633
|
+
def _reduce_26(val, _values, result)
|
634
|
+
result = true
|
635
|
+
result
|
636
|
+
end
|
637
|
+
.,.,
|
638
|
+
|
639
|
+
module_eval(<<'.,.,', 'myson.y', 22)
|
640
|
+
def _reduce_27(val, _values, result)
|
641
|
+
result = false
|
642
|
+
result
|
643
|
+
end
|
644
|
+
.,.,
|
645
|
+
|
646
|
+
# reduce 28 omitted
|
647
|
+
|
648
|
+
# reduce 29 omitted
|
649
|
+
|
650
|
+
# reduce 30 omitted
|
651
|
+
|
652
|
+
module_eval(<<'.,.,', 'myson.y', 28)
|
653
|
+
def _reduce_31(val, _values, result)
|
654
|
+
result = -val[1]
|
655
|
+
result
|
656
|
+
end
|
657
|
+
.,.,
|
658
|
+
|
659
|
+
module_eval(<<'.,.,', 'myson.y', 30)
|
660
|
+
def _reduce_32(val, _values, result)
|
661
|
+
result = val[0].to_i
|
662
|
+
result
|
663
|
+
end
|
664
|
+
.,.,
|
665
|
+
|
666
|
+
module_eval(<<'.,.,', 'myson.y', 31)
|
667
|
+
def _reduce_33(val, _values, result)
|
668
|
+
result = val.join('')
|
669
|
+
result
|
670
|
+
end
|
671
|
+
.,.,
|
672
|
+
|
673
|
+
# reduce 34 omitted
|
674
|
+
|
675
|
+
# reduce 35 omitted
|
676
|
+
|
677
|
+
# reduce 36 omitted
|
678
|
+
|
679
|
+
# reduce 37 omitted
|
680
|
+
|
681
|
+
# reduce 38 omitted
|
682
|
+
|
683
|
+
# reduce 39 omitted
|
684
|
+
|
685
|
+
# reduce 40 omitted
|
686
|
+
|
687
|
+
# reduce 41 omitted
|
688
|
+
|
689
|
+
# reduce 42 omitted
|
690
|
+
|
691
|
+
# reduce 43 omitted
|
692
|
+
|
693
|
+
# reduce 44 omitted
|
694
|
+
|
695
|
+
# reduce 45 omitted
|
696
|
+
|
697
|
+
# reduce 46 omitted
|
698
|
+
|
699
|
+
# reduce 47 omitted
|
700
|
+
|
701
|
+
# reduce 48 omitted
|
702
|
+
|
703
|
+
module_eval(<<'.,.,', 'myson.y', 38)
|
704
|
+
def _reduce_49(val, _values, result)
|
705
|
+
result = val[0] + val[1]
|
706
|
+
result
|
707
|
+
end
|
708
|
+
.,.,
|
709
|
+
|
710
|
+
# reduce 50 omitted
|
711
|
+
|
712
|
+
module_eval(<<'.,.,', 'myson.y', 41)
|
713
|
+
def _reduce_51(val, _values, result)
|
714
|
+
result = -val[1]
|
715
|
+
result
|
716
|
+
end
|
717
|
+
.,.,
|
718
|
+
|
719
|
+
module_eval(<<'.,.,', 'myson.y', 43)
|
720
|
+
def _reduce_52(val, _values, result)
|
721
|
+
result = val[0].to_f
|
722
|
+
result
|
723
|
+
end
|
724
|
+
.,.,
|
725
|
+
|
726
|
+
# reduce 53 omitted
|
727
|
+
|
728
|
+
# reduce 54 omitted
|
729
|
+
|
730
|
+
module_eval(<<'.,.,', 'myson.y', 45)
|
731
|
+
def _reduce_55(val, _values, result)
|
732
|
+
result = val.join('')
|
733
|
+
result
|
734
|
+
end
|
735
|
+
.,.,
|
736
|
+
|
737
|
+
module_eval(<<'.,.,', 'myson.y', 46)
|
738
|
+
def _reduce_56(val, _values, result)
|
739
|
+
result = val.join('')
|
740
|
+
result
|
741
|
+
end
|
742
|
+
.,.,
|
743
|
+
|
744
|
+
module_eval(<<'.,.,', 'myson.y', 47)
|
745
|
+
def _reduce_57(val, _values, result)
|
746
|
+
result = val.join('')
|
747
|
+
result
|
748
|
+
end
|
749
|
+
.,.,
|
750
|
+
|
751
|
+
module_eval(<<'.,.,', 'myson.y', 49)
|
752
|
+
def _reduce_58(val, _values, result)
|
753
|
+
result = val.join('')
|
754
|
+
result
|
755
|
+
end
|
756
|
+
.,.,
|
757
|
+
|
758
|
+
module_eval(<<'.,.,', 'myson.y', 50)
|
759
|
+
def _reduce_59(val, _values, result)
|
760
|
+
result = val.join('')
|
761
|
+
result
|
762
|
+
end
|
763
|
+
.,.,
|
764
|
+
|
765
|
+
module_eval(<<'.,.,', 'myson.y', 51)
|
766
|
+
def _reduce_60(val, _values, result)
|
767
|
+
result = val.join('')
|
768
|
+
result
|
769
|
+
end
|
770
|
+
.,.,
|
771
|
+
|
772
|
+
module_eval(<<'.,.,', 'myson.y', 55)
|
773
|
+
def _reduce_61(val, _values, result)
|
774
|
+
result = val[1]
|
775
|
+
result
|
776
|
+
end
|
777
|
+
.,.,
|
778
|
+
|
779
|
+
# reduce 62 omitted
|
780
|
+
|
781
|
+
module_eval(<<'.,.,', 'myson.y', 57)
|
782
|
+
def _reduce_63(val, _values, result)
|
783
|
+
result = ''
|
784
|
+
result
|
785
|
+
end
|
786
|
+
.,.,
|
787
|
+
|
788
|
+
# reduce 64 omitted
|
789
|
+
|
790
|
+
module_eval(<<'.,.,', 'myson.y', 59)
|
791
|
+
def _reduce_65(val, _values, result)
|
792
|
+
result = val.join('')
|
793
|
+
result
|
794
|
+
end
|
795
|
+
.,.,
|
796
|
+
|
797
|
+
# reduce 66 omitted
|
798
|
+
|
799
|
+
# reduce 67 omitted
|
800
|
+
|
801
|
+
# reduce 68 omitted
|
802
|
+
|
803
|
+
# reduce 69 omitted
|
804
|
+
|
805
|
+
module_eval(<<'.,.,', 'myson.y', 62)
|
806
|
+
def _reduce_70(val, _values, result)
|
807
|
+
result = "\n"
|
808
|
+
result
|
809
|
+
end
|
810
|
+
.,.,
|
811
|
+
|
812
|
+
module_eval(<<'.,.,', 'myson.y', 63)
|
813
|
+
def _reduce_71(val, _values, result)
|
814
|
+
result = "\r"
|
815
|
+
result
|
816
|
+
end
|
817
|
+
.,.,
|
818
|
+
|
819
|
+
module_eval(<<'.,.,', 'myson.y', 64)
|
820
|
+
def _reduce_72(val, _values, result)
|
821
|
+
result = "\t"
|
822
|
+
result
|
823
|
+
end
|
824
|
+
.,.,
|
825
|
+
|
826
|
+
module_eval(<<'.,.,', 'myson.y', 65)
|
827
|
+
def _reduce_73(val, _values, result)
|
828
|
+
result = "\b"
|
829
|
+
result
|
830
|
+
end
|
831
|
+
.,.,
|
832
|
+
|
833
|
+
module_eval(<<'.,.,', 'myson.y', 66)
|
834
|
+
def _reduce_74(val, _values, result)
|
835
|
+
result = "\f"
|
836
|
+
result
|
837
|
+
end
|
838
|
+
.,.,
|
839
|
+
|
840
|
+
module_eval(<<'.,.,', 'myson.y', 68)
|
841
|
+
def _reduce_75(val, _values, result)
|
842
|
+
result = make_unicode_char(val[2..-1].join('').hex)
|
843
|
+
result
|
844
|
+
end
|
845
|
+
.,.,
|
846
|
+
|
847
|
+
# reduce 76 omitted
|
848
|
+
|
849
|
+
# reduce 77 omitted
|
850
|
+
|
851
|
+
# reduce 78 omitted
|
852
|
+
|
853
|
+
# reduce 79 omitted
|
854
|
+
|
855
|
+
# reduce 80 omitted
|
856
|
+
|
857
|
+
# reduce 81 omitted
|
858
|
+
|
859
|
+
# reduce 82 omitted
|
860
|
+
|
861
|
+
# reduce 83 omitted
|
862
|
+
|
863
|
+
# reduce 84 omitted
|
864
|
+
|
865
|
+
# reduce 85 omitted
|
866
|
+
|
867
|
+
# reduce 86 omitted
|
868
|
+
|
869
|
+
# reduce 87 omitted
|
870
|
+
|
871
|
+
# reduce 88 omitted
|
872
|
+
|
873
|
+
module_eval(<<'.,.,', 'myson.y', 70)
|
874
|
+
def _reduce_89(val, _values, result)
|
875
|
+
result = val[1]
|
876
|
+
result
|
877
|
+
end
|
878
|
+
.,.,
|
879
|
+
|
880
|
+
# reduce 90 omitted
|
881
|
+
|
882
|
+
# reduce 91 omitted
|
883
|
+
|
884
|
+
# reduce 92 omitted
|
885
|
+
|
886
|
+
# reduce 93 omitted
|
887
|
+
|
888
|
+
# reduce 94 omitted
|
889
|
+
|
890
|
+
# reduce 95 omitted
|
891
|
+
|
892
|
+
# reduce 96 omitted
|
893
|
+
|
894
|
+
# reduce 97 omitted
|
895
|
+
|
896
|
+
# reduce 98 omitted
|
897
|
+
|
898
|
+
# reduce 99 omitted
|
899
|
+
|
900
|
+
# reduce 100 omitted
|
901
|
+
|
902
|
+
# reduce 101 omitted
|
903
|
+
|
904
|
+
# reduce 102 omitted
|
905
|
+
|
906
|
+
# reduce 103 omitted
|
907
|
+
|
908
|
+
# reduce 104 omitted
|
909
|
+
|
910
|
+
# reduce 105 omitted
|
911
|
+
|
912
|
+
# reduce 106 omitted
|
913
|
+
|
914
|
+
# reduce 107 omitted
|
915
|
+
|
916
|
+
# reduce 108 omitted
|
917
|
+
|
918
|
+
# reduce 109 omitted
|
919
|
+
|
920
|
+
# reduce 110 omitted
|
921
|
+
|
922
|
+
# reduce 111 omitted
|
923
|
+
|
924
|
+
# reduce 112 omitted
|
925
|
+
|
926
|
+
# reduce 113 omitted
|
927
|
+
|
928
|
+
# reduce 114 omitted
|
929
|
+
|
930
|
+
# reduce 115 omitted
|
931
|
+
|
932
|
+
# reduce 116 omitted
|
933
|
+
|
934
|
+
# reduce 117 omitted
|
935
|
+
|
936
|
+
# reduce 118 omitted
|
937
|
+
|
938
|
+
# reduce 119 omitted
|
939
|
+
|
940
|
+
# reduce 120 omitted
|
941
|
+
|
942
|
+
# reduce 121 omitted
|
943
|
+
|
944
|
+
# reduce 122 omitted
|
945
|
+
|
946
|
+
# reduce 123 omitted
|
947
|
+
|
948
|
+
# reduce 124 omitted
|
949
|
+
|
950
|
+
# reduce 125 omitted
|
951
|
+
|
952
|
+
# reduce 126 omitted
|
953
|
+
|
954
|
+
# reduce 127 omitted
|
955
|
+
|
956
|
+
# reduce 128 omitted
|
957
|
+
|
958
|
+
# reduce 129 omitted
|
959
|
+
|
960
|
+
# reduce 130 omitted
|
961
|
+
|
962
|
+
# reduce 131 omitted
|
963
|
+
|
964
|
+
# reduce 132 omitted
|
965
|
+
|
966
|
+
# reduce 133 omitted
|
967
|
+
|
968
|
+
# reduce 134 omitted
|
969
|
+
|
970
|
+
# reduce 135 omitted
|
971
|
+
|
972
|
+
# reduce 136 omitted
|
973
|
+
|
974
|
+
# reduce 137 omitted
|
975
|
+
|
976
|
+
# reduce 138 omitted
|
977
|
+
|
978
|
+
# reduce 139 omitted
|
979
|
+
|
980
|
+
# reduce 140 omitted
|
981
|
+
|
982
|
+
# reduce 141 omitted
|
983
|
+
|
984
|
+
# reduce 142 omitted
|
985
|
+
|
986
|
+
# reduce 143 omitted
|
987
|
+
|
988
|
+
# reduce 144 omitted
|
989
|
+
|
990
|
+
# reduce 145 omitted
|
991
|
+
|
992
|
+
# reduce 146 omitted
|
993
|
+
|
994
|
+
# reduce 147 omitted
|
995
|
+
|
996
|
+
# reduce 148 omitted
|
997
|
+
|
998
|
+
# reduce 149 omitted
|
999
|
+
|
1000
|
+
# reduce 150 omitted
|
1001
|
+
|
1002
|
+
# reduce 151 omitted
|
1003
|
+
|
1004
|
+
# reduce 152 omitted
|
1005
|
+
|
1006
|
+
# reduce 153 omitted
|
1007
|
+
|
1008
|
+
# reduce 154 omitted
|
1009
|
+
|
1010
|
+
# reduce 155 omitted
|
1011
|
+
|
1012
|
+
# reduce 156 omitted
|
1013
|
+
|
1014
|
+
# reduce 157 omitted
|
1015
|
+
|
1016
|
+
# reduce 158 omitted
|
1017
|
+
|
1018
|
+
# reduce 159 omitted
|
1019
|
+
|
1020
|
+
# reduce 160 omitted
|
1021
|
+
|
1022
|
+
# reduce 161 omitted
|
1023
|
+
|
1024
|
+
# reduce 162 omitted
|
1025
|
+
|
1026
|
+
# reduce 163 omitted
|
1027
|
+
|
1028
|
+
# reduce 164 omitted
|
1029
|
+
|
1030
|
+
# reduce 165 omitted
|
1031
|
+
|
1032
|
+
module_eval(<<'.,.,', 'myson.y', 82)
|
1033
|
+
def _reduce_166(val, _values, result)
|
1034
|
+
result = []
|
1035
|
+
result
|
1036
|
+
end
|
1037
|
+
.,.,
|
1038
|
+
|
1039
|
+
module_eval(<<'.,.,', 'myson.y', 83)
|
1040
|
+
def _reduce_167(val, _values, result)
|
1041
|
+
result = val[1]
|
1042
|
+
result
|
1043
|
+
end
|
1044
|
+
.,.,
|
1045
|
+
|
1046
|
+
module_eval(<<'.,.,', 'myson.y', 85)
|
1047
|
+
def _reduce_168(val, _values, result)
|
1048
|
+
result = [val[0]]
|
1049
|
+
result
|
1050
|
+
end
|
1051
|
+
.,.,
|
1052
|
+
|
1053
|
+
module_eval(<<'.,.,', 'myson.y', 86)
|
1054
|
+
def _reduce_169(val, _values, result)
|
1055
|
+
result = [val[0]] + val[1]
|
1056
|
+
result
|
1057
|
+
end
|
1058
|
+
.,.,
|
1059
|
+
|
1060
|
+
module_eval(<<'.,.,', 'myson.y', 88)
|
1061
|
+
def _reduce_170(val, _values, result)
|
1062
|
+
result = val[1]
|
1063
|
+
result
|
1064
|
+
end
|
1065
|
+
.,.,
|
1066
|
+
|
1067
|
+
module_eval(<<'.,.,', 'myson.y', 89)
|
1068
|
+
def _reduce_171(val, _values, result)
|
1069
|
+
result = [val[0]]
|
1070
|
+
result
|
1071
|
+
end
|
1072
|
+
.,.,
|
1073
|
+
|
1074
|
+
module_eval(<<'.,.,', 'myson.y', 90)
|
1075
|
+
def _reduce_172(val, _values, result)
|
1076
|
+
result = [val[0]] + val[1]
|
1077
|
+
result
|
1078
|
+
end
|
1079
|
+
.,.,
|
1080
|
+
|
1081
|
+
module_eval(<<'.,.,', 'myson.y', 92)
|
1082
|
+
def _reduce_173(val, _values, result)
|
1083
|
+
result = val[1]
|
1084
|
+
result
|
1085
|
+
end
|
1086
|
+
.,.,
|
1087
|
+
|
1088
|
+
module_eval(<<'.,.,', 'myson.y', 95)
|
1089
|
+
def _reduce_174(val, _values, result)
|
1090
|
+
result = {}
|
1091
|
+
result
|
1092
|
+
end
|
1093
|
+
.,.,
|
1094
|
+
|
1095
|
+
module_eval(<<'.,.,', 'myson.y', 96)
|
1096
|
+
def _reduce_175(val, _values, result)
|
1097
|
+
result = Hash[val[1]]
|
1098
|
+
result
|
1099
|
+
end
|
1100
|
+
.,.,
|
1101
|
+
|
1102
|
+
module_eval(<<'.,.,', 'myson.y', 97)
|
1103
|
+
def _reduce_176(val, _values, result)
|
1104
|
+
result = [val[0]]
|
1105
|
+
result
|
1106
|
+
end
|
1107
|
+
.,.,
|
1108
|
+
|
1109
|
+
module_eval(<<'.,.,', 'myson.y', 98)
|
1110
|
+
def _reduce_177(val, _values, result)
|
1111
|
+
result = [val[0]] + val[1]
|
1112
|
+
result
|
1113
|
+
end
|
1114
|
+
.,.,
|
1115
|
+
|
1116
|
+
module_eval(<<'.,.,', 'myson.y', 100)
|
1117
|
+
def _reduce_178(val, _values, result)
|
1118
|
+
result = [val[1], val[5]]
|
1119
|
+
result
|
1120
|
+
end
|
1121
|
+
.,.,
|
1122
|
+
|
1123
|
+
module_eval(<<'.,.,', 'myson.y', 101)
|
1124
|
+
def _reduce_179(val, _values, result)
|
1125
|
+
result = [val[0]]
|
1126
|
+
result
|
1127
|
+
end
|
1128
|
+
.,.,
|
1129
|
+
|
1130
|
+
module_eval(<<'.,.,', 'myson.y', 102)
|
1131
|
+
def _reduce_180(val, _values, result)
|
1132
|
+
result = [val[0]] + val[1]
|
1133
|
+
result
|
1134
|
+
end
|
1135
|
+
.,.,
|
1136
|
+
|
1137
|
+
module_eval(<<'.,.,', 'myson.y', 104)
|
1138
|
+
def _reduce_181(val, _values, result)
|
1139
|
+
result = val[1]
|
1140
|
+
result
|
1141
|
+
end
|
1142
|
+
.,.,
|
1143
|
+
|
1144
|
+
def _reduce_none(val, _values, result)
|
1145
|
+
val[0]
|
1146
|
+
end
|
1147
|
+
|
1148
|
+
end # class GeneratedParser
|
1149
|
+
end # module Myson
|