trenni 3.7.0 → 3.11.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (113) hide show
  1. checksums.yaml +4 -4
  2. data/bake/trenni/entities.rb +57 -0
  3. data/bake/trenni/parsers.rb +66 -0
  4. data/ext/.DS_Store +0 -0
  5. data/ext/Rakefile +1 -0
  6. data/ext/tmp/.DS_Store +0 -0
  7. data/ext/tmp/x86_64-darwin16/lib/trenni/trenni.bundle +0 -0
  8. data/ext/tmp/x86_64-darwin16/trenni/2.4.0/Makefile +264 -0
  9. data/ext/tmp/x86_64-darwin16/trenni/2.4.0/escape.o +0 -0
  10. data/ext/tmp/x86_64-darwin16/trenni/2.4.0/markup.o +0 -0
  11. data/ext/tmp/x86_64-darwin16/trenni/2.4.0/mkmf.log +105 -0
  12. data/ext/tmp/x86_64-darwin16/trenni/2.4.0/tag.o +0 -0
  13. data/ext/tmp/x86_64-darwin16/trenni/2.4.0/template.o +0 -0
  14. data/ext/tmp/x86_64-darwin16/trenni/2.4.0/trenni.bundle +0 -0
  15. data/ext/tmp/x86_64-darwin16/trenni/2.4.0/trenni.o +0 -0
  16. data/ext/tmp/x86_64-darwin18/lib/trenni/trenni.bundle +0 -0
  17. data/ext/tmp/x86_64-darwin18/trenni/2.6.1/Makefile +266 -0
  18. data/ext/tmp/x86_64-darwin18/trenni/2.6.1/escape.o +0 -0
  19. data/ext/tmp/x86_64-darwin18/trenni/2.6.1/markup.o +0 -0
  20. data/ext/tmp/x86_64-darwin18/trenni/2.6.1/mkmf.log +109 -0
  21. data/ext/tmp/x86_64-darwin18/trenni/2.6.1/tag.o +0 -0
  22. data/ext/tmp/x86_64-darwin18/trenni/2.6.1/template.o +0 -0
  23. data/ext/tmp/x86_64-darwin18/trenni/2.6.1/trenni.bundle +0 -0
  24. data/ext/tmp/x86_64-darwin18/trenni/2.6.1/trenni.o +0 -0
  25. data/ext/tmp/x86_64-darwin18/trenni/2.6.2/Makefile +266 -0
  26. data/ext/tmp/x86_64-darwin18/trenni/2.6.2/escape.o +0 -0
  27. data/ext/tmp/x86_64-darwin18/trenni/2.6.2/markup.o +0 -0
  28. data/ext/tmp/x86_64-darwin18/trenni/2.6.2/mkmf.log +109 -0
  29. data/ext/tmp/x86_64-darwin18/trenni/2.6.2/tag.o +0 -0
  30. data/ext/tmp/x86_64-darwin18/trenni/2.6.2/template.o +0 -0
  31. data/ext/tmp/x86_64-darwin18/trenni/2.6.2/trenni.bundle +0 -0
  32. data/ext/tmp/x86_64-darwin18/trenni/2.6.2/trenni.o +0 -0
  33. data/ext/tmp/x86_64-darwin19/lib/trenni/trenni.bundle +0 -0
  34. data/ext/tmp/x86_64-darwin19/trenni/2.7.1/Makefile +267 -0
  35. data/ext/tmp/x86_64-darwin19/trenni/2.7.1/escape.o +0 -0
  36. data/ext/tmp/x86_64-darwin19/trenni/2.7.1/markup.o +0 -0
  37. data/ext/tmp/x86_64-darwin19/trenni/2.7.1/mkmf.log +109 -0
  38. data/ext/tmp/x86_64-darwin19/trenni/2.7.1/query.o +0 -0
  39. data/ext/tmp/x86_64-darwin19/trenni/2.7.1/tag.o +0 -0
  40. data/ext/tmp/x86_64-darwin19/trenni/2.7.1/template.o +0 -0
  41. data/ext/tmp/x86_64-darwin19/trenni/2.7.1/trenni.bundle +0 -0
  42. data/ext/tmp/x86_64-darwin19/trenni/2.7.1/trenni.o +0 -0
  43. data/ext/trenni/.DS_Store +0 -0
  44. data/ext/trenni/extconf.rb +1 -0
  45. data/ext/trenni/markup.c +85 -85
  46. data/ext/trenni/markup.rl +11 -11
  47. data/ext/trenni/query.c +619 -0
  48. data/ext/trenni/query.h +6 -0
  49. data/ext/trenni/query.rl +82 -0
  50. data/ext/trenni/tag.c +8 -6
  51. data/ext/trenni/template.c +57 -57
  52. data/ext/trenni/template.rl +4 -4
  53. data/ext/trenni/trenni.c +9 -1
  54. data/ext/trenni/trenni.h +8 -3
  55. data/lib/.DS_Store +0 -0
  56. data/lib/trenni.rb +4 -0
  57. data/lib/trenni/.DS_Store +0 -0
  58. data/lib/trenni/buffer.rb +2 -0
  59. data/lib/trenni/builder.rb +21 -5
  60. data/lib/trenni/entities.rb +2082 -2082
  61. data/lib/trenni/entities.trenni +1 -3
  62. data/lib/trenni/{parse_error.rb → error.rb} +6 -1
  63. data/lib/trenni/fallback/markup.rb +1623 -1575
  64. data/lib/trenni/fallback/markup.rl +3 -2
  65. data/lib/trenni/fallback/query.rb +565 -0
  66. data/lib/trenni/fallback/query.rl +105 -0
  67. data/lib/trenni/fallback/template.rb +756 -747
  68. data/lib/trenni/fallback/template.rl +1 -1
  69. data/lib/trenni/markup.rb +2 -0
  70. data/lib/trenni/native.rb +3 -1
  71. data/lib/trenni/parse_delegate.rb +2 -0
  72. data/lib/trenni/parsers.rb +2 -0
  73. data/lib/trenni/query.rb +94 -0
  74. data/lib/trenni/reference.rb +125 -0
  75. data/lib/trenni/strings.rb +17 -4
  76. data/lib/trenni/tag.rb +2 -0
  77. data/lib/trenni/template.rb +25 -11
  78. data/lib/trenni/uri.rb +3 -0
  79. data/lib/trenni/version.rb +3 -1
  80. data/parsers/.DS_Store +0 -0
  81. data/parsers/trenni/query.rl +23 -0
  82. data/spec/.DS_Store +0 -0
  83. data/spec/spec_helper.rb +1 -0
  84. data/spec/trenni/builder_spec.rb +13 -0
  85. data/spec/trenni/corpus/large.rb +2 -0
  86. data/spec/trenni/markup_parser_spec.rb +1 -0
  87. data/spec/trenni/markup_performance_spec.rb +15 -2
  88. data/spec/trenni/markup_spec.rb +1 -0
  89. data/spec/trenni/parsers_performance_spec.rb +32 -0
  90. data/spec/trenni/query_spec.rb +51 -0
  91. data/spec/trenni/reference_spec.rb +87 -0
  92. data/spec/trenni/strings_spec.rb +1 -0
  93. data/spec/trenni/tag_spec.rb +2 -0
  94. data/spec/trenni/template_error_spec.rb +1 -0
  95. data/spec/trenni/template_performance_spec.rb +1 -0
  96. data/spec/trenni/template_spec.rb +3 -2
  97. data/spec/trenni/template_spec/.DS_Store +0 -0
  98. data/spec/trenni/uri_spec.rb +1 -0
  99. metadata +103 -60
  100. data/.gitignore +0 -19
  101. data/.rspec +0 -5
  102. data/.simplecov +0 -9
  103. data/.travis.yml +0 -23
  104. data/Gemfile +0 -20
  105. data/README.md +0 -312
  106. data/Rakefile +0 -19
  107. data/benchmark/call_vs_yield.rb +0 -51
  108. data/benchmark/interpolation_vs_concat.rb +0 -29
  109. data/benchmark/io_vs_string.rb +0 -90
  110. data/entities.json +0 -2233
  111. data/tasks/entities.rake +0 -33
  112. data/tasks/parsers.rake +0 -43
  113. data/trenni.gemspec +0 -33
@@ -21,12 +21,10 @@
21
21
  module Trenni
22
22
  # We only support a small subset of markup entities.
23
23
  module Entities
24
- HTML_NAMED_ENTITIES = {
24
+ HTML5 = {
25
25
  <?r self.each do |string, metadata| ?>
26
26
  #{string.gsub(/^&|;$/, '').inspect} => #{metadata['characters'].dump}, # #{metadata['characters'].inspect}
27
27
  <?r end ?>
28
28
  }
29
-
30
- HTML = UnicodeEntities.new(HTML_NAMED_ENTITIES)
31
29
  end
32
30
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Copyright, 2012, by Samuel G. D. Williams. <http://www.codeotaku.com>
2
4
  #
3
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -21,7 +23,10 @@
21
23
  require_relative 'buffer'
22
24
 
23
25
  module Trenni
24
- class ParseError < StandardError
26
+ class Error < StandardError
27
+ end
28
+
29
+ class ParseError < Error
25
30
  def initialize(message, buffer, offset)
26
31
  super(message)
27
32
 
@@ -24,422 +24,427 @@
24
24
  # line 207 "markup.rl"
25
25
 
26
26
 
27
- require_relative '../parse_error'
27
+ require_relative '../error'
28
28
 
29
29
  module Trenni
30
30
  module Fallback
31
- # line 33 "markup.rb"
32
- class << self
33
- attr_accessor :_markup_trans_keys
34
- private :_markup_trans_keys, :_markup_trans_keys=
35
- end
36
- self._markup_trans_keys = [
37
- 0, 0, 0, 127, 0, 127,
38
- 0, 127, 0, 127, 62,
39
- 62, 34, 39, 34, 60,
40
- 34, 60, 9, 62, 34, 60,
41
- 9, 62, 38, 60, 38,
42
- 60, 38, 60, 45, 91,
43
- 45, 45, 45, 45, 45, 45,
44
- 45, 62, 79, 79, 67,
45
- 67, 84, 84, 89, 89,
46
- 80, 80, 69, 69, 62, 62,
47
- 67, 67, 68, 68, 65,
48
- 65, 84, 84, 65, 65,
49
- 91, 91, 93, 93, 93, 93,
50
- 62, 93, 0, 127, 0,
51
- 127, 0, 127, 0, 127,
52
- 63, 63, 62, 63, 35, 122,
53
- 48, 120, 48, 59, 48,
54
- 102, 48, 102, 48, 122,
55
- 38, 60, 38, 60, 38, 60,
56
- 38, 60, 38, 60, 38,
57
- 60, 38, 60, 38, 60,
58
- 38, 60, 0, 0, 0
59
- ]
60
-
61
- class << self
62
- attr_accessor :_markup_key_spans
63
- private :_markup_key_spans, :_markup_key_spans=
64
- end
65
- self._markup_key_spans = [
66
- 0, 128, 128, 128, 128, 1, 6, 27,
67
- 27, 54, 27, 54, 23, 23, 23, 47,
68
- 1, 1, 1, 18, 1, 1, 1, 1,
69
- 1, 1, 1, 1, 1, 1, 1, 1,
70
- 1, 1, 1, 32, 128, 128, 128, 128,
71
- 1, 2, 88, 73, 12, 55, 55, 75,
72
- 23, 23, 23, 23, 23, 23, 23, 23,
73
- 23, 0
74
- ]
75
-
76
- class << self
77
- attr_accessor :_markup_index_offsets
78
- private :_markup_index_offsets, :_markup_index_offsets=
79
- end
80
- self._markup_index_offsets = [
81
- 0, 0, 129, 258, 387, 516, 518, 525,
82
- 553, 581, 636, 664, 719, 743, 767, 791,
83
- 839, 841, 843, 845, 864, 866, 868, 870,
84
- 872, 874, 876, 878, 880, 882, 884, 886,
85
- 888, 890, 892, 894, 927, 1056, 1185, 1314,
86
- 1443, 1445, 1448, 1537, 1611, 1624, 1680, 1736,
87
- 1812, 1836, 1860, 1884, 1908, 1932, 1956, 1980,
88
- 2004, 2028
89
- ]
90
-
91
- class << self
92
- attr_accessor :_markup_indicies
93
- private :_markup_indicies, :_markup_indicies=
94
- end
95
- self._markup_indicies = [
96
- 1, 1, 1, 1, 1, 1, 1, 1,
97
- 1, 1, 1, 1, 1, 1, 1, 1,
98
- 1, 1, 1, 1, 1, 1, 1, 1,
99
- 1, 1, 1, 1, 1, 1, 1, 1,
100
- 1, 2, 1, 1, 1, 1, 1, 1,
101
- 1, 1, 1, 1, 1, 0, 0, 3,
102
- 0, 0, 0, 0, 0, 0, 0, 0,
103
- 0, 0, 0, 1, 1, 1, 1, 4,
104
- 1, 0, 0, 0, 0, 0, 0, 0,
105
- 0, 0, 0, 0, 0, 0, 0, 0,
106
- 0, 0, 0, 0, 0, 0, 0, 0,
107
- 0, 0, 0, 1, 1, 1, 1, 0,
108
- 1, 0, 0, 0, 0, 0, 0, 0,
109
- 0, 0, 0, 0, 0, 0, 0, 0,
110
- 0, 0, 0, 0, 0, 0, 0, 0,
111
- 0, 0, 0, 1, 1, 1, 1, 1,
112
- 0, 1, 1, 1, 1, 1, 1, 1,
113
- 1, 1, 6, 6, 6, 6, 6, 1,
114
- 1, 1, 1, 1, 1, 1, 1, 1,
115
- 1, 1, 1, 1, 1, 1, 1, 1,
116
- 1, 6, 1, 1, 1, 1, 1, 1,
117
- 1, 1, 1, 1, 1, 1, 5, 5,
118
- 7, 5, 5, 5, 5, 5, 5, 5,
119
- 5, 5, 5, 5, 1, 1, 1, 8,
120
- 1, 1, 5, 5, 5, 5, 5, 5,
121
- 5, 5, 5, 5, 5, 5, 5, 5,
122
- 5, 5, 5, 5, 5, 5, 5, 5,
123
- 5, 5, 5, 5, 1, 1, 1, 1,
124
- 5, 1, 5, 5, 5, 5, 5, 5,
125
- 5, 5, 5, 5, 5, 5, 5, 5,
126
- 5, 5, 5, 5, 5, 5, 5, 5,
127
- 5, 5, 5, 5, 1, 1, 1, 1,
128
- 1, 5, 1, 1, 1, 1, 1, 1,
129
- 1, 1, 1, 10, 10, 10, 10, 10,
130
- 1, 1, 1, 1, 1, 1, 1, 1,
131
- 1, 1, 1, 1, 1, 1, 1, 1,
132
- 1, 1, 10, 1, 1, 1, 1, 1,
133
- 1, 1, 1, 1, 1, 1, 1, 9,
134
- 9, 11, 9, 9, 9, 9, 9, 9,
135
- 9, 9, 9, 9, 9, 1, 1, 1,
136
- 12, 1, 1, 9, 9, 9, 9, 9,
137
- 9, 9, 9, 9, 9, 9, 9, 9,
138
- 9, 9, 9, 9, 9, 9, 9, 9,
139
- 9, 9, 9, 9, 9, 1, 1, 1,
140
- 1, 9, 1, 9, 9, 9, 9, 9,
141
- 9, 9, 9, 9, 9, 9, 9, 9,
142
- 9, 9, 9, 9, 9, 9, 9, 9,
143
- 9, 9, 9, 9, 9, 1, 1, 1,
144
- 1, 1, 9, 1, 1, 1, 1, 1,
145
- 1, 1, 1, 1, 14, 14, 14, 14,
146
- 14, 1, 1, 1, 1, 1, 1, 1,
147
- 1, 1, 1, 1, 1, 1, 1, 1,
148
- 1, 1, 1, 14, 1, 1, 1, 1,
149
- 1, 1, 1, 1, 1, 1, 1, 1,
150
- 13, 13, 15, 13, 13, 13, 13, 13,
151
- 13, 13, 13, 13, 13, 13, 1, 1,
152
- 16, 17, 1, 1, 13, 13, 13, 13,
153
- 13, 13, 13, 13, 13, 13, 13, 13,
154
- 13, 13, 13, 13, 13, 13, 13, 13,
155
- 13, 13, 13, 13, 13, 13, 1, 1,
156
- 1, 1, 13, 1, 13, 13, 13, 13,
157
- 13, 13, 13, 13, 13, 13, 13, 13,
158
- 13, 13, 13, 13, 13, 13, 13, 13,
159
- 13, 13, 13, 13, 13, 13, 1, 1,
160
- 1, 1, 1, 13, 12, 1, 18, 1,
161
- 1, 1, 1, 19, 1, 21, 20, 20,
162
- 20, 22, 20, 20, 20, 20, 20, 20,
163
- 20, 20, 20, 20, 20, 20, 20, 20,
164
- 20, 20, 20, 20, 20, 20, 20, 1,
165
- 20, 24, 23, 23, 23, 25, 23, 23,
166
- 23, 23, 23, 23, 23, 23, 23, 23,
167
- 23, 23, 23, 23, 23, 23, 23, 23,
168
- 23, 23, 23, 1, 23, 26, 26, 26,
169
- 26, 26, 1, 1, 1, 1, 1, 1,
170
- 1, 1, 1, 1, 1, 1, 1, 1,
171
- 1, 1, 1, 1, 26, 1, 1, 1,
172
- 1, 1, 1, 1, 1, 1, 1, 1,
173
- 1, 1, 1, 27, 1, 1, 1, 1,
174
- 1, 1, 1, 1, 1, 1, 1, 1,
175
- 1, 1, 28, 1, 30, 29, 29, 29,
176
- 31, 29, 29, 29, 29, 29, 29, 29,
177
- 29, 29, 29, 29, 29, 29, 29, 29,
178
- 29, 29, 29, 29, 29, 29, 1, 29,
179
- 32, 32, 32, 32, 32, 1, 1, 1,
180
- 1, 1, 1, 1, 1, 1, 1, 1,
181
- 1, 1, 1, 1, 1, 1, 1, 32,
182
- 1, 1, 1, 1, 1, 1, 1, 1,
183
- 1, 1, 1, 1, 1, 1, 33, 1,
184
- 1, 1, 1, 1, 1, 1, 1, 1,
185
- 1, 1, 1, 1, 1, 34, 1, 36,
186
- 21, 35, 35, 35, 35, 35, 35, 35,
187
- 35, 35, 35, 35, 35, 35, 35, 35,
188
- 35, 35, 35, 35, 35, 1, 35, 38,
189
- 24, 37, 37, 37, 37, 37, 37, 37,
190
- 37, 37, 37, 37, 37, 37, 37, 37,
191
- 37, 37, 37, 37, 37, 1, 37, 40,
192
- 30, 39, 39, 39, 39, 39, 39, 39,
193
- 39, 39, 39, 39, 39, 39, 39, 39,
194
- 39, 39, 39, 39, 39, 1, 39, 41,
195
- 42, 42, 42, 42, 42, 42, 42, 42,
196
- 42, 42, 42, 42, 42, 42, 42, 42,
197
- 42, 42, 42, 42, 42, 42, 43, 42,
198
- 42, 42, 42, 42, 42, 42, 42, 42,
199
- 42, 42, 42, 42, 42, 42, 42, 42,
200
- 42, 42, 42, 42, 42, 44, 42, 45,
201
- 42, 46, 45, 47, 45, 47, 45, 45,
202
- 45, 45, 45, 45, 45, 45, 45, 45,
203
- 45, 45, 45, 45, 45, 45, 48, 45,
204
- 49, 42, 50, 42, 51, 42, 52, 42,
205
- 53, 42, 54, 42, 55, 54, 56, 42,
206
- 57, 42, 58, 42, 59, 42, 60, 42,
207
- 61, 42, 62, 61, 63, 61, 64, 61,
208
- 61, 61, 61, 61, 61, 61, 61, 61,
209
- 61, 61, 61, 61, 61, 61, 61, 61,
210
- 61, 61, 61, 61, 61, 61, 61, 61,
211
- 61, 61, 61, 61, 61, 63, 61, 1,
212
- 1, 1, 1, 1, 1, 1, 1, 1,
213
- 1, 1, 1, 1, 1, 1, 1, 1,
214
- 1, 1, 1, 1, 1, 1, 1, 1,
215
- 1, 1, 1, 1, 1, 1, 1, 1,
216
- 1, 1, 1, 1, 1, 1, 1, 1,
217
- 1, 1, 1, 1, 65, 65, 1, 65,
218
- 65, 65, 65, 65, 65, 65, 65, 65,
219
- 65, 65, 1, 1, 1, 1, 1, 1,
220
- 65, 65, 65, 65, 65, 65, 65, 65,
221
- 65, 65, 65, 65, 65, 65, 65, 65,
222
- 65, 65, 65, 65, 65, 65, 65, 65,
223
- 65, 65, 1, 1, 1, 1, 65, 1,
224
- 65, 65, 65, 65, 65, 65, 65, 65,
225
- 65, 65, 65, 65, 65, 65, 65, 65,
226
- 65, 65, 65, 65, 65, 65, 65, 65,
227
- 65, 65, 1, 1, 1, 1, 1, 65,
228
- 1, 1, 1, 1, 1, 1, 1, 1,
229
- 1, 1, 1, 1, 1, 1, 1, 1,
230
- 1, 1, 1, 1, 1, 1, 1, 1,
231
- 1, 1, 1, 1, 1, 1, 1, 1,
232
- 1, 1, 1, 1, 1, 1, 1, 1,
233
- 1, 1, 1, 1, 1, 66, 66, 1,
234
- 66, 66, 66, 66, 66, 66, 66, 66,
235
- 66, 66, 66, 1, 1, 1, 67, 1,
236
- 1, 66, 66, 66, 66, 66, 66, 66,
237
- 66, 66, 66, 66, 66, 66, 66, 66,
238
- 66, 66, 66, 66, 66, 66, 66, 66,
239
- 66, 66, 66, 1, 1, 1, 1, 66,
240
- 1, 66, 66, 66, 66, 66, 66, 66,
241
- 66, 66, 66, 66, 66, 66, 66, 66,
242
- 66, 66, 66, 66, 66, 66, 66, 66,
243
- 66, 66, 66, 1, 1, 1, 1, 1,
244
- 66, 69, 69, 69, 69, 69, 69, 69,
245
- 69, 69, 69, 69, 69, 69, 69, 69,
246
- 69, 69, 69, 69, 69, 69, 69, 69,
247
- 69, 69, 69, 69, 69, 69, 69, 69,
248
- 69, 69, 69, 69, 69, 69, 69, 69,
249
- 69, 69, 69, 69, 69, 69, 68, 68,
250
- 69, 68, 68, 68, 68, 68, 68, 68,
251
- 68, 68, 68, 68, 69, 69, 69, 69,
252
- 69, 69, 68, 68, 68, 68, 68, 68,
253
- 68, 68, 68, 68, 68, 68, 68, 68,
254
- 68, 68, 68, 68, 68, 68, 68, 68,
255
- 68, 68, 68, 68, 69, 69, 69, 69,
256
- 68, 69, 68, 68, 68, 68, 68, 68,
257
- 68, 68, 68, 68, 68, 68, 68, 68,
258
- 68, 68, 68, 68, 68, 68, 68, 68,
259
- 68, 68, 68, 68, 69, 69, 69, 69,
260
- 69, 68, 69, 69, 69, 69, 69, 69,
261
- 69, 69, 69, 71, 71, 71, 71, 71,
262
- 69, 69, 69, 69, 69, 69, 69, 69,
263
- 69, 69, 69, 69, 69, 69, 69, 69,
264
- 69, 69, 71, 69, 69, 69, 69, 69,
265
- 69, 69, 69, 69, 69, 69, 69, 70,
266
- 70, 69, 70, 70, 70, 70, 70, 70,
267
- 70, 70, 70, 70, 70, 69, 69, 69,
268
- 69, 69, 69, 70, 70, 70, 70, 70,
269
- 70, 70, 70, 70, 70, 70, 70, 70,
270
- 70, 70, 70, 70, 70, 70, 70, 70,
271
- 70, 70, 70, 70, 70, 69, 69, 69,
272
- 69, 70, 69, 70, 70, 70, 70, 70,
273
- 70, 70, 70, 70, 70, 70, 70, 70,
274
- 70, 70, 70, 70, 70, 70, 70, 70,
275
- 70, 70, 70, 70, 70, 69, 69, 69,
276
- 69, 69, 70, 73, 72, 74, 73, 72,
277
- 76, 75, 75, 75, 75, 75, 75, 75,
278
- 75, 75, 75, 75, 75, 77, 77, 77,
279
- 77, 77, 77, 77, 77, 77, 77, 75,
280
- 75, 75, 75, 75, 75, 75, 77, 77,
281
- 77, 77, 77, 77, 77, 77, 77, 77,
282
- 77, 77, 77, 77, 77, 77, 77, 77,
283
- 77, 77, 77, 77, 77, 77, 77, 77,
284
- 75, 75, 75, 75, 75, 75, 77, 77,
285
- 77, 77, 77, 77, 77, 77, 77, 77,
286
- 77, 77, 77, 77, 77, 77, 77, 77,
287
- 77, 77, 77, 77, 77, 77, 77, 77,
288
- 75, 78, 78, 78, 78, 78, 78, 78,
289
- 78, 78, 78, 75, 75, 75, 75, 75,
290
- 75, 75, 75, 75, 75, 75, 75, 75,
291
- 75, 75, 75, 75, 75, 75, 75, 75,
292
- 75, 75, 75, 75, 75, 75, 75, 75,
293
- 75, 75, 75, 75, 75, 75, 75, 75,
294
- 75, 75, 75, 75, 75, 75, 75, 75,
295
- 75, 75, 75, 75, 75, 75, 75, 75,
296
- 75, 75, 75, 75, 75, 75, 75, 75,
297
- 75, 79, 75, 80, 80, 80, 80, 80,
298
- 80, 80, 80, 80, 80, 75, 81, 75,
299
- 82, 82, 82, 82, 82, 82, 82, 82,
300
- 82, 82, 75, 75, 75, 75, 75, 75,
301
- 75, 82, 82, 82, 82, 82, 82, 75,
302
- 75, 75, 75, 75, 75, 75, 75, 75,
303
- 75, 75, 75, 75, 75, 75, 75, 75,
304
- 75, 75, 75, 75, 75, 75, 75, 75,
305
- 75, 82, 82, 82, 82, 82, 82, 75,
306
- 83, 83, 83, 83, 83, 83, 83, 83,
307
- 83, 83, 75, 84, 75, 75, 75, 75,
308
- 75, 83, 83, 83, 83, 83, 83, 75,
309
- 75, 75, 75, 75, 75, 75, 75, 75,
310
- 75, 75, 75, 75, 75, 75, 75, 75,
311
- 75, 75, 75, 75, 75, 75, 75, 75,
312
- 75, 83, 83, 83, 83, 83, 83, 75,
313
- 85, 85, 85, 85, 85, 85, 85, 85,
314
- 85, 85, 75, 86, 75, 75, 75, 75,
315
- 75, 85, 85, 85, 85, 85, 85, 85,
316
- 85, 85, 85, 85, 85, 85, 85, 85,
317
- 85, 85, 85, 85, 85, 85, 85, 85,
318
- 85, 85, 85, 75, 75, 75, 75, 75,
319
- 75, 85, 85, 85, 85, 85, 85, 85,
320
- 85, 85, 85, 85, 85, 85, 85, 85,
321
- 85, 85, 85, 85, 85, 85, 85, 85,
322
- 85, 85, 85, 75, 88, 87, 87, 87,
323
- 87, 87, 87, 87, 87, 87, 87, 87,
324
- 87, 87, 87, 87, 87, 87, 87, 87,
325
- 87, 87, 89, 87, 91, 90, 90, 90,
326
- 90, 90, 90, 90, 90, 90, 90, 90,
327
- 90, 90, 90, 90, 90, 90, 90, 90,
328
- 90, 90, 92, 90, 94, 93, 93, 93,
329
- 93, 93, 93, 93, 93, 93, 93, 93,
330
- 93, 93, 93, 93, 93, 93, 93, 93,
331
- 93, 93, 95, 93, 97, 96, 96, 96,
332
- 96, 96, 96, 96, 96, 96, 96, 96,
333
- 96, 96, 96, 96, 96, 96, 96, 96,
334
- 96, 96, 98, 96, 100, 99, 99, 99,
335
- 99, 99, 99, 99, 99, 99, 99, 99,
336
- 99, 99, 99, 99, 99, 99, 99, 99,
337
- 99, 99, 101, 99, 103, 102, 102, 102,
338
- 102, 102, 102, 102, 102, 102, 102, 102,
339
- 102, 102, 102, 102, 102, 102, 102, 102,
340
- 102, 102, 104, 102, 106, 105, 105, 105,
341
- 105, 105, 105, 105, 105, 105, 105, 105,
342
- 105, 105, 105, 105, 105, 105, 105, 105,
343
- 105, 105, 107, 105, 109, 108, 108, 108,
344
- 108, 108, 108, 108, 108, 108, 108, 108,
345
- 108, 108, 108, 108, 108, 108, 108, 108,
346
- 108, 108, 110, 108, 112, 111, 111, 111,
347
- 111, 111, 111, 111, 111, 111, 111, 111,
348
- 111, 111, 111, 111, 111, 111, 111, 111,
349
- 111, 111, 113, 111, 42, 0
350
- ]
351
-
352
- class << self
353
- attr_accessor :_markup_trans_targs
354
- private :_markup_trans_targs, :_markup_trans_targs=
355
- end
356
- self._markup_trans_targs = [
357
- 2, 0, 15, 36, 38, 2, 3, 5,
358
- 51, 4, 3, 5, 51, 4, 3, 5,
359
- 6, 51, 7, 12, 8, 11, 10, 8,
360
- 9, 10, 3, 5, 51, 8, 9, 10,
361
- 3, 5, 51, 13, 14, 13, 14, 13,
362
- 14, 16, 0, 20, 27, 17, 18, 19,
363
- 52, 21, 22, 23, 24, 25, 26, 53,
364
- 28, 29, 30, 31, 32, 33, 34, 35,
365
- 54, 37, 37, 55, 39, 0, 39, 40,
366
- 40, 41, 56, 0, 43, 47, 44, 45,
367
- 44, 57, 46, 46, 57, 47, 57, 49,
368
- 50, 1, 49, 50, 1, 49, 50, 1,
369
- 49, 50, 1, 49, 50, 1, 49, 50,
370
- 1, 49, 50, 1, 49, 50, 1, 49,
371
- 50, 1
372
- ]
373
-
374
- class << self
375
- attr_accessor :_markup_trans_actions
376
- private :_markup_trans_actions, :_markup_trans_actions=
377
- end
378
- self._markup_trans_actions = [
379
- 2, 1, 0, 0, 0, 0, 3, 4,
380
- 3, 5, 0, 6, 0, 0, 7, 8,
381
- 9, 7, 0, 0, 10, 0, 11, 0,
382
- 12, 13, 14, 15, 14, 16, 17, 18,
383
- 19, 20, 19, 10, 11, 0, 13, 16,
384
- 18, 0, 0, 0, 0, 0, 0, 0,
385
- 0, 0, 0, 0, 0, 0, 0, 0,
386
- 0, 0, 0, 0, 0, 0, 0, 0,
387
- 0, 2, 0, 9, 2, 24, 0, 25,
388
- 0, 26, 0, 27, 0, 28, 28, 0,
389
- 0, 29, 28, 0, 30, 0, 31, 32,
390
- 33, 34, 0, 13, 36, 16, 18, 38,
391
- 40, 41, 42, 44, 45, 46, 48, 49,
392
- 50, 52, 53, 54, 56, 57, 58, 60,
393
- 61, 62
394
- ]
395
-
396
- class << self
397
- attr_accessor :_markup_eof_actions
398
- private :_markup_eof_actions, :_markup_eof_actions=
399
- end
400
- self._markup_eof_actions = [
401
- 0, 1, 1, 1, 1, 1, 1, 1,
402
- 1, 1, 1, 1, 1, 1, 1, 0,
403
- 0, 21, 21, 21, 0, 0, 0, 0,
404
- 0, 0, 22, 0, 0, 0, 0, 0,
405
- 0, 23, 23, 23, 1, 1, 24, 24,
406
- 24, 24, 27, 27, 27, 27, 27, 27,
407
- 0, 35, 37, 39, 43, 47, 51, 55,
408
- 59, 0
409
- ]
410
-
411
- class << self
412
- attr_accessor :markup_start
413
- end
414
- self.markup_start = 48;
415
- class << self
416
- attr_accessor :markup_first_final
417
- end
418
- self.markup_first_final = 48;
419
- class << self
420
- attr_accessor :markup_error
421
- end
422
- self.markup_error = 0;
31
+
32
+ # line 33 "markup.rb"
33
+ class << self
34
+ attr_accessor :_markup_trans_keys
35
+ private :_markup_trans_keys, :_markup_trans_keys=
36
+ end
37
+ self._markup_trans_keys = [
38
+ 0, 0, 0, 127, 0, 127,
39
+ 0, 127, 0, 127, 62,
40
+ 62, 34, 39, 34, 60,
41
+ 34, 60, 9, 62, 34, 60,
42
+ 9, 62, 38, 60, 38,
43
+ 60, 38, 60, 45, 91,
44
+ 45, 45, 45, 45, 45, 45,
45
+ 45, 62, 79, 79, 67,
46
+ 67, 84, 84, 89, 89,
47
+ 80, 80, 69, 69, 62, 62,
48
+ 67, 67, 68, 68, 65,
49
+ 65, 84, 84, 65, 65,
50
+ 91, 91, 93, 93, 93, 93,
51
+ 62, 93, 0, 127, 0,
52
+ 127, 0, 127, 0, 127,
53
+ 63, 63, 62, 63, 35, 122,
54
+ 48, 120, 48, 59, 48,
55
+ 102, 48, 102, 48, 122,
56
+ 38, 60, 38, 60, 38, 60,
57
+ 38, 60, 38, 60, 38,
58
+ 60, 38, 60, 38, 60,
59
+ 38, 60, 0, 0, 0
60
+ ]
61
+
62
+ class << self
63
+ attr_accessor :_markup_key_spans
64
+ private :_markup_key_spans, :_markup_key_spans=
65
+ end
66
+ self._markup_key_spans = [
67
+ 0, 128, 128, 128, 128, 1, 6, 27,
68
+ 27, 54, 27, 54, 23, 23, 23, 47,
69
+ 1, 1, 1, 18, 1, 1, 1, 1,
70
+ 1, 1, 1, 1, 1, 1, 1, 1,
71
+ 1, 1, 1, 32, 128, 128, 128, 128,
72
+ 1, 2, 88, 73, 12, 55, 55, 75,
73
+ 23, 23, 23, 23, 23, 23, 23, 23,
74
+ 23, 0
75
+ ]
76
+
77
+ class << self
78
+ attr_accessor :_markup_index_offsets
79
+ private :_markup_index_offsets, :_markup_index_offsets=
80
+ end
81
+ self._markup_index_offsets = [
82
+ 0, 0, 129, 258, 387, 516, 518, 525,
83
+ 553, 581, 636, 664, 719, 743, 767, 791,
84
+ 839, 841, 843, 845, 864, 866, 868, 870,
85
+ 872, 874, 876, 878, 880, 882, 884, 886,
86
+ 888, 890, 892, 894, 927, 1056, 1185, 1314,
87
+ 1443, 1445, 1448, 1537, 1611, 1624, 1680, 1736,
88
+ 1812, 1836, 1860, 1884, 1908, 1932, 1956, 1980,
89
+ 2004, 2028
90
+ ]
91
+
92
+ class << self
93
+ attr_accessor :_markup_indicies
94
+ private :_markup_indicies, :_markup_indicies=
95
+ end
96
+ self._markup_indicies = [
97
+ 1, 1, 1, 1, 1, 1, 1, 1,
98
+ 1, 1, 1, 1, 1, 1, 1, 1,
99
+ 1, 1, 1, 1, 1, 1, 1, 1,
100
+ 1, 1, 1, 1, 1, 1, 1, 1,
101
+ 1, 2, 1, 1, 1, 1, 1, 1,
102
+ 1, 1, 1, 1, 1, 0, 0, 3,
103
+ 0, 0, 0, 0, 0, 0, 0, 0,
104
+ 0, 0, 0, 1, 1, 1, 1, 4,
105
+ 1, 0, 0, 0, 0, 0, 0, 0,
106
+ 0, 0, 0, 0, 0, 0, 0, 0,
107
+ 0, 0, 0, 0, 0, 0, 0, 0,
108
+ 0, 0, 0, 1, 1, 1, 1, 0,
109
+ 1, 0, 0, 0, 0, 0, 0, 0,
110
+ 0, 0, 0, 0, 0, 0, 0, 0,
111
+ 0, 0, 0, 0, 0, 0, 0, 0,
112
+ 0, 0, 0, 1, 1, 1, 1, 1,
113
+ 0, 1, 1, 1, 1, 1, 1, 1,
114
+ 1, 1, 6, 6, 6, 6, 6, 1,
115
+ 1, 1, 1, 1, 1, 1, 1, 1,
116
+ 1, 1, 1, 1, 1, 1, 1, 1,
117
+ 1, 6, 1, 1, 1, 1, 1, 1,
118
+ 1, 1, 1, 1, 1, 1, 5, 5,
119
+ 7, 5, 5, 5, 5, 5, 5, 5,
120
+ 5, 5, 5, 5, 1, 1, 1, 8,
121
+ 1, 1, 5, 5, 5, 5, 5, 5,
122
+ 5, 5, 5, 5, 5, 5, 5, 5,
123
+ 5, 5, 5, 5, 5, 5, 5, 5,
124
+ 5, 5, 5, 5, 1, 1, 1, 1,
125
+ 5, 1, 5, 5, 5, 5, 5, 5,
126
+ 5, 5, 5, 5, 5, 5, 5, 5,
127
+ 5, 5, 5, 5, 5, 5, 5, 5,
128
+ 5, 5, 5, 5, 1, 1, 1, 1,
129
+ 1, 5, 1, 1, 1, 1, 1, 1,
130
+ 1, 1, 1, 10, 10, 10, 10, 10,
131
+ 1, 1, 1, 1, 1, 1, 1, 1,
132
+ 1, 1, 1, 1, 1, 1, 1, 1,
133
+ 1, 1, 10, 1, 1, 1, 1, 1,
134
+ 1, 1, 1, 1, 1, 1, 1, 9,
135
+ 9, 11, 9, 9, 9, 9, 9, 9,
136
+ 9, 9, 9, 9, 9, 1, 1, 1,
137
+ 12, 1, 1, 9, 9, 9, 9, 9,
138
+ 9, 9, 9, 9, 9, 9, 9, 9,
139
+ 9, 9, 9, 9, 9, 9, 9, 9,
140
+ 9, 9, 9, 9, 9, 1, 1, 1,
141
+ 1, 9, 1, 9, 9, 9, 9, 9,
142
+ 9, 9, 9, 9, 9, 9, 9, 9,
143
+ 9, 9, 9, 9, 9, 9, 9, 9,
144
+ 9, 9, 9, 9, 9, 1, 1, 1,
145
+ 1, 1, 9, 1, 1, 1, 1, 1,
146
+ 1, 1, 1, 1, 14, 14, 14, 14,
147
+ 14, 1, 1, 1, 1, 1, 1, 1,
148
+ 1, 1, 1, 1, 1, 1, 1, 1,
149
+ 1, 1, 1, 14, 1, 1, 1, 1,
150
+ 1, 1, 1, 1, 1, 1, 1, 1,
151
+ 13, 13, 15, 13, 13, 13, 13, 13,
152
+ 13, 13, 13, 13, 13, 13, 1, 1,
153
+ 16, 17, 1, 1, 13, 13, 13, 13,
154
+ 13, 13, 13, 13, 13, 13, 13, 13,
155
+ 13, 13, 13, 13, 13, 13, 13, 13,
156
+ 13, 13, 13, 13, 13, 13, 1, 1,
157
+ 1, 1, 13, 1, 13, 13, 13, 13,
158
+ 13, 13, 13, 13, 13, 13, 13, 13,
159
+ 13, 13, 13, 13, 13, 13, 13, 13,
160
+ 13, 13, 13, 13, 13, 13, 1, 1,
161
+ 1, 1, 1, 13, 12, 1, 18, 1,
162
+ 1, 1, 1, 19, 1, 21, 20, 20,
163
+ 20, 22, 20, 20, 20, 20, 20, 20,
164
+ 20, 20, 20, 20, 20, 20, 20, 20,
165
+ 20, 20, 20, 20, 20, 20, 20, 1,
166
+ 20, 24, 23, 23, 23, 25, 23, 23,
167
+ 23, 23, 23, 23, 23, 23, 23, 23,
168
+ 23, 23, 23, 23, 23, 23, 23, 23,
169
+ 23, 23, 23, 1, 23, 26, 26, 26,
170
+ 26, 26, 1, 1, 1, 1, 1, 1,
171
+ 1, 1, 1, 1, 1, 1, 1, 1,
172
+ 1, 1, 1, 1, 26, 1, 1, 1,
173
+ 1, 1, 1, 1, 1, 1, 1, 1,
174
+ 1, 1, 1, 27, 1, 1, 1, 1,
175
+ 1, 1, 1, 1, 1, 1, 1, 1,
176
+ 1, 1, 28, 1, 30, 29, 29, 29,
177
+ 31, 29, 29, 29, 29, 29, 29, 29,
178
+ 29, 29, 29, 29, 29, 29, 29, 29,
179
+ 29, 29, 29, 29, 29, 29, 1, 29,
180
+ 32, 32, 32, 32, 32, 1, 1, 1,
181
+ 1, 1, 1, 1, 1, 1, 1, 1,
182
+ 1, 1, 1, 1, 1, 1, 1, 32,
183
+ 1, 1, 1, 1, 1, 1, 1, 1,
184
+ 1, 1, 1, 1, 1, 1, 33, 1,
185
+ 1, 1, 1, 1, 1, 1, 1, 1,
186
+ 1, 1, 1, 1, 1, 34, 1, 36,
187
+ 21, 35, 35, 35, 35, 35, 35, 35,
188
+ 35, 35, 35, 35, 35, 35, 35, 35,
189
+ 35, 35, 35, 35, 35, 1, 35, 38,
190
+ 24, 37, 37, 37, 37, 37, 37, 37,
191
+ 37, 37, 37, 37, 37, 37, 37, 37,
192
+ 37, 37, 37, 37, 37, 1, 37, 40,
193
+ 30, 39, 39, 39, 39, 39, 39, 39,
194
+ 39, 39, 39, 39, 39, 39, 39, 39,
195
+ 39, 39, 39, 39, 39, 1, 39, 41,
196
+ 42, 42, 42, 42, 42, 42, 42, 42,
197
+ 42, 42, 42, 42, 42, 42, 42, 42,
198
+ 42, 42, 42, 42, 42, 42, 43, 42,
199
+ 42, 42, 42, 42, 42, 42, 42, 42,
200
+ 42, 42, 42, 42, 42, 42, 42, 42,
201
+ 42, 42, 42, 42, 42, 44, 42, 45,
202
+ 42, 46, 45, 47, 45, 47, 45, 45,
203
+ 45, 45, 45, 45, 45, 45, 45, 45,
204
+ 45, 45, 45, 45, 45, 45, 48, 45,
205
+ 49, 42, 50, 42, 51, 42, 52, 42,
206
+ 53, 42, 54, 42, 55, 54, 56, 42,
207
+ 57, 42, 58, 42, 59, 42, 60, 42,
208
+ 61, 42, 62, 61, 63, 61, 64, 61,
209
+ 61, 61, 61, 61, 61, 61, 61, 61,
210
+ 61, 61, 61, 61, 61, 61, 61, 61,
211
+ 61, 61, 61, 61, 61, 61, 61, 61,
212
+ 61, 61, 61, 61, 61, 63, 61, 1,
213
+ 1, 1, 1, 1, 1, 1, 1, 1,
214
+ 1, 1, 1, 1, 1, 1, 1, 1,
215
+ 1, 1, 1, 1, 1, 1, 1, 1,
216
+ 1, 1, 1, 1, 1, 1, 1, 1,
217
+ 1, 1, 1, 1, 1, 1, 1, 1,
218
+ 1, 1, 1, 1, 65, 65, 1, 65,
219
+ 65, 65, 65, 65, 65, 65, 65, 65,
220
+ 65, 65, 1, 1, 1, 1, 1, 1,
221
+ 65, 65, 65, 65, 65, 65, 65, 65,
222
+ 65, 65, 65, 65, 65, 65, 65, 65,
223
+ 65, 65, 65, 65, 65, 65, 65, 65,
224
+ 65, 65, 1, 1, 1, 1, 65, 1,
225
+ 65, 65, 65, 65, 65, 65, 65, 65,
226
+ 65, 65, 65, 65, 65, 65, 65, 65,
227
+ 65, 65, 65, 65, 65, 65, 65, 65,
228
+ 65, 65, 1, 1, 1, 1, 1, 65,
229
+ 1, 1, 1, 1, 1, 1, 1, 1,
230
+ 1, 1, 1, 1, 1, 1, 1, 1,
231
+ 1, 1, 1, 1, 1, 1, 1, 1,
232
+ 1, 1, 1, 1, 1, 1, 1, 1,
233
+ 1, 1, 1, 1, 1, 1, 1, 1,
234
+ 1, 1, 1, 1, 1, 66, 66, 1,
235
+ 66, 66, 66, 66, 66, 66, 66, 66,
236
+ 66, 66, 66, 1, 1, 1, 67, 1,
237
+ 1, 66, 66, 66, 66, 66, 66, 66,
238
+ 66, 66, 66, 66, 66, 66, 66, 66,
239
+ 66, 66, 66, 66, 66, 66, 66, 66,
240
+ 66, 66, 66, 1, 1, 1, 1, 66,
241
+ 1, 66, 66, 66, 66, 66, 66, 66,
242
+ 66, 66, 66, 66, 66, 66, 66, 66,
243
+ 66, 66, 66, 66, 66, 66, 66, 66,
244
+ 66, 66, 66, 1, 1, 1, 1, 1,
245
+ 66, 69, 69, 69, 69, 69, 69, 69,
246
+ 69, 69, 69, 69, 69, 69, 69, 69,
247
+ 69, 69, 69, 69, 69, 69, 69, 69,
248
+ 69, 69, 69, 69, 69, 69, 69, 69,
249
+ 69, 69, 69, 69, 69, 69, 69, 69,
250
+ 69, 69, 69, 69, 69, 69, 68, 68,
251
+ 69, 68, 68, 68, 68, 68, 68, 68,
252
+ 68, 68, 68, 68, 69, 69, 69, 69,
253
+ 69, 69, 68, 68, 68, 68, 68, 68,
254
+ 68, 68, 68, 68, 68, 68, 68, 68,
255
+ 68, 68, 68, 68, 68, 68, 68, 68,
256
+ 68, 68, 68, 68, 69, 69, 69, 69,
257
+ 68, 69, 68, 68, 68, 68, 68, 68,
258
+ 68, 68, 68, 68, 68, 68, 68, 68,
259
+ 68, 68, 68, 68, 68, 68, 68, 68,
260
+ 68, 68, 68, 68, 69, 69, 69, 69,
261
+ 69, 68, 69, 69, 69, 69, 69, 69,
262
+ 69, 69, 69, 71, 71, 71, 71, 71,
263
+ 69, 69, 69, 69, 69, 69, 69, 69,
264
+ 69, 69, 69, 69, 69, 69, 69, 69,
265
+ 69, 69, 71, 69, 69, 69, 69, 69,
266
+ 69, 69, 69, 69, 69, 69, 69, 70,
267
+ 70, 69, 70, 70, 70, 70, 70, 70,
268
+ 70, 70, 70, 70, 70, 69, 69, 69,
269
+ 69, 69, 69, 70, 70, 70, 70, 70,
270
+ 70, 70, 70, 70, 70, 70, 70, 70,
271
+ 70, 70, 70, 70, 70, 70, 70, 70,
272
+ 70, 70, 70, 70, 70, 69, 69, 69,
273
+ 69, 70, 69, 70, 70, 70, 70, 70,
274
+ 70, 70, 70, 70, 70, 70, 70, 70,
275
+ 70, 70, 70, 70, 70, 70, 70, 70,
276
+ 70, 70, 70, 70, 70, 69, 69, 69,
277
+ 69, 69, 70, 73, 72, 74, 73, 72,
278
+ 76, 75, 75, 75, 75, 75, 75, 75,
279
+ 75, 75, 75, 75, 75, 77, 77, 77,
280
+ 77, 77, 77, 77, 77, 77, 77, 75,
281
+ 75, 75, 75, 75, 75, 75, 77, 77,
282
+ 77, 77, 77, 77, 77, 77, 77, 77,
283
+ 77, 77, 77, 77, 77, 77, 77, 77,
284
+ 77, 77, 77, 77, 77, 77, 77, 77,
285
+ 75, 75, 75, 75, 75, 75, 77, 77,
286
+ 77, 77, 77, 77, 77, 77, 77, 77,
287
+ 77, 77, 77, 77, 77, 77, 77, 77,
288
+ 77, 77, 77, 77, 77, 77, 77, 77,
289
+ 75, 78, 78, 78, 78, 78, 78, 78,
290
+ 78, 78, 78, 75, 75, 75, 75, 75,
291
+ 75, 75, 75, 75, 75, 75, 75, 75,
292
+ 75, 75, 75, 75, 75, 75, 75, 75,
293
+ 75, 75, 75, 75, 75, 75, 75, 75,
294
+ 75, 75, 75, 75, 75, 75, 75, 75,
295
+ 75, 75, 75, 75, 75, 75, 75, 75,
296
+ 75, 75, 75, 75, 75, 75, 75, 75,
297
+ 75, 75, 75, 75, 75, 75, 75, 75,
298
+ 75, 79, 75, 80, 80, 80, 80, 80,
299
+ 80, 80, 80, 80, 80, 75, 81, 75,
300
+ 82, 82, 82, 82, 82, 82, 82, 82,
301
+ 82, 82, 75, 75, 75, 75, 75, 75,
302
+ 75, 82, 82, 82, 82, 82, 82, 75,
303
+ 75, 75, 75, 75, 75, 75, 75, 75,
304
+ 75, 75, 75, 75, 75, 75, 75, 75,
305
+ 75, 75, 75, 75, 75, 75, 75, 75,
306
+ 75, 82, 82, 82, 82, 82, 82, 75,
307
+ 83, 83, 83, 83, 83, 83, 83, 83,
308
+ 83, 83, 75, 84, 75, 75, 75, 75,
309
+ 75, 83, 83, 83, 83, 83, 83, 75,
310
+ 75, 75, 75, 75, 75, 75, 75, 75,
311
+ 75, 75, 75, 75, 75, 75, 75, 75,
312
+ 75, 75, 75, 75, 75, 75, 75, 75,
313
+ 75, 83, 83, 83, 83, 83, 83, 75,
314
+ 85, 85, 85, 85, 85, 85, 85, 85,
315
+ 85, 85, 75, 86, 75, 75, 75, 75,
316
+ 75, 85, 85, 85, 85, 85, 85, 85,
317
+ 85, 85, 85, 85, 85, 85, 85, 85,
318
+ 85, 85, 85, 85, 85, 85, 85, 85,
319
+ 85, 85, 85, 75, 75, 75, 75, 75,
320
+ 75, 85, 85, 85, 85, 85, 85, 85,
321
+ 85, 85, 85, 85, 85, 85, 85, 85,
322
+ 85, 85, 85, 85, 85, 85, 85, 85,
323
+ 85, 85, 85, 75, 88, 87, 87, 87,
324
+ 87, 87, 87, 87, 87, 87, 87, 87,
325
+ 87, 87, 87, 87, 87, 87, 87, 87,
326
+ 87, 87, 89, 87, 91, 90, 90, 90,
327
+ 90, 90, 90, 90, 90, 90, 90, 90,
328
+ 90, 90, 90, 90, 90, 90, 90, 90,
329
+ 90, 90, 92, 90, 94, 93, 93, 93,
330
+ 93, 93, 93, 93, 93, 93, 93, 93,
331
+ 93, 93, 93, 93, 93, 93, 93, 93,
332
+ 93, 93, 95, 93, 97, 96, 96, 96,
333
+ 96, 96, 96, 96, 96, 96, 96, 96,
334
+ 96, 96, 96, 96, 96, 96, 96, 96,
335
+ 96, 96, 98, 96, 100, 99, 99, 99,
336
+ 99, 99, 99, 99, 99, 99, 99, 99,
337
+ 99, 99, 99, 99, 99, 99, 99, 99,
338
+ 99, 99, 101, 99, 103, 102, 102, 102,
339
+ 102, 102, 102, 102, 102, 102, 102, 102,
340
+ 102, 102, 102, 102, 102, 102, 102, 102,
341
+ 102, 102, 104, 102, 106, 105, 105, 105,
342
+ 105, 105, 105, 105, 105, 105, 105, 105,
343
+ 105, 105, 105, 105, 105, 105, 105, 105,
344
+ 105, 105, 107, 105, 109, 108, 108, 108,
345
+ 108, 108, 108, 108, 108, 108, 108, 108,
346
+ 108, 108, 108, 108, 108, 108, 108, 108,
347
+ 108, 108, 110, 108, 112, 111, 111, 111,
348
+ 111, 111, 111, 111, 111, 111, 111, 111,
349
+ 111, 111, 111, 111, 111, 111, 111, 111,
350
+ 111, 111, 113, 111, 42, 0
351
+ ]
352
+
353
+ class << self
354
+ attr_accessor :_markup_trans_targs
355
+ private :_markup_trans_targs, :_markup_trans_targs=
356
+ end
357
+ self._markup_trans_targs = [
358
+ 2, 0, 15, 36, 38, 2, 3, 5,
359
+ 51, 4, 3, 5, 51, 4, 3, 5,
360
+ 6, 51, 7, 12, 8, 11, 10, 8,
361
+ 9, 10, 3, 5, 51, 8, 9, 10,
362
+ 3, 5, 51, 13, 14, 13, 14, 13,
363
+ 14, 16, 0, 20, 27, 17, 18, 19,
364
+ 52, 21, 22, 23, 24, 25, 26, 53,
365
+ 28, 29, 30, 31, 32, 33, 34, 35,
366
+ 54, 37, 37, 55, 39, 0, 39, 40,
367
+ 40, 41, 56, 0, 43, 47, 44, 45,
368
+ 44, 57, 46, 46, 57, 47, 57, 49,
369
+ 50, 1, 49, 50, 1, 49, 50, 1,
370
+ 49, 50, 1, 49, 50, 1, 49, 50,
371
+ 1, 49, 50, 1, 49, 50, 1, 49,
372
+ 50, 1
373
+ ]
374
+
375
+ class << self
376
+ attr_accessor :_markup_trans_actions
377
+ private :_markup_trans_actions, :_markup_trans_actions=
378
+ end
379
+ self._markup_trans_actions = [
380
+ 2, 1, 0, 0, 0, 0, 3, 4,
381
+ 3, 5, 0, 6, 0, 0, 7, 8,
382
+ 9, 7, 0, 0, 10, 0, 11, 0,
383
+ 12, 13, 14, 15, 14, 16, 17, 18,
384
+ 19, 20, 19, 10, 11, 0, 13, 16,
385
+ 18, 0, 0, 0, 0, 0, 0, 0,
386
+ 0, 0, 0, 0, 0, 0, 0, 0,
387
+ 0, 0, 0, 0, 0, 0, 0, 0,
388
+ 0, 2, 0, 9, 2, 24, 0, 25,
389
+ 0, 26, 0, 27, 0, 28, 28, 0,
390
+ 0, 29, 28, 0, 30, 0, 31, 32,
391
+ 33, 34, 0, 13, 36, 16, 18, 38,
392
+ 40, 41, 42, 44, 45, 46, 48, 49,
393
+ 50, 52, 53, 54, 56, 57, 58, 60,
394
+ 61, 62
395
+ ]
396
+
397
+ class << self
398
+ attr_accessor :_markup_eof_actions
399
+ private :_markup_eof_actions, :_markup_eof_actions=
400
+ end
401
+ self._markup_eof_actions = [
402
+ 0, 1, 1, 1, 1, 1, 1, 1,
403
+ 1, 1, 1, 1, 1, 1, 1, 0,
404
+ 0, 21, 21, 21, 0, 0, 0, 0,
405
+ 0, 0, 22, 0, 0, 0, 0, 0,
406
+ 0, 23, 23, 23, 1, 1, 24, 24,
407
+ 24, 24, 27, 27, 27, 27, 27, 27,
408
+ 0, 35, 37, 39, 43, 47, 51, 55,
409
+ 59, 0
410
+ ]
411
+
412
+ class << self
413
+ attr_accessor :markup_start
414
+ end
415
+ self.markup_start = 48;
416
+ class << self
417
+ attr_accessor :markup_first_final
418
+ end
419
+ self.markup_first_final = 48;
420
+ class << self
421
+ attr_accessor :markup_error
422
+ end
423
+ self.markup_error = 0;
423
424
 
424
- class << self
425
- attr_accessor :markup_en_parse_entity
426
- end
427
- self.markup_en_parse_entity = 42;
428
- class << self
429
- attr_accessor :markup_en_main
430
- end
431
- self.markup_en_main = 48;
425
+ class << self
426
+ attr_accessor :markup_en_parse_entity
427
+ end
428
+ self.markup_en_parse_entity = 42;
429
+ class << self
430
+ attr_accessor :markup_en_main
431
+ end
432
+ self.markup_en_main = 48;
432
433
 
433
434
 
434
- # line 214 "markup.rl"
435
- def self.parse_markup(buffer, delegate, entities)
435
+ # line 214 "markup.rl"
436
+
437
+ def self.parse_markup(buffer, delegate, entities)
436
438
  data = buffer.read
439
+ encoding = buffer.encoding
437
440
  bytes = data.bytes
438
- p = 0
441
+
442
+ p = 0
439
443
  # Must set pe here or it gets incorrectly set to data.length
440
444
  pe = eof = data.bytesize
441
445
  stack = []
442
- pcdata = nil
446
+
447
+ pcdata = nil
443
448
  characters_begin = characters_end = nil
444
449
  entity_begin = entity_end = nil
445
450
  identifier_begin = identifier_end = nil
@@ -448,1180 +453,1223 @@ module Trenni
448
453
  instruction_begin = instruction_end = nil
449
454
  cdata_begin = cdata_end = nil
450
455
  has_entities = has_value = false
451
- # line 458 "markup.rb"
452
- begin
453
- p ||= 0
454
- pe ||= data.length
455
- cs = markup_start
456
- top = 0
457
- end
458
-
459
- # line 235 "markup.rl"
460
- # line 468 "markup.rb"
461
- begin
462
- testEof = false
463
- _slen, _trans, _keys, _inds, _acts, _nacts = nil
464
- _goto_level = 0
465
- _resume = 10
466
- _eof_trans = 15
467
- _again = 20
468
- _test_eof = 30
469
- _out = 40
470
- while true
471
- if _goto_level <= 0
472
- if p == pe
473
- _goto_level = _test_eof
474
- next
475
- end
476
- if cs == 0
477
- _goto_level = _out
478
- next
479
- end
480
- end
481
- if _goto_level <= _resume
482
- _keys = cs << 1
483
- _inds = _markup_index_offsets[cs]
484
- _slen = _markup_key_spans[cs]
485
- _wide = ( bytes[p])
486
- _trans = if ( _slen > 0 &&
487
- _markup_trans_keys[_keys] <= _wide &&
488
- _wide <= _markup_trans_keys[_keys + 1]
489
- ) then
490
- _markup_indicies[ _inds + _wide - _markup_trans_keys[_keys] ]
491
- else
492
- _markup_indicies[ _inds + _slen ]
493
- end
494
- cs = _markup_trans_targs[_trans]
495
- if _markup_trans_actions[_trans] != 0
496
- case _markup_trans_actions[_trans]
497
- when 2 then
498
- # line 24 "markup.rl"
499
- begin
500
-
501
- identifier_begin = p
502
- end
503
- when 9 then
504
- # line 28 "markup.rl"
505
- begin
506
-
507
- identifier_end = p
508
- end
509
- when 17 then
510
- # line 37 "markup.rl"
511
- begin
512
-
513
- end
514
- when 16 then
515
- # line 49 "markup.rl"
516
- begin
517
-
518
- characters_begin = p
519
- end
520
- when 27 then
521
- # line 59 "markup.rl"
522
- begin
523
-
524
- raise ParseError.new("could not parse entity", buffer, p)
525
- end
526
- when 28 then
527
- # line 63 "markup.rl"
528
- begin
529
-
530
- entity_begin = p
531
- end
532
- when 26 then
533
- # line 125 "markup.rl"
534
- begin
535
-
536
- end
537
- when 24 then
538
- # line 132 "markup.rl"
539
- begin
540
-
541
- raise ParseError.new("could not parse instruction", buffer, p)
542
- end
543
- when 6 then
544
- # line 145 "markup.rl"
545
- begin
546
-
547
- self_closing = true
548
- end
549
- when 1 then
550
- # line 185 "markup.rl"
551
- begin
552
-
553
- raise ParseError.new("could not parse tag", buffer, p)
554
- end
555
- when 18 then
556
- # line 10 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
557
- begin
558
- begin
559
- stack[top] = cs
560
- top+= 1
561
- cs = 42
562
- _goto_level = _again
563
- next
564
- end
565
- end
566
- when 25 then
567
- # line 28 "markup.rl"
568
- begin
569
-
570
- identifier_end = p
571
- end
572
- # line 122 "markup.rl"
573
- begin
574
-
575
- end
576
- when 3 then
577
- # line 28 "markup.rl"
578
- begin
579
-
580
- identifier_end = p
581
- end
582
- # line 136 "markup.rl"
583
- begin
584
-
585
- self_closing = false
586
- delegate.open_tag_begin(data.byteslice(identifier_begin...identifier_end), identifier_begin)
587
- end
588
- when 7 then
589
- # line 28 "markup.rl"
590
- begin
591
-
592
- identifier_end = p
593
- end
594
- # line 162 "markup.rl"
595
- begin
596
-
597
- if has_value
598
- pcdata = MarkupString.raw(pcdata) unless has_entities
599
- value = pcdata
600
- else
601
- value = true
602
- end
603
- delegate.attribute(data.byteslice(identifier_begin...identifier_end), value)
604
- end
605
- when 10 then
606
- # line 32 "markup.rl"
607
- begin
608
-
609
- pcdata = ""
610
- has_entities = false
611
- end
612
- # line 49 "markup.rl"
613
- begin
614
-
615
- characters_begin = p
616
- end
617
- when 11 then
618
- # line 32 "markup.rl"
619
- begin
620
-
621
- pcdata = ""
622
- has_entities = false
623
- end
624
- # line 10 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
625
- begin
626
- begin
627
- stack[top] = cs
628
- top+= 1
629
- cs = 42
630
- _goto_level = _again
631
- next
632
- end
633
- end
634
- when 12 then
635
- # line 53 "markup.rl"
636
- begin
637
-
638
- characters_end = p
639
- pcdata << data.byteslice(characters_begin...characters_end)
640
- end
641
- # line 37 "markup.rl"
642
- begin
643
-
644
- end
645
- when 13 then
646
- # line 53 "markup.rl"
647
- begin
648
-
649
- characters_end = p
650
- pcdata << data.byteslice(characters_begin...characters_end)
651
- end
652
- # line 10 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
653
- begin
654
- begin
655
- stack[top] = cs
656
- top+= 1
657
- cs = 42
658
- _goto_level = _again
659
- next
660
- end
661
- end
662
- when 31 then
663
- # line 67 "markup.rl"
664
- begin
665
-
666
- entity_end = p
667
- name = data.byteslice(entity_begin...entity_end)
668
- has_entities = true
669
- pcdata << entities[name]
670
- end
671
- # line 8 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
672
- begin
673
- begin
674
- top -= 1
675
- cs = stack[top]
676
- _goto_level = _again
677
- next
678
- end
679
- end
680
- when 30 then
681
- # line 76 "markup.rl"
682
- begin
683
-
684
- entity_end = p
685
- has_entities = true
686
- pcdata << data.byteslice(entity_begin...entity_end).to_i(16)
687
- end
688
- # line 8 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
689
- begin
690
- begin
691
- top -= 1
692
- cs = stack[top]
693
- _goto_level = _again
694
- next
695
- end
696
- end
697
- when 29 then
698
- # line 83 "markup.rl"
699
- begin
700
-
701
- entity_end = p
702
- has_entities = true
703
- pcdata << data.byteslice(entity_begin...entity_end).to_i(10)
704
- end
705
- # line 8 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
706
- begin
707
- begin
708
- top -= 1
709
- cs = stack[top]
710
- _goto_level = _again
711
- next
712
- end
713
- end
714
- when 5 then
715
- # line 149 "markup.rl"
716
- begin
717
-
718
- has_value = false
719
- pcdata = ""
720
- end
721
- # line 24 "markup.rl"
722
- begin
723
-
724
- identifier_begin = p
725
- end
726
- when 14 then
727
- # line 154 "markup.rl"
728
- begin
729
-
730
- has_value = true
731
- end
732
- # line 162 "markup.rl"
733
- begin
734
-
735
- if has_value
736
- pcdata = MarkupString.raw(pcdata) unless has_entities
737
- value = pcdata
738
- else
739
- value = true
740
- end
741
- delegate.attribute(data.byteslice(identifier_begin...identifier_end), value)
742
- end
743
- when 19 then
744
- # line 158 "markup.rl"
745
- begin
746
-
747
- has_value = true
748
- end
749
- # line 162 "markup.rl"
750
- begin
751
-
752
- if has_value
753
- pcdata = MarkupString.raw(pcdata) unless has_entities
754
- value = pcdata
755
- else
756
- value = true
757
- end
758
- delegate.attribute(data.byteslice(identifier_begin...identifier_end), value)
759
- end
760
- when 4 then
761
- # line 28 "markup.rl"
762
- begin
763
-
764
- identifier_end = p
765
- end
766
- # line 136 "markup.rl"
767
- begin
768
-
769
- self_closing = false
770
- delegate.open_tag_begin(data.byteslice(identifier_begin...identifier_end), identifier_begin)
771
- end
772
- # line 145 "markup.rl"
773
- begin
774
-
775
- self_closing = true
776
- end
777
- when 8 then
778
- # line 28 "markup.rl"
779
- begin
780
-
781
- identifier_end = p
782
- end
783
- # line 162 "markup.rl"
784
- begin
785
-
786
- if has_value
787
- pcdata = MarkupString.raw(pcdata) unless has_entities
788
- value = pcdata
789
- else
790
- value = true
791
- end
792
- delegate.attribute(data.byteslice(identifier_begin...identifier_end), value)
793
- end
794
- # line 145 "markup.rl"
795
- begin
796
-
797
- self_closing = true
798
- end
799
- when 32 then
800
- # line 40 "markup.rl"
801
- begin
802
-
803
- end
804
- # line 32 "markup.rl"
805
- begin
806
-
807
- pcdata = ""
808
- has_entities = false
809
- end
810
- # line 49 "markup.rl"
811
- begin
812
-
813
- characters_begin = p
814
- end
815
- when 33 then
816
- # line 40 "markup.rl"
817
- begin
818
-
819
- end
820
- # line 32 "markup.rl"
821
- begin
822
-
823
- pcdata = ""
824
- has_entities = false
825
- end
826
- # line 10 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
827
- begin
828
- begin
829
- stack[top] = cs
830
- top+= 1
831
- cs = 42
832
- _goto_level = _again
833
- next
834
- end
835
- end
836
- when 15 then
837
- # line 154 "markup.rl"
838
- begin
839
-
840
- has_value = true
841
- end
842
- # line 162 "markup.rl"
843
- begin
844
-
845
- if has_value
846
- pcdata = MarkupString.raw(pcdata) unless has_entities
847
- value = pcdata
848
- else
849
- value = true
850
- end
851
- delegate.attribute(data.byteslice(identifier_begin...identifier_end), value)
852
- end
853
- # line 145 "markup.rl"
854
- begin
855
-
856
- self_closing = true
857
- end
858
- when 20 then
859
- # line 158 "markup.rl"
860
- begin
861
-
862
- has_value = true
863
- end
864
- # line 162 "markup.rl"
865
- begin
866
-
867
- if has_value
868
- pcdata = MarkupString.raw(pcdata) unless has_entities
869
- value = pcdata
870
- else
871
- value = true
872
- end
873
- delegate.attribute(data.byteslice(identifier_begin...identifier_end), value)
874
- end
875
- # line 145 "markup.rl"
876
- begin
877
-
878
- self_closing = true
879
- end
880
- when 48 then
881
- # line 94 "markup.rl"
882
- begin
883
-
884
- doctype_end = p
885
- delegate.doctype(data.byteslice(doctype_begin...doctype_end))
886
- end
887
- # line 40 "markup.rl"
888
- begin
889
-
890
- end
891
- # line 32 "markup.rl"
892
- begin
893
-
894
- pcdata = ""
895
- has_entities = false
896
- end
897
- # line 49 "markup.rl"
898
- begin
899
-
900
- characters_begin = p
901
- end
902
- when 49 then
903
- # line 94 "markup.rl"
904
- begin
905
-
906
- doctype_end = p
907
- delegate.doctype(data.byteslice(doctype_begin...doctype_end))
908
- end
909
- # line 40 "markup.rl"
910
- begin
911
-
912
- end
913
- # line 32 "markup.rl"
914
- begin
915
-
916
- pcdata = ""
917
- has_entities = false
918
- end
919
- # line 10 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
920
- begin
921
- begin
922
- stack[top] = cs
923
- top+= 1
924
- cs = 42
925
- _goto_level = _again
926
- next
927
- end
928
- end
929
- when 44 then
930
- # line 108 "markup.rl"
931
- begin
932
-
933
- comment_end = p
934
- delegate.comment(data.byteslice(comment_begin...comment_end))
935
- end
936
- # line 40 "markup.rl"
937
- begin
938
-
939
- end
940
- # line 32 "markup.rl"
941
- begin
942
-
943
- pcdata = ""
944
- has_entities = false
945
- end
946
- # line 49 "markup.rl"
947
- begin
948
-
949
- characters_begin = p
950
- end
951
- when 45 then
952
- # line 108 "markup.rl"
953
- begin
954
-
955
- comment_end = p
956
- delegate.comment(data.byteslice(comment_begin...comment_end))
957
- end
958
- # line 40 "markup.rl"
959
- begin
960
-
961
- end
962
- # line 32 "markup.rl"
963
- begin
964
-
965
- pcdata = ""
966
- has_entities = false
967
- end
968
- # line 10 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
969
- begin
970
- begin
971
- stack[top] = cs
972
- top+= 1
973
- cs = 42
974
- _goto_level = _again
975
- next
976
- end
977
- end
978
- when 60 then
979
- # line 128 "markup.rl"
980
- begin
981
-
982
- delegate.instruction(data.byteslice(instruction_begin, p-instruction_begin))
983
- end
984
- # line 40 "markup.rl"
985
- begin
986
-
987
- end
988
- # line 32 "markup.rl"
989
- begin
990
-
991
- pcdata = ""
992
- has_entities = false
993
- end
994
- # line 49 "markup.rl"
995
- begin
996
-
997
- characters_begin = p
998
- end
999
- when 61 then
1000
- # line 128 "markup.rl"
1001
- begin
1002
-
1003
- delegate.instruction(data.byteslice(instruction_begin, p-instruction_begin))
1004
- end
1005
- # line 40 "markup.rl"
1006
- begin
1007
-
1008
- end
1009
- # line 32 "markup.rl"
1010
- begin
1011
-
1012
- pcdata = ""
1013
- has_entities = false
1014
- end
1015
- # line 10 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
1016
- begin
1017
- begin
1018
- stack[top] = cs
1019
- top+= 1
1020
- cs = 42
1021
- _goto_level = _again
1022
- next
1023
- end
1024
- end
1025
- when 40 then
1026
- # line 174 "markup.rl"
1027
- begin
1028
-
1029
- delegate.open_tag_end(self_closing)
1030
- end
1031
- # line 40 "markup.rl"
1032
- begin
1033
-
1034
- end
1035
- # line 32 "markup.rl"
1036
- begin
1037
-
1038
- pcdata = ""
1039
- has_entities = false
1040
- end
1041
- # line 49 "markup.rl"
1042
- begin
1043
-
1044
- characters_begin = p
1045
- end
1046
- when 41 then
1047
- # line 174 "markup.rl"
1048
- begin
1049
-
1050
- delegate.open_tag_end(self_closing)
1051
- end
1052
- # line 40 "markup.rl"
1053
- begin
1054
-
1055
- end
1056
- # line 32 "markup.rl"
1057
- begin
1058
-
1059
- pcdata = ""
1060
- has_entities = false
1061
- end
1062
- # line 10 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
1063
- begin
1064
- begin
1065
- stack[top] = cs
1066
- top+= 1
1067
- cs = 42
1068
- _goto_level = _again
1069
- next
1070
- end
1071
- end
1072
- when 56 then
1073
- # line 181 "markup.rl"
1074
- begin
1075
-
1076
- delegate.close_tag(data.byteslice(identifier_begin...identifier_end), identifier_begin)
1077
- end
1078
- # line 40 "markup.rl"
1079
- begin
1080
-
1081
- end
1082
- # line 32 "markup.rl"
1083
- begin
1084
-
1085
- pcdata = ""
1086
- has_entities = false
1087
- end
1088
- # line 49 "markup.rl"
1089
- begin
1090
-
1091
- characters_begin = p
1092
- end
1093
- when 57 then
1094
- # line 181 "markup.rl"
1095
- begin
1096
-
1097
- delegate.close_tag(data.byteslice(identifier_begin...identifier_end), identifier_begin)
1098
- end
1099
- # line 40 "markup.rl"
1100
- begin
1101
-
1102
- end
1103
- # line 32 "markup.rl"
1104
- begin
1105
-
1106
- pcdata = ""
1107
- has_entities = false
1108
- end
1109
- # line 10 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
1110
- begin
1111
- begin
1112
- stack[top] = cs
1113
- top+= 1
1114
- cs = 42
1115
- _goto_level = _again
1116
- next
1117
- end
1118
- end
1119
- when 52 then
1120
- # line 193 "markup.rl"
1121
- begin
1122
-
1123
- cdata_end = p
1124
- delegate.cdata(data.byteslice(cdata_begin...cdata_end))
1125
- end
1126
- # line 40 "markup.rl"
1127
- begin
1128
-
1129
- end
1130
- # line 32 "markup.rl"
1131
- begin
1132
-
1133
- pcdata = ""
1134
- has_entities = false
1135
- end
1136
- # line 49 "markup.rl"
1137
- begin
1138
-
1139
- characters_begin = p
1140
- end
1141
- when 53 then
1142
- # line 193 "markup.rl"
1143
- begin
1144
-
1145
- cdata_end = p
1146
- delegate.cdata(data.byteslice(cdata_begin...cdata_end))
1147
- end
1148
- # line 40 "markup.rl"
1149
- begin
1150
-
1151
- end
1152
- # line 32 "markup.rl"
1153
- begin
1154
-
1155
- pcdata = ""
1156
- has_entities = false
1157
- end
1158
- # line 10 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
1159
- begin
1160
- begin
1161
- stack[top] = cs
1162
- top+= 1
1163
- cs = 42
1164
- _goto_level = _again
1165
- next
1166
- end
1167
- end
1168
- when 34 then
1169
- # line 142 "markup.rl"
1170
- begin
1171
-
1172
- end
1173
- # line 178 "markup.rl"
1174
- begin
1175
-
1176
- end
1177
- # line 118 "markup.rl"
1178
- begin
1179
-
1180
- instruction_begin = p
1181
- end
1182
- # line 104 "markup.rl"
1183
- begin
1184
-
1185
- comment_begin = p
1186
- end
1187
- # line 90 "markup.rl"
1188
- begin
1189
-
1190
- doctype_begin = p
1191
- end
1192
- # line 189 "markup.rl"
1193
- begin
1194
-
1195
- cdata_begin = p
1196
- end
1197
- when 50 then
1198
- # line 94 "markup.rl"
1199
- begin
1200
-
1201
- doctype_end = p
1202
- delegate.doctype(data.byteslice(doctype_begin...doctype_end))
1203
- end
1204
- # line 142 "markup.rl"
1205
- begin
1206
-
1207
- end
1208
- # line 178 "markup.rl"
1209
- begin
1210
-
1211
- end
1212
- # line 118 "markup.rl"
1213
- begin
1214
-
1215
- instruction_begin = p
1216
- end
1217
- # line 104 "markup.rl"
1218
- begin
1219
-
1220
- comment_begin = p
1221
- end
1222
- # line 90 "markup.rl"
1223
- begin
1224
-
1225
- doctype_begin = p
1226
- end
1227
- # line 189 "markup.rl"
1228
- begin
1229
-
1230
- cdata_begin = p
1231
- end
1232
- when 46 then
1233
- # line 108 "markup.rl"
1234
- begin
1235
-
1236
- comment_end = p
1237
- delegate.comment(data.byteslice(comment_begin...comment_end))
1238
- end
1239
- # line 142 "markup.rl"
1240
- begin
1241
-
1242
- end
1243
- # line 178 "markup.rl"
1244
- begin
1245
-
1246
- end
1247
- # line 118 "markup.rl"
1248
- begin
1249
-
1250
- instruction_begin = p
1251
- end
1252
- # line 104 "markup.rl"
1253
- begin
1254
-
1255
- comment_begin = p
1256
- end
1257
- # line 90 "markup.rl"
1258
- begin
1259
-
1260
- doctype_begin = p
1261
- end
1262
- # line 189 "markup.rl"
1263
- begin
1264
-
1265
- cdata_begin = p
1266
- end
1267
- when 62 then
1268
- # line 128 "markup.rl"
1269
- begin
1270
-
1271
- delegate.instruction(data.byteslice(instruction_begin, p-instruction_begin))
1272
- end
1273
- # line 142 "markup.rl"
1274
- begin
1275
-
1276
- end
1277
- # line 178 "markup.rl"
1278
- begin
1279
-
1280
- end
1281
- # line 118 "markup.rl"
1282
- begin
1283
-
1284
- instruction_begin = p
1285
- end
1286
- # line 104 "markup.rl"
1287
- begin
1288
-
1289
- comment_begin = p
1290
- end
1291
- # line 90 "markup.rl"
1292
- begin
1293
-
1294
- doctype_begin = p
1295
- end
1296
- # line 189 "markup.rl"
1297
- begin
1298
-
1299
- cdata_begin = p
1300
- end
1301
- when 42 then
1302
- # line 174 "markup.rl"
1303
- begin
1304
-
1305
- delegate.open_tag_end(self_closing)
1306
- end
1307
- # line 142 "markup.rl"
1308
- begin
1309
-
1310
- end
1311
- # line 178 "markup.rl"
1312
- begin
1313
-
1314
- end
1315
- # line 118 "markup.rl"
1316
- begin
1317
-
1318
- instruction_begin = p
1319
- end
1320
- # line 104 "markup.rl"
1321
- begin
1322
-
1323
- comment_begin = p
1324
- end
1325
- # line 90 "markup.rl"
1326
- begin
1327
-
1328
- doctype_begin = p
1329
- end
1330
- # line 189 "markup.rl"
1331
- begin
1332
-
1333
- cdata_begin = p
1334
- end
1335
- when 58 then
1336
- # line 181 "markup.rl"
1337
- begin
1338
-
1339
- delegate.close_tag(data.byteslice(identifier_begin...identifier_end), identifier_begin)
1340
- end
1341
- # line 142 "markup.rl"
1342
- begin
1343
-
1344
- end
1345
- # line 178 "markup.rl"
1346
- begin
1347
-
1348
- end
1349
- # line 118 "markup.rl"
1350
- begin
1351
-
1352
- instruction_begin = p
1353
- end
1354
- # line 104 "markup.rl"
1355
- begin
1356
-
1357
- comment_begin = p
1358
- end
1359
- # line 90 "markup.rl"
1360
- begin
1361
-
1362
- doctype_begin = p
1363
- end
1364
- # line 189 "markup.rl"
1365
- begin
1366
-
1367
- cdata_begin = p
1368
- end
1369
- when 54 then
1370
- # line 193 "markup.rl"
1371
- begin
1372
-
1373
- cdata_end = p
1374
- delegate.cdata(data.byteslice(cdata_begin...cdata_end))
1375
- end
1376
- # line 142 "markup.rl"
1377
- begin
1378
-
1379
- end
1380
- # line 178 "markup.rl"
1381
- begin
1382
-
1383
- end
1384
- # line 118 "markup.rl"
1385
- begin
1386
-
1387
- instruction_begin = p
1388
- end
1389
- # line 104 "markup.rl"
1390
- begin
1391
-
1392
- comment_begin = p
1393
- end
1394
- # line 90 "markup.rl"
1395
- begin
1396
-
1397
- doctype_begin = p
1398
- end
1399
- # line 189 "markup.rl"
1400
- begin
1401
-
1402
- cdata_begin = p
1403
- end
1404
- when 38 then
1405
- # line 37 "markup.rl"
1406
- begin
1407
-
1408
- end
1409
- # line 43 "markup.rl"
1410
- begin
1411
-
1412
- pcdata = MarkupString.raw(pcdata) unless has_entities
1413
- delegate.text(pcdata)
1414
- end
1415
- # line 142 "markup.rl"
1416
- begin
1417
-
1418
- end
1419
- # line 178 "markup.rl"
1420
- begin
1421
-
1422
- end
1423
- # line 118 "markup.rl"
1424
- begin
1425
-
1426
- instruction_begin = p
1427
- end
1428
- # line 104 "markup.rl"
1429
- begin
1430
-
1431
- comment_begin = p
1432
- end
1433
- # line 90 "markup.rl"
1434
- begin
1435
-
1436
- doctype_begin = p
1437
- end
1438
- # line 189 "markup.rl"
1439
- begin
1440
-
1441
- cdata_begin = p
1442
- end
1443
- when 36 then
1444
- # line 53 "markup.rl"
1445
- begin
1446
-
1447
- characters_end = p
1448
- pcdata << data.byteslice(characters_begin...characters_end)
1449
- end
1450
- # line 37 "markup.rl"
1451
- begin
1452
-
1453
- end
1454
- # line 43 "markup.rl"
1455
- begin
1456
-
1457
- pcdata = MarkupString.raw(pcdata) unless has_entities
1458
- delegate.text(pcdata)
1459
- end
1460
- # line 142 "markup.rl"
1461
- begin
1462
-
1463
- end
1464
- # line 178 "markup.rl"
1465
- begin
1466
-
1467
- end
1468
- # line 118 "markup.rl"
1469
- begin
1470
-
1471
- instruction_begin = p
1472
- end
1473
- # line 104 "markup.rl"
1474
- begin
1475
-
1476
- comment_begin = p
1477
- end
1478
- # line 90 "markup.rl"
1479
- begin
1480
-
1481
- doctype_begin = p
1482
- end
1483
- # line 189 "markup.rl"
1484
- begin
1485
-
1486
- cdata_begin = p
1487
- end
1488
- # line 1528 "markup.rb"
1489
- end
1490
- end
1491
- end
1492
- if _goto_level <= _again
1493
- if cs == 0
1494
- _goto_level = _out
1495
- next
1496
- end
1497
- p += 1
1498
- if p != pe
1499
- _goto_level = _resume
1500
- next
1501
- end
1502
- end
1503
- if _goto_level <= _test_eof
1504
- if p == eof
1505
- case _markup_eof_actions[cs]
1506
- when 27 then
1507
- # line 59 "markup.rl"
1508
- begin
1509
-
1510
- raise ParseError.new("could not parse entity", buffer, p)
1511
- end
1512
- when 47 then
1513
- # line 94 "markup.rl"
1514
- begin
1515
-
1516
- doctype_end = p
1517
- delegate.doctype(data.byteslice(doctype_begin...doctype_end))
1518
- end
1519
- when 22 then
1520
- # line 100 "markup.rl"
1521
- begin
1522
-
1523
- raise ParseError.new("could not parse doctype", buffer, p)
1524
- end
1525
- when 43 then
1526
- # line 108 "markup.rl"
1527
- begin
1528
-
1529
- comment_end = p
1530
- delegate.comment(data.byteslice(comment_begin...comment_end))
1531
- end
1532
- when 21 then
1533
- # line 114 "markup.rl"
1534
- begin
1535
-
1536
- raise ParseError.new("could not parse comment", buffer, p)
1537
- end
1538
- when 59 then
1539
- # line 128 "markup.rl"
1540
- begin
1541
-
1542
- delegate.instruction(data.byteslice(instruction_begin, p-instruction_begin))
1543
- end
1544
- when 24 then
1545
- # line 132 "markup.rl"
1546
- begin
1547
-
1548
- raise ParseError.new("could not parse instruction", buffer, p)
1549
- end
1550
- when 39 then
1551
- # line 174 "markup.rl"
1552
- begin
1553
-
1554
- delegate.open_tag_end(self_closing)
1555
- end
1556
- when 55 then
1557
- # line 181 "markup.rl"
1558
- begin
1559
-
1560
- delegate.close_tag(data.byteslice(identifier_begin...identifier_end), identifier_begin)
1561
- end
1562
- when 1 then
1563
- # line 185 "markup.rl"
1564
- begin
1565
-
1566
- raise ParseError.new("could not parse tag", buffer, p)
1567
- end
1568
- when 51 then
1569
- # line 193 "markup.rl"
1570
- begin
1571
-
1572
- cdata_end = p
1573
- delegate.cdata(data.byteslice(cdata_begin...cdata_end))
1574
- end
1575
- when 23 then
1576
- # line 199 "markup.rl"
1577
- begin
1578
-
1579
- raise ParseError.new("could not parse cdata", buffer, p)
1580
- end
1581
- when 37 then
1582
- # line 37 "markup.rl"
1583
- begin
1584
-
1585
- end
1586
- # line 43 "markup.rl"
1587
- begin
1588
-
1589
- pcdata = MarkupString.raw(pcdata) unless has_entities
1590
- delegate.text(pcdata)
1591
- end
1592
- when 35 then
1593
- # line 53 "markup.rl"
1594
- begin
1595
-
1596
- characters_end = p
1597
- pcdata << data.byteslice(characters_begin...characters_end)
1598
- end
1599
- # line 37 "markup.rl"
1600
- begin
1601
-
1602
- end
1603
- # line 43 "markup.rl"
1604
- begin
1605
-
1606
- pcdata = MarkupString.raw(pcdata) unless has_entities
1607
- delegate.text(pcdata)
1608
- end
1609
- # line 1655 "markup.rb"
1610
- end
1611
- end
1612
-
1613
- end
1614
- if _goto_level <= _out
1615
- break
1616
- end
456
+
457
+
458
+ # line 459 "markup.rb"
459
+ begin
460
+ p ||= 0
461
+ pe ||= data.length
462
+ cs = markup_start
463
+ top = 0
464
+ end
465
+
466
+ # line 236 "markup.rl"
467
+
468
+ # line 469 "markup.rb"
469
+ begin
470
+ testEof = false
471
+ _slen, _trans, _keys, _inds, _acts, _nacts = nil
472
+ _goto_level = 0
473
+ _resume = 10
474
+ _eof_trans = 15
475
+ _again = 20
476
+ _test_eof = 30
477
+ _out = 40
478
+ while true
479
+ if _goto_level <= 0
480
+ if p == pe
481
+ _goto_level = _test_eof
482
+ next
483
+ end
484
+ if cs == 0
485
+ _goto_level = _out
486
+ next
487
+ end
488
+ end
489
+ if _goto_level <= _resume
490
+ _keys = cs << 1
491
+ _inds = _markup_index_offsets[cs]
492
+ _slen = _markup_key_spans[cs]
493
+ _wide = ( bytes[p])
494
+ _trans = if ( _slen > 0 &&
495
+ _markup_trans_keys[_keys] <= _wide &&
496
+ _wide <= _markup_trans_keys[_keys + 1]
497
+ ) then
498
+ _markup_indicies[ _inds + _wide - _markup_trans_keys[_keys] ]
499
+ else
500
+ _markup_indicies[ _inds + _slen ]
501
+ end
502
+ cs = _markup_trans_targs[_trans]
503
+ if _markup_trans_actions[_trans] != 0
504
+ case _markup_trans_actions[_trans]
505
+ when 2 then
506
+ # line 24 "markup.rl"
507
+ begin
508
+
509
+ identifier_begin = p
510
+ end
511
+ when 9 then
512
+ # line 28 "markup.rl"
513
+ begin
514
+
515
+ identifier_end = p
516
+ end
517
+ when 17 then
518
+ # line 37 "markup.rl"
519
+ begin
520
+
521
+ end
522
+ when 16 then
523
+ # line 49 "markup.rl"
524
+ begin
525
+
526
+ characters_begin = p
527
+ end
528
+ when 27 then
529
+ # line 59 "markup.rl"
530
+ begin
531
+
532
+ raise ParseError.new("could not parse entity", buffer, p)
533
+ end
534
+ when 28 then
535
+ # line 63 "markup.rl"
536
+ begin
537
+
538
+ entity_begin = p
539
+ end
540
+ when 26 then
541
+ # line 125 "markup.rl"
542
+ begin
543
+
544
+ end
545
+ when 24 then
546
+ # line 132 "markup.rl"
547
+ begin
548
+
549
+ raise ParseError.new("could not parse instruction", buffer, p)
550
+ end
551
+ when 6 then
552
+ # line 145 "markup.rl"
553
+ begin
554
+
555
+ self_closing = true
556
+ end
557
+ when 1 then
558
+ # line 185 "markup.rl"
559
+ begin
560
+
561
+ raise ParseError.new("could not parse tag", buffer, p)
562
+ end
563
+ when 18 then
564
+ # line 10 "/home/samuel/Documents/ioquatix/trenni/parsers/trenni/entities.rl"
565
+ begin
566
+ begin
567
+ stack[top] = cs
568
+ top+= 1
569
+ cs = 42
570
+ _goto_level = _again
571
+ next
572
+ end
573
+ end
574
+ when 25 then
575
+ # line 28 "markup.rl"
576
+ begin
577
+
578
+ identifier_end = p
579
+ end
580
+ # line 122 "markup.rl"
581
+ begin
582
+
583
+ end
584
+ when 3 then
585
+ # line 28 "markup.rl"
586
+ begin
587
+
588
+ identifier_end = p
589
+ end
590
+ # line 136 "markup.rl"
591
+ begin
592
+
593
+ self_closing = false
594
+
595
+ delegate.open_tag_begin(data.byteslice(identifier_begin...identifier_end), identifier_begin)
596
+ end
597
+ when 7 then
598
+ # line 28 "markup.rl"
599
+ begin
600
+
601
+ identifier_end = p
602
+ end
603
+ # line 162 "markup.rl"
604
+ begin
605
+
606
+ if has_value
607
+ pcdata = MarkupString.raw(pcdata) unless has_entities
608
+
609
+ value = pcdata
610
+ else
611
+ value = true
612
+ end
613
+
614
+ delegate.attribute(data.byteslice(identifier_begin...identifier_end), value)
615
+ end
616
+ when 10 then
617
+ # line 32 "markup.rl"
618
+ begin
619
+
620
+ pcdata = ""
621
+ has_entities = false
622
+ end
623
+ # line 49 "markup.rl"
624
+ begin
625
+
626
+ characters_begin = p
627
+ end
628
+ when 11 then
629
+ # line 32 "markup.rl"
630
+ begin
631
+
632
+ pcdata = ""
633
+ has_entities = false
634
+ end
635
+ # line 10 "/home/samuel/Documents/ioquatix/trenni/parsers/trenni/entities.rl"
636
+ begin
637
+ begin
638
+ stack[top] = cs
639
+ top+= 1
640
+ cs = 42
641
+ _goto_level = _again
642
+ next
643
+ end
644
+ end
645
+ when 12 then
646
+ # line 53 "markup.rl"
647
+ begin
648
+
649
+ characters_end = p
650
+
651
+ pcdata << data.byteslice(characters_begin...characters_end)
652
+ end
653
+ # line 37 "markup.rl"
654
+ begin
655
+
656
+ end
657
+ when 13 then
658
+ # line 53 "markup.rl"
659
+ begin
660
+
661
+ characters_end = p
662
+
663
+ pcdata << data.byteslice(characters_begin...characters_end)
664
+ end
665
+ # line 10 "/home/samuel/Documents/ioquatix/trenni/parsers/trenni/entities.rl"
666
+ begin
667
+ begin
668
+ stack[top] = cs
669
+ top+= 1
670
+ cs = 42
671
+ _goto_level = _again
672
+ next
673
+ end
674
+ end
675
+ when 31 then
676
+ # line 67 "markup.rl"
677
+ begin
678
+
679
+ entity_end = p
680
+
681
+ name = data.byteslice(entity_begin...entity_end)
682
+
683
+ has_entities = true
684
+ pcdata << entities[name]
685
+ end
686
+ # line 8 "/home/samuel/Documents/ioquatix/trenni/parsers/trenni/entities.rl"
687
+ begin
688
+ begin
689
+ top -= 1
690
+ cs = stack[top]
691
+ _goto_level = _again
692
+ next
693
+ end
694
+ end
695
+ when 30 then
696
+ # line 76 "markup.rl"
697
+ begin
698
+
699
+ entity_end = p
700
+
701
+ has_entities = true
702
+ pcdata << data.byteslice(entity_begin...entity_end).to_i(16)
703
+ end
704
+ # line 8 "/home/samuel/Documents/ioquatix/trenni/parsers/trenni/entities.rl"
705
+ begin
706
+ begin
707
+ top -= 1
708
+ cs = stack[top]
709
+ _goto_level = _again
710
+ next
711
+ end
712
+ end
713
+ when 29 then
714
+ # line 83 "markup.rl"
715
+ begin
716
+
717
+ entity_end = p
718
+
719
+ has_entities = true
720
+ pcdata << data.byteslice(entity_begin...entity_end).to_i(10)
721
+ end
722
+ # line 8 "/home/samuel/Documents/ioquatix/trenni/parsers/trenni/entities.rl"
723
+ begin
724
+ begin
725
+ top -= 1
726
+ cs = stack[top]
727
+ _goto_level = _again
728
+ next
729
+ end
730
+ end
731
+ when 5 then
732
+ # line 149 "markup.rl"
733
+ begin
734
+
735
+ has_value = false
736
+ pcdata = ""
737
+ end
738
+ # line 24 "markup.rl"
739
+ begin
740
+
741
+ identifier_begin = p
742
+ end
743
+ when 14 then
744
+ # line 154 "markup.rl"
745
+ begin
746
+
747
+ has_value = true
748
+ end
749
+ # line 162 "markup.rl"
750
+ begin
751
+
752
+ if has_value
753
+ pcdata = MarkupString.raw(pcdata) unless has_entities
754
+
755
+ value = pcdata
756
+ else
757
+ value = true
758
+ end
759
+
760
+ delegate.attribute(data.byteslice(identifier_begin...identifier_end), value)
761
+ end
762
+ when 19 then
763
+ # line 158 "markup.rl"
764
+ begin
765
+
766
+ has_value = true
767
+ end
768
+ # line 162 "markup.rl"
769
+ begin
770
+
771
+ if has_value
772
+ pcdata = MarkupString.raw(pcdata) unless has_entities
773
+
774
+ value = pcdata
775
+ else
776
+ value = true
777
+ end
778
+
779
+ delegate.attribute(data.byteslice(identifier_begin...identifier_end), value)
780
+ end
781
+ when 4 then
782
+ # line 28 "markup.rl"
783
+ begin
784
+
785
+ identifier_end = p
786
+ end
787
+ # line 136 "markup.rl"
788
+ begin
789
+
790
+ self_closing = false
791
+
792
+ delegate.open_tag_begin(data.byteslice(identifier_begin...identifier_end), identifier_begin)
793
+ end
794
+ # line 145 "markup.rl"
795
+ begin
796
+
797
+ self_closing = true
798
+ end
799
+ when 8 then
800
+ # line 28 "markup.rl"
801
+ begin
802
+
803
+ identifier_end = p
804
+ end
805
+ # line 162 "markup.rl"
806
+ begin
807
+
808
+ if has_value
809
+ pcdata = MarkupString.raw(pcdata) unless has_entities
810
+
811
+ value = pcdata
812
+ else
813
+ value = true
814
+ end
815
+
816
+ delegate.attribute(data.byteslice(identifier_begin...identifier_end), value)
817
+ end
818
+ # line 145 "markup.rl"
819
+ begin
820
+
821
+ self_closing = true
822
+ end
823
+ when 32 then
824
+ # line 40 "markup.rl"
825
+ begin
826
+
827
+ end
828
+ # line 32 "markup.rl"
829
+ begin
830
+
831
+ pcdata = ""
832
+ has_entities = false
833
+ end
834
+ # line 49 "markup.rl"
835
+ begin
836
+
837
+ characters_begin = p
838
+ end
839
+ when 33 then
840
+ # line 40 "markup.rl"
841
+ begin
842
+
843
+ end
844
+ # line 32 "markup.rl"
845
+ begin
846
+
847
+ pcdata = ""
848
+ has_entities = false
849
+ end
850
+ # line 10 "/home/samuel/Documents/ioquatix/trenni/parsers/trenni/entities.rl"
851
+ begin
852
+ begin
853
+ stack[top] = cs
854
+ top+= 1
855
+ cs = 42
856
+ _goto_level = _again
857
+ next
858
+ end
859
+ end
860
+ when 15 then
861
+ # line 154 "markup.rl"
862
+ begin
863
+
864
+ has_value = true
865
+ end
866
+ # line 162 "markup.rl"
867
+ begin
868
+
869
+ if has_value
870
+ pcdata = MarkupString.raw(pcdata) unless has_entities
871
+
872
+ value = pcdata
873
+ else
874
+ value = true
875
+ end
876
+
877
+ delegate.attribute(data.byteslice(identifier_begin...identifier_end), value)
878
+ end
879
+ # line 145 "markup.rl"
880
+ begin
881
+
882
+ self_closing = true
883
+ end
884
+ when 20 then
885
+ # line 158 "markup.rl"
886
+ begin
887
+
888
+ has_value = true
889
+ end
890
+ # line 162 "markup.rl"
891
+ begin
892
+
893
+ if has_value
894
+ pcdata = MarkupString.raw(pcdata) unless has_entities
895
+
896
+ value = pcdata
897
+ else
898
+ value = true
899
+ end
900
+
901
+ delegate.attribute(data.byteslice(identifier_begin...identifier_end), value)
902
+ end
903
+ # line 145 "markup.rl"
904
+ begin
905
+
906
+ self_closing = true
907
+ end
908
+ when 48 then
909
+ # line 94 "markup.rl"
910
+ begin
911
+
912
+ doctype_end = p
913
+
914
+ delegate.doctype(data.byteslice(doctype_begin...doctype_end))
915
+ end
916
+ # line 40 "markup.rl"
917
+ begin
918
+
919
+ end
920
+ # line 32 "markup.rl"
921
+ begin
922
+
923
+ pcdata = ""
924
+ has_entities = false
925
+ end
926
+ # line 49 "markup.rl"
927
+ begin
928
+
929
+ characters_begin = p
930
+ end
931
+ when 49 then
932
+ # line 94 "markup.rl"
933
+ begin
934
+
935
+ doctype_end = p
936
+
937
+ delegate.doctype(data.byteslice(doctype_begin...doctype_end))
938
+ end
939
+ # line 40 "markup.rl"
940
+ begin
941
+
942
+ end
943
+ # line 32 "markup.rl"
944
+ begin
945
+
946
+ pcdata = ""
947
+ has_entities = false
948
+ end
949
+ # line 10 "/home/samuel/Documents/ioquatix/trenni/parsers/trenni/entities.rl"
950
+ begin
951
+ begin
952
+ stack[top] = cs
953
+ top+= 1
954
+ cs = 42
955
+ _goto_level = _again
956
+ next
957
+ end
958
+ end
959
+ when 44 then
960
+ # line 108 "markup.rl"
961
+ begin
962
+
963
+ comment_end = p
964
+
965
+ delegate.comment(data.byteslice(comment_begin...comment_end))
966
+ end
967
+ # line 40 "markup.rl"
968
+ begin
969
+
970
+ end
971
+ # line 32 "markup.rl"
972
+ begin
973
+
974
+ pcdata = ""
975
+ has_entities = false
976
+ end
977
+ # line 49 "markup.rl"
978
+ begin
979
+
980
+ characters_begin = p
981
+ end
982
+ when 45 then
983
+ # line 108 "markup.rl"
984
+ begin
985
+
986
+ comment_end = p
987
+
988
+ delegate.comment(data.byteslice(comment_begin...comment_end))
989
+ end
990
+ # line 40 "markup.rl"
991
+ begin
992
+
993
+ end
994
+ # line 32 "markup.rl"
995
+ begin
996
+
997
+ pcdata = ""
998
+ has_entities = false
999
+ end
1000
+ # line 10 "/home/samuel/Documents/ioquatix/trenni/parsers/trenni/entities.rl"
1001
+ begin
1002
+ begin
1003
+ stack[top] = cs
1004
+ top+= 1
1005
+ cs = 42
1006
+ _goto_level = _again
1007
+ next
1008
+ end
1009
+ end
1010
+ when 60 then
1011
+ # line 128 "markup.rl"
1012
+ begin
1013
+
1014
+ delegate.instruction(data.byteslice(instruction_begin, p-instruction_begin))
1015
+ end
1016
+ # line 40 "markup.rl"
1017
+ begin
1018
+
1019
+ end
1020
+ # line 32 "markup.rl"
1021
+ begin
1022
+
1023
+ pcdata = ""
1024
+ has_entities = false
1025
+ end
1026
+ # line 49 "markup.rl"
1027
+ begin
1028
+
1029
+ characters_begin = p
1030
+ end
1031
+ when 61 then
1032
+ # line 128 "markup.rl"
1033
+ begin
1034
+
1035
+ delegate.instruction(data.byteslice(instruction_begin, p-instruction_begin))
1036
+ end
1037
+ # line 40 "markup.rl"
1038
+ begin
1039
+
1040
+ end
1041
+ # line 32 "markup.rl"
1042
+ begin
1043
+
1044
+ pcdata = ""
1045
+ has_entities = false
1046
+ end
1047
+ # line 10 "/home/samuel/Documents/ioquatix/trenni/parsers/trenni/entities.rl"
1048
+ begin
1049
+ begin
1050
+ stack[top] = cs
1051
+ top+= 1
1052
+ cs = 42
1053
+ _goto_level = _again
1054
+ next
1055
+ end
1056
+ end
1057
+ when 40 then
1058
+ # line 174 "markup.rl"
1059
+ begin
1060
+
1061
+ delegate.open_tag_end(self_closing)
1062
+ end
1063
+ # line 40 "markup.rl"
1064
+ begin
1065
+
1066
+ end
1067
+ # line 32 "markup.rl"
1068
+ begin
1069
+
1070
+ pcdata = ""
1071
+ has_entities = false
1072
+ end
1073
+ # line 49 "markup.rl"
1074
+ begin
1075
+
1076
+ characters_begin = p
1077
+ end
1078
+ when 41 then
1079
+ # line 174 "markup.rl"
1080
+ begin
1081
+
1082
+ delegate.open_tag_end(self_closing)
1083
+ end
1084
+ # line 40 "markup.rl"
1085
+ begin
1086
+
1087
+ end
1088
+ # line 32 "markup.rl"
1089
+ begin
1090
+
1091
+ pcdata = ""
1092
+ has_entities = false
1093
+ end
1094
+ # line 10 "/home/samuel/Documents/ioquatix/trenni/parsers/trenni/entities.rl"
1095
+ begin
1096
+ begin
1097
+ stack[top] = cs
1098
+ top+= 1
1099
+ cs = 42
1100
+ _goto_level = _again
1101
+ next
1102
+ end
1103
+ end
1104
+ when 56 then
1105
+ # line 181 "markup.rl"
1106
+ begin
1107
+
1108
+ delegate.close_tag(data.byteslice(identifier_begin...identifier_end), identifier_begin)
1109
+ end
1110
+ # line 40 "markup.rl"
1111
+ begin
1112
+
1617
1113
  end
1114
+ # line 32 "markup.rl"
1115
+ begin
1116
+
1117
+ pcdata = ""
1118
+ has_entities = false
1119
+ end
1120
+ # line 49 "markup.rl"
1121
+ begin
1122
+
1123
+ characters_begin = p
1124
+ end
1125
+ when 57 then
1126
+ # line 181 "markup.rl"
1127
+ begin
1128
+
1129
+ delegate.close_tag(data.byteslice(identifier_begin...identifier_end), identifier_begin)
1130
+ end
1131
+ # line 40 "markup.rl"
1132
+ begin
1133
+
1134
+ end
1135
+ # line 32 "markup.rl"
1136
+ begin
1137
+
1138
+ pcdata = ""
1139
+ has_entities = false
1140
+ end
1141
+ # line 10 "/home/samuel/Documents/ioquatix/trenni/parsers/trenni/entities.rl"
1142
+ begin
1143
+ begin
1144
+ stack[top] = cs
1145
+ top+= 1
1146
+ cs = 42
1147
+ _goto_level = _again
1148
+ next
1149
+ end
1618
1150
  end
1151
+ when 52 then
1152
+ # line 193 "markup.rl"
1153
+ begin
1154
+
1155
+ cdata_end = p
1156
+
1157
+ delegate.cdata(data.byteslice(cdata_begin...cdata_end))
1158
+ end
1159
+ # line 40 "markup.rl"
1160
+ begin
1619
1161
 
1620
- # line 236 "markup.rl"
1621
- if p != eof
1622
- raise ParseError.new("could not consume all input", buffer, p)
1162
+ end
1163
+ # line 32 "markup.rl"
1164
+ begin
1165
+
1166
+ pcdata = ""
1167
+ has_entities = false
1168
+ end
1169
+ # line 49 "markup.rl"
1170
+ begin
1171
+
1172
+ characters_begin = p
1173
+ end
1174
+ when 53 then
1175
+ # line 193 "markup.rl"
1176
+ begin
1177
+
1178
+ cdata_end = p
1179
+
1180
+ delegate.cdata(data.byteslice(cdata_begin...cdata_end))
1181
+ end
1182
+ # line 40 "markup.rl"
1183
+ begin
1184
+
1185
+ end
1186
+ # line 32 "markup.rl"
1187
+ begin
1188
+
1189
+ pcdata = ""
1190
+ has_entities = false
1191
+ end
1192
+ # line 10 "/home/samuel/Documents/ioquatix/trenni/parsers/trenni/entities.rl"
1193
+ begin
1194
+ begin
1195
+ stack[top] = cs
1196
+ top+= 1
1197
+ cs = 42
1198
+ _goto_level = _again
1199
+ next
1200
+ end
1623
1201
  end
1624
- return nil
1202
+ when 34 then
1203
+ # line 142 "markup.rl"
1204
+ begin
1205
+
1206
+ end
1207
+ # line 178 "markup.rl"
1208
+ begin
1209
+
1210
+ end
1211
+ # line 118 "markup.rl"
1212
+ begin
1213
+
1214
+ instruction_begin = p
1215
+ end
1216
+ # line 104 "markup.rl"
1217
+ begin
1218
+
1219
+ comment_begin = p
1220
+ end
1221
+ # line 90 "markup.rl"
1222
+ begin
1223
+
1224
+ doctype_begin = p
1225
+ end
1226
+ # line 189 "markup.rl"
1227
+ begin
1228
+
1229
+ cdata_begin = p
1230
+ end
1231
+ when 50 then
1232
+ # line 94 "markup.rl"
1233
+ begin
1234
+
1235
+ doctype_end = p
1236
+
1237
+ delegate.doctype(data.byteslice(doctype_begin...doctype_end))
1238
+ end
1239
+ # line 142 "markup.rl"
1240
+ begin
1241
+
1242
+ end
1243
+ # line 178 "markup.rl"
1244
+ begin
1245
+
1246
+ end
1247
+ # line 118 "markup.rl"
1248
+ begin
1249
+
1250
+ instruction_begin = p
1251
+ end
1252
+ # line 104 "markup.rl"
1253
+ begin
1254
+
1255
+ comment_begin = p
1256
+ end
1257
+ # line 90 "markup.rl"
1258
+ begin
1259
+
1260
+ doctype_begin = p
1261
+ end
1262
+ # line 189 "markup.rl"
1263
+ begin
1264
+
1265
+ cdata_begin = p
1266
+ end
1267
+ when 46 then
1268
+ # line 108 "markup.rl"
1269
+ begin
1270
+
1271
+ comment_end = p
1272
+
1273
+ delegate.comment(data.byteslice(comment_begin...comment_end))
1274
+ end
1275
+ # line 142 "markup.rl"
1276
+ begin
1277
+
1278
+ end
1279
+ # line 178 "markup.rl"
1280
+ begin
1281
+
1282
+ end
1283
+ # line 118 "markup.rl"
1284
+ begin
1285
+
1286
+ instruction_begin = p
1287
+ end
1288
+ # line 104 "markup.rl"
1289
+ begin
1290
+
1291
+ comment_begin = p
1292
+ end
1293
+ # line 90 "markup.rl"
1294
+ begin
1295
+
1296
+ doctype_begin = p
1297
+ end
1298
+ # line 189 "markup.rl"
1299
+ begin
1300
+
1301
+ cdata_begin = p
1302
+ end
1303
+ when 62 then
1304
+ # line 128 "markup.rl"
1305
+ begin
1306
+
1307
+ delegate.instruction(data.byteslice(instruction_begin, p-instruction_begin))
1308
+ end
1309
+ # line 142 "markup.rl"
1310
+ begin
1311
+
1312
+ end
1313
+ # line 178 "markup.rl"
1314
+ begin
1315
+
1316
+ end
1317
+ # line 118 "markup.rl"
1318
+ begin
1319
+
1320
+ instruction_begin = p
1321
+ end
1322
+ # line 104 "markup.rl"
1323
+ begin
1324
+
1325
+ comment_begin = p
1326
+ end
1327
+ # line 90 "markup.rl"
1328
+ begin
1329
+
1330
+ doctype_begin = p
1331
+ end
1332
+ # line 189 "markup.rl"
1333
+ begin
1334
+
1335
+ cdata_begin = p
1336
+ end
1337
+ when 42 then
1338
+ # line 174 "markup.rl"
1339
+ begin
1340
+
1341
+ delegate.open_tag_end(self_closing)
1342
+ end
1343
+ # line 142 "markup.rl"
1344
+ begin
1345
+
1346
+ end
1347
+ # line 178 "markup.rl"
1348
+ begin
1349
+
1350
+ end
1351
+ # line 118 "markup.rl"
1352
+ begin
1353
+
1354
+ instruction_begin = p
1355
+ end
1356
+ # line 104 "markup.rl"
1357
+ begin
1358
+
1359
+ comment_begin = p
1360
+ end
1361
+ # line 90 "markup.rl"
1362
+ begin
1363
+
1364
+ doctype_begin = p
1365
+ end
1366
+ # line 189 "markup.rl"
1367
+ begin
1368
+
1369
+ cdata_begin = p
1370
+ end
1371
+ when 58 then
1372
+ # line 181 "markup.rl"
1373
+ begin
1374
+
1375
+ delegate.close_tag(data.byteslice(identifier_begin...identifier_end), identifier_begin)
1376
+ end
1377
+ # line 142 "markup.rl"
1378
+ begin
1379
+
1380
+ end
1381
+ # line 178 "markup.rl"
1382
+ begin
1383
+
1384
+ end
1385
+ # line 118 "markup.rl"
1386
+ begin
1387
+
1388
+ instruction_begin = p
1389
+ end
1390
+ # line 104 "markup.rl"
1391
+ begin
1392
+
1393
+ comment_begin = p
1394
+ end
1395
+ # line 90 "markup.rl"
1396
+ begin
1397
+
1398
+ doctype_begin = p
1399
+ end
1400
+ # line 189 "markup.rl"
1401
+ begin
1402
+
1403
+ cdata_begin = p
1404
+ end
1405
+ when 54 then
1406
+ # line 193 "markup.rl"
1407
+ begin
1408
+
1409
+ cdata_end = p
1410
+
1411
+ delegate.cdata(data.byteslice(cdata_begin...cdata_end))
1412
+ end
1413
+ # line 142 "markup.rl"
1414
+ begin
1415
+
1416
+ end
1417
+ # line 178 "markup.rl"
1418
+ begin
1419
+
1420
+ end
1421
+ # line 118 "markup.rl"
1422
+ begin
1423
+
1424
+ instruction_begin = p
1425
+ end
1426
+ # line 104 "markup.rl"
1427
+ begin
1428
+
1429
+ comment_begin = p
1430
+ end
1431
+ # line 90 "markup.rl"
1432
+ begin
1433
+
1434
+ doctype_begin = p
1435
+ end
1436
+ # line 189 "markup.rl"
1437
+ begin
1438
+
1439
+ cdata_begin = p
1440
+ end
1441
+ when 38 then
1442
+ # line 37 "markup.rl"
1443
+ begin
1444
+
1445
+ end
1446
+ # line 43 "markup.rl"
1447
+ begin
1448
+
1449
+ pcdata = MarkupString.raw(pcdata) unless has_entities
1450
+
1451
+ delegate.text(pcdata)
1452
+ end
1453
+ # line 142 "markup.rl"
1454
+ begin
1455
+
1456
+ end
1457
+ # line 178 "markup.rl"
1458
+ begin
1459
+
1460
+ end
1461
+ # line 118 "markup.rl"
1462
+ begin
1463
+
1464
+ instruction_begin = p
1465
+ end
1466
+ # line 104 "markup.rl"
1467
+ begin
1468
+
1469
+ comment_begin = p
1470
+ end
1471
+ # line 90 "markup.rl"
1472
+ begin
1473
+
1474
+ doctype_begin = p
1475
+ end
1476
+ # line 189 "markup.rl"
1477
+ begin
1478
+
1479
+ cdata_begin = p
1480
+ end
1481
+ when 36 then
1482
+ # line 53 "markup.rl"
1483
+ begin
1484
+
1485
+ characters_end = p
1486
+
1487
+ pcdata << data.byteslice(characters_begin...characters_end)
1488
+ end
1489
+ # line 37 "markup.rl"
1490
+ begin
1491
+
1492
+ end
1493
+ # line 43 "markup.rl"
1494
+ begin
1495
+
1496
+ pcdata = MarkupString.raw(pcdata) unless has_entities
1497
+
1498
+ delegate.text(pcdata)
1499
+ end
1500
+ # line 142 "markup.rl"
1501
+ begin
1502
+
1503
+ end
1504
+ # line 178 "markup.rl"
1505
+ begin
1506
+
1507
+ end
1508
+ # line 118 "markup.rl"
1509
+ begin
1510
+
1511
+ instruction_begin = p
1512
+ end
1513
+ # line 104 "markup.rl"
1514
+ begin
1515
+
1516
+ comment_begin = p
1517
+ end
1518
+ # line 90 "markup.rl"
1519
+ begin
1520
+
1521
+ doctype_begin = p
1522
+ end
1523
+ # line 189 "markup.rl"
1524
+ begin
1525
+
1526
+ cdata_begin = p
1527
+ end
1528
+ # line 1529 "markup.rb"
1529
+ end
1530
+ end
1531
+ end
1532
+ if _goto_level <= _again
1533
+ if cs == 0
1534
+ _goto_level = _out
1535
+ next
1536
+ end
1537
+ p += 1
1538
+ if p != pe
1539
+ _goto_level = _resume
1540
+ next
1541
+ end
1542
+ end
1543
+ if _goto_level <= _test_eof
1544
+ if p == eof
1545
+ case _markup_eof_actions[cs]
1546
+ when 27 then
1547
+ # line 59 "markup.rl"
1548
+ begin
1549
+
1550
+ raise ParseError.new("could not parse entity", buffer, p)
1551
+ end
1552
+ when 47 then
1553
+ # line 94 "markup.rl"
1554
+ begin
1555
+
1556
+ doctype_end = p
1557
+
1558
+ delegate.doctype(data.byteslice(doctype_begin...doctype_end))
1559
+ end
1560
+ when 22 then
1561
+ # line 100 "markup.rl"
1562
+ begin
1563
+
1564
+ raise ParseError.new("could not parse doctype", buffer, p)
1565
+ end
1566
+ when 43 then
1567
+ # line 108 "markup.rl"
1568
+ begin
1569
+
1570
+ comment_end = p
1571
+
1572
+ delegate.comment(data.byteslice(comment_begin...comment_end))
1573
+ end
1574
+ when 21 then
1575
+ # line 114 "markup.rl"
1576
+ begin
1577
+
1578
+ raise ParseError.new("could not parse comment", buffer, p)
1579
+ end
1580
+ when 59 then
1581
+ # line 128 "markup.rl"
1582
+ begin
1583
+
1584
+ delegate.instruction(data.byteslice(instruction_begin, p-instruction_begin))
1585
+ end
1586
+ when 24 then
1587
+ # line 132 "markup.rl"
1588
+ begin
1589
+
1590
+ raise ParseError.new("could not parse instruction", buffer, p)
1591
+ end
1592
+ when 39 then
1593
+ # line 174 "markup.rl"
1594
+ begin
1595
+
1596
+ delegate.open_tag_end(self_closing)
1597
+ end
1598
+ when 55 then
1599
+ # line 181 "markup.rl"
1600
+ begin
1601
+
1602
+ delegate.close_tag(data.byteslice(identifier_begin...identifier_end), identifier_begin)
1603
+ end
1604
+ when 1 then
1605
+ # line 185 "markup.rl"
1606
+ begin
1607
+
1608
+ raise ParseError.new("could not parse tag", buffer, p)
1609
+ end
1610
+ when 51 then
1611
+ # line 193 "markup.rl"
1612
+ begin
1613
+
1614
+ cdata_end = p
1615
+
1616
+ delegate.cdata(data.byteslice(cdata_begin...cdata_end))
1617
+ end
1618
+ when 23 then
1619
+ # line 199 "markup.rl"
1620
+ begin
1621
+
1622
+ raise ParseError.new("could not parse cdata", buffer, p)
1623
+ end
1624
+ when 37 then
1625
+ # line 37 "markup.rl"
1626
+ begin
1627
+
1628
+ end
1629
+ # line 43 "markup.rl"
1630
+ begin
1631
+
1632
+ pcdata = MarkupString.raw(pcdata) unless has_entities
1633
+
1634
+ delegate.text(pcdata)
1635
+ end
1636
+ when 35 then
1637
+ # line 53 "markup.rl"
1638
+ begin
1639
+
1640
+ characters_end = p
1641
+
1642
+ pcdata << data.byteslice(characters_begin...characters_end)
1643
+ end
1644
+ # line 37 "markup.rl"
1645
+ begin
1646
+
1647
+ end
1648
+ # line 43 "markup.rl"
1649
+ begin
1650
+
1651
+ pcdata = MarkupString.raw(pcdata) unless has_entities
1652
+
1653
+ delegate.text(pcdata)
1654
+ end
1655
+ # line 1656 "markup.rb"
1656
+ end
1657
+ end
1658
+
1659
+ end
1660
+ if _goto_level <= _out
1661
+ break
1625
1662
  end
1626
1663
  end
1664
+ end
1665
+
1666
+ # line 237 "markup.rl"
1667
+
1668
+ if p != eof
1669
+ raise ParseError.new("could not consume all input", buffer, p)
1670
+ end
1671
+
1672
+ return nil
1673
+ end
1674
+ end
1627
1675
  end