ritex 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.
@@ -0,0 +1,88 @@
1
+ ## lib/ritex/mathml/functions.rb -- MathML conversions of TeX markup
2
+ ## "functions". See Ritex::MathML
3
+ ##
4
+ ## Author:: William Morgan (mailto: wmorgan-ritex@masanjin.net)
5
+ ## Copyright:: Copyright 2005 William Morgan
6
+ ## License:: GNU GPL version 2
7
+
8
+ class String
9
+ ## map over the characters in a string
10
+ def map_chars
11
+ ret = ""
12
+ each_byte { |b| ret += yield b.chr }
13
+ ret
14
+ end
15
+ end
16
+
17
+ module Ritex
18
+ module MathML
19
+
20
+ ## this is not ideal by any means. until we can call lambda with
21
+ ## arbitrary bindings, though, we will relay markup and lookup calls
22
+ ## to a registered parser, so that "functions" can be written easily.
23
+ def markup *a; Ritex::global_parser.markup(*a); end
24
+ def lookup *a; Ritex::global_parser.lookup(*a); end
25
+ module_function :markup, :lookup
26
+
27
+ FUNCTIONS = {
28
+ "frac" => lambda { |a, b| markup a + b, "mfrac" },
29
+ "binom" => lambda { |a, b| markup a + b, "mfrac", 'linethickness="0"' },
30
+ "textstyle" => lambda { |x| markup x, "mstyle", 'displaystyle="false"' },
31
+ "displaystyle" => lambda { |x| markup x, "mstyle", 'displaystyle="true"' },
32
+ "underset" => lambda { |a, b| markup b + a, "munder" },
33
+ "overset" => lambda { |a, b| markup b + a, "mover" },
34
+ "root" => lambda { |a, b| markup b + a, "mroot" },
35
+ "sqrt" => lambda { |x| markup x, "msqrt" },
36
+ "phantom" => lambda { |x| markup x, "mphantom" },
37
+ "underoverset" => lambda { |a, b, c| markup c + a + b, "munderover" },
38
+ "scriptsize" => lambda { markup x, "mstyle", 'scriptlevel="1"' },
39
+ "scriptscriptsize" => lambda { markup x, "mstyle", 'scriptlevel="2"' },
40
+ "textsize" => lambda { markup x, "mstyle", 'scriptlevel="0"' },
41
+
42
+ "toggle" => lambda { raise "not yet implemented" },
43
+ "fghighlight" => lambda { raise "not yet implemented" },
44
+ "bghighlight" => lambda { raise "not yet implemented" },
45
+ "tensor" => lambda { |a, b| raise "not yet implemented" },
46
+ "multiscripts" => lambda { |a, b, c| raise "not yet implemented" },
47
+ "statusline" => lambda { raise "not yet implemented" },
48
+ }
49
+
50
+ {
51
+ "vec" => "RightVector",
52
+ "dot" => "dot",
53
+ "ddot" => "Dot",
54
+ "tilde" => "tilde",
55
+ "check" => "macr",
56
+ "hat" => "Hat",
57
+ "bar" => "OverBar",
58
+ "overbrace" => "OverBrace",
59
+ }.each { |k, v| FUNCTIONS[k] = lambda { |x| markup x + "<mo>&#{v};</mo>", "mover" } }
60
+
61
+ {
62
+ "underbrace" => "UnderBrace"
63
+ }.each { |k, v| FUNCTIONS[k] = lambda { |x| markup x + "<mo>&#{v};</mo>", "munder" } }
64
+
65
+ %w(closure overline widebar).each { |x| FUNCTIONS[x] = FUNCTIONS["bar"] }
66
+ %w(vec tilde check hat).each { |x| FUNCTIONS["wide#{x}"] = FUNCTIONS[x] }
67
+
68
+ ## "environments"--things that require strings, i.e. where spaces matter.
69
+ ENVS = {
70
+ "text" => lambda { |x| markup x, "mtext" },
71
+ "mathcal" => lambda { |x| markup x.map_chars { |c| "&#{c}scr;" }, "mi" },
72
+ "mathfr" => lambda { |x| markup x.map_chars { |c| "&#{c}fr;" }, "mi" },
73
+ "mathop" => lambda { |x| markup x, 'mo', 'lspace="0em" rspace="thinmathspace"' },
74
+ "mathbb" => lambda { |x| markup x.map_chars { |c| (c[0] <= ?Z ? "&#{c}opf;" : c) }, "mi" },
75
+ "href" => lambda { |x| "<mrow xlink:type=\"simple\" xlink:show=\"replace\" xlink:href=\"#{x}\">#{x}</mrow>" },
76
+ "mathit" => lambda { |x| markup x, "mstyle", 'fontstyle="italic"' },
77
+ "mathrm" => lambda { |x| markup x, "mstyle", 'fontstyle="normal" fontweight="normal"' },
78
+ "mathbf" => lambda { |x| markup x, "mstyle", 'fontweight="bold"' },
79
+ "space" => lambda { |h, d, w| "<mspace height=\".#{h}ex\"/ depth=\".#{d}ex\" width=\".#{w}em\">" }
80
+ }
81
+
82
+ ## TODO: array arrayopts colalign collayout rowalign align equalrows equalcols rowlines collines frame padding rowopts cellopts rowspan colspan
83
+
84
+
85
+ end
86
+ end
87
+
88
+
@@ -0,0 +1,30 @@
1
+ ## lib/ritex/mathml/entities.rb -- MathML conversions of markup used by the parser.
2
+ ## See Ritex::MathML.
3
+ ##
4
+ ## Author:: William Morgan (mailto: wmorgan-ritex@masanjin.net)
5
+ ## Copyright:: Copyright 2005 William Morgan
6
+ ## License:: GNU GPL version 2
7
+
8
+ module Ritex
9
+ module MathML
10
+
11
+ ## A simple mapping between markup elements used in parser.y and
12
+ ## actual MathML elements.
13
+ MARKUP = {
14
+ :subsup => "msubsup",
15
+ :sub => "msub",
16
+ :sup => "msup",
17
+ :num => "mn",
18
+ :var => "mi",
19
+ :group => "mrow",
20
+ :op => "mo",
21
+ :unaryminus => ['mo', 'lspace="thinthinmathspace" rspace="0em"'],
22
+ :array => "mtable",
23
+ :row => "mtr",
24
+ :col => "mtd",
25
+ :math => ["math", 'xmlns="http://www.w3.org/1998/Math/MathML"'],
26
+ :displaymath => ["math", 'xmlns="http://www.w3.org/1998/Math/MathML" display="block"'],
27
+ }
28
+
29
+ end
30
+ end
@@ -0,0 +1,845 @@
1
+ #
2
+ # DO NOT MODIFY!!!!
3
+ # This file is automatically generated by racc 1.4.4
4
+ # from racc grammer file "lib/ritex/parser.y".
5
+ #
6
+
7
+ require 'racc/parser'
8
+
9
+
10
+ module Ritex
11
+
12
+ class Parser < Racc::Parser
13
+
14
+ ##### racc 1.4.4 generates ###
15
+
16
+ racc_reduce_table = [
17
+ 0, 0, :racc_error,
18
+ 0, 44, :_reduce_1,
19
+ 2, 44, :_reduce_2,
20
+ 1, 45, :_reduce_none,
21
+ 5, 45, :_reduce_4,
22
+ 5, 45, :_reduce_5,
23
+ 3, 45, :_reduce_6,
24
+ 3, 45, :_reduce_7,
25
+ 1, 46, :_reduce_8,
26
+ 1, 46, :_reduce_9,
27
+ 1, 46, :_reduce_10,
28
+ 1, 46, :_reduce_none,
29
+ 1, 46, :_reduce_none,
30
+ 2, 46, :_reduce_13,
31
+ 3, 46, :_reduce_14,
32
+ 1, 46, :_reduce_15,
33
+ 1, 46, :_reduce_none,
34
+ 1, 46, :_reduce_none,
35
+ 1, 46, :_reduce_18,
36
+ 4, 46, :_reduce_19,
37
+ 3, 46, :_reduce_20,
38
+ 1, 47, :_reduce_21,
39
+ 2, 47, :_reduce_22,
40
+ 3, 47, :_reduce_23,
41
+ 4, 47, :_reduce_24,
42
+ 1, 48, :_reduce_25,
43
+ 2, 48, :_reduce_26,
44
+ 3, 48, :_reduce_27,
45
+ 4, 48, :_reduce_28,
46
+ 3, 49, :_reduce_29,
47
+ 1, 53, :_reduce_30,
48
+ 1, 53, :_reduce_31,
49
+ 1, 55, :_reduce_none,
50
+ 1, 55, :_reduce_none,
51
+ 1, 55, :_reduce_none,
52
+ 1, 55, :_reduce_none,
53
+ 1, 55, :_reduce_none,
54
+ 1, 55, :_reduce_none,
55
+ 1, 55, :_reduce_38,
56
+ 1, 55, :_reduce_none,
57
+ 1, 55, :_reduce_none,
58
+ 3, 55, :_reduce_41,
59
+ 1, 56, :_reduce_none,
60
+ 1, 56, :_reduce_none,
61
+ 1, 56, :_reduce_none,
62
+ 1, 56, :_reduce_none,
63
+ 1, 56, :_reduce_none,
64
+ 1, 56, :_reduce_none,
65
+ 1, 56, :_reduce_none,
66
+ 1, 56, :_reduce_none,
67
+ 1, 56, :_reduce_none,
68
+ 1, 56, :_reduce_none,
69
+ 0, 54, :_reduce_52,
70
+ 2, 54, :_reduce_53,
71
+ 7, 51, :_reduce_54,
72
+ 10, 51, :_reduce_55,
73
+ 1, 57, :_reduce_none,
74
+ 1, 57, :_reduce_none,
75
+ 1, 57, :_reduce_none,
76
+ 1, 57, :_reduce_none,
77
+ 1, 57, :_reduce_none,
78
+ 1, 57, :_reduce_none,
79
+ 1, 57, :_reduce_none,
80
+ 1, 57, :_reduce_none,
81
+ 1, 57, :_reduce_none,
82
+ 4, 50, :_reduce_65,
83
+ 1, 58, :_reduce_none,
84
+ 3, 58, :_reduce_67,
85
+ 1, 59, :_reduce_68,
86
+ 1, 60, :_reduce_none,
87
+ 3, 60, :_reduce_70,
88
+ 1, 61, :_reduce_71,
89
+ 1, 52, :_reduce_none,
90
+ 1, 52, :_reduce_none,
91
+ 1, 52, :_reduce_none,
92
+ 1, 52, :_reduce_none,
93
+ 1, 52, :_reduce_none,
94
+ 1, 52, :_reduce_none,
95
+ 1, 52, :_reduce_none,
96
+ 1, 52, :_reduce_none,
97
+ 1, 52, :_reduce_none,
98
+ 1, 52, :_reduce_none,
99
+ 1, 52, :_reduce_none,
100
+ 1, 52, :_reduce_83,
101
+ 1, 52, :_reduce_84,
102
+ 1, 52, :_reduce_none,
103
+ 1, 52, :_reduce_none,
104
+ 1, 52, :_reduce_none,
105
+ 1, 52, :_reduce_none ]
106
+
107
+ racc_reduce_n = 89
108
+
109
+ racc_shift_n = 131
110
+
111
+ racc_action_table = [
112
+ 4, 53, 11, 17, 21, 23, 27, 32, 36, 41,
113
+ 43, 3, 6, 10, 15, 109, 24, 29, 121, 37,
114
+ 122, 51, 50, 7, 108, 14, 19, 107, 26, 31,
115
+ 35, 40, 42, 2, 5, 9, 13, 18, 22, 25,
116
+ 30, 34, 39, 11, 17, 21, 23, 27, 32, 36,
117
+ 41, 43, 3, 6, 10, 15, 54, 24, 29, 44,
118
+ 37, 110, 111, 44, 7, 106, 14, 19, 44, 26,
119
+ 31, 35, 40, 42, 2, 5, 9, 13, 18, 22,
120
+ 25, 30, 34, 39, 90, 93, 94, 96, 97, 98,
121
+ 100, 102, 103, 84, 86, 89, 92, 95, 44, 44,
122
+ 99, 44, 125, 104, 85, 87, 130, 14, 19, 44,
123
+ 26, 31, 35, 40, 42, 2, 5, 9, 13, 18,
124
+ 22, 25, 30, 34, 39, 90, 93, 94, 96, 97,
125
+ 98, 100, 102, 103, 84, 86, 89, 92, 95, 127,
126
+ 128, 99, 46, nil, 104, 85, 87, 126, 14, 19,
127
+ nil, 26, 31, 35, 40, 42, 2, 5, 9, 13,
128
+ 18, 22, 25, 30, 34, 39, 90, 93, 94, 96,
129
+ 97, 98, 100, 102, 103, 84, 86, 89, 92, 95,
130
+ nil, nil, 99, nil, nil, 104, 85, 87, 123, 14,
131
+ 19, nil, 26, 31, 35, 40, 42, 2, 5, 9,
132
+ 13, 18, 22, 25, 30, 34, 39, 11, 17, 21,
133
+ 23, 27, 32, 36, 41, 43, 3, 6, 10, 15,
134
+ nil, 24, 29, nil, 37, nil, nil, nil, 7, nil,
135
+ 14, 19, nil, 26, 31, 35, 40, 42, 2, 5,
136
+ 9, 13, 18, 22, 25, 30, 34, 39, 11, 17,
137
+ 21, 23, 27, 32, 36, 41, 43, 3, 6, 10,
138
+ 15, nil, 24, 29, nil, 37, nil, nil, nil, 7,
139
+ nil, 14, 19, nil, 26, 31, 35, 40, 42, 2,
140
+ 5, 9, 13, 18, 22, 25, 30, 34, 39, 11,
141
+ 17, 21, 23, 27, 32, 36, 41, 43, 3, 6,
142
+ 10, 15, nil, 24, 29, nil, 37, nil, nil, nil,
143
+ 7, nil, 14, 19, nil, 26, 31, 35, 40, 42,
144
+ 2, 5, 9, 13, 18, 22, 25, 30, 34, 39,
145
+ 11, 17, 21, 23, 27, 32, 36, 41, 43, 3,
146
+ 6, 10, 15, nil, 24, 29, nil, 37, nil, nil,
147
+ nil, 7, nil, 14, 19, nil, 26, 31, 35, 40,
148
+ 42, 2, 5, 9, 13, 18, 22, 25, 30, 34,
149
+ 39, 11, 17, 21, 23, 27, 32, 36, 41, 43,
150
+ 3, 6, 10, 15, nil, 24, 29, nil, 37, nil,
151
+ nil, nil, 7, nil, 14, 19, nil, 26, 31, 35,
152
+ 40, 42, 2, 5, 9, 13, 18, 22, 25, 30,
153
+ 34, 39, 11, 17, 21, 23, 27, 32, 36, 41,
154
+ 43, 3, 6, 10, 15, nil, 24, 29, nil, 37,
155
+ nil, nil, nil, 7, nil, 14, 19, nil, 26, 31,
156
+ 35, 40, 42, 2, 5, 9, 13, 18, 22, 25,
157
+ 30, 34, 39, 11, 17, 21, 23, 27, 32, 36,
158
+ 41, 43, 3, 6, 10, 15, nil, 24, 29, nil,
159
+ 37, nil, nil, nil, 7, nil, 14, 19, nil, 26,
160
+ 31, 35, 40, 42, 2, 5, 9, 13, 18, 22,
161
+ 25, 30, 34, 39, 11, 17, 21, 23, 27, 32,
162
+ 36, 41, 43, 3, 6, 10, 15, nil, 24, 29,
163
+ nil, 37, nil, nil, nil, 7, nil, 14, 19, nil,
164
+ 26, 31, 35, 40, 42, 2, 5, 9, 13, 18,
165
+ 22, 25, 30, 34, 39, 11, 17, 21, 23, 27,
166
+ 32, 36, 41, 43, 3, 6, 10, 15, nil, 24,
167
+ 29, nil, 37, nil, nil, nil, 7, 61, 14, 19,
168
+ nil, 26, 31, 35, 40, 42, 2, 5, 9, 13,
169
+ 18, 22, 25, 30, 34, 39, 11, 17, 21, 23,
170
+ 27, 32, 36, 41, 43, 3, 6, 10, 15, nil,
171
+ 24, 29, nil, 37, 81, nil, nil, 7, nil, 14,
172
+ 19, nil, 26, 31, 35, 40, 42, 2, 5, 9,
173
+ 13, 18, 22, 25, 30, 34, 39, 11, 17, 21,
174
+ 23, 27, 32, 36, 41, 43, 3, 6, 10, 15,
175
+ nil, 24, 29, nil, 37, nil, nil, nil, 7, nil,
176
+ 14, 19, nil, 26, 31, 35, 40, 42, 2, 5,
177
+ 9, 13, 18, 22, 25, 30, 34, 39, 11, 17,
178
+ 21, 23, 27, 32, 36, 41, 43, 3, 6, 10,
179
+ 15, nil, 24, 29, nil, 37, nil, nil, nil, 7,
180
+ nil, 14, 19, nil, 26, 31, 35, 40, 42, 2,
181
+ 5, 9, 13, 18, 22, 25, 30, 34, 39, 90,
182
+ 93, 94, 96, 97, 98, 100, 102, 103, 84, 86,
183
+ 89, 92, 95, nil, nil, 99, nil, nil, 104, 85,
184
+ 87, 91, 14, 19, 112, 26, 31, 35, 40, 42,
185
+ 2, 5, 9, 13, 18, 22, 25, 30, 34, 39,
186
+ nil, nil, nil, nil, nil, 14, 19, nil, 26, 31,
187
+ 35, 40, 42, 2, 5, 9, 13, 18, 22, 25,
188
+ 30, 34, 39, 74, nil, 75, 76, 77, 78, 79,
189
+ 70, 71, 72 ]
190
+
191
+ racc_action_check = [
192
+ 1, 23, 1, 1, 1, 1, 1, 1, 1, 1,
193
+ 1, 1, 1, 1, 1, 66, 1, 1, 111, 1,
194
+ 111, 12, 12, 1, 66, 1, 1, 64, 1, 1,
195
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
196
+ 1, 1, 1, 58, 58, 58, 58, 58, 58, 58,
197
+ 58, 58, 58, 58, 58, 58, 24, 58, 58, 3,
198
+ 58, 68, 73, 49, 58, 63, 58, 58, 15, 58,
199
+ 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
200
+ 58, 58, 58, 58, 129, 129, 129, 129, 129, 129,
201
+ 129, 129, 129, 129, 129, 129, 129, 129, 62, 47,
202
+ 129, 10, 122, 129, 129, 129, 129, 129, 129, 6,
203
+ 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
204
+ 129, 129, 129, 129, 129, 124, 124, 124, 124, 124,
205
+ 124, 124, 124, 124, 124, 124, 124, 124, 124, 125,
206
+ 127, 124, 4, nil, 124, 124, 124, 124, 124, 124,
207
+ nil, 124, 124, 124, 124, 124, 124, 124, 124, 124,
208
+ 124, 124, 124, 124, 124, 124, 116, 116, 116, 116,
209
+ 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
210
+ nil, nil, 116, nil, nil, 116, 116, 116, 116, 116,
211
+ 116, nil, 116, 116, 116, 116, 116, 116, 116, 116,
212
+ 116, 116, 116, 116, 116, 116, 116, 107, 107, 107,
213
+ 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
214
+ nil, 107, 107, nil, 107, nil, nil, nil, 107, nil,
215
+ 107, 107, nil, 107, 107, 107, 107, 107, 107, 107,
216
+ 107, 107, 107, 107, 107, 107, 107, 107, 106, 106,
217
+ 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
218
+ 106, nil, 106, 106, nil, 106, nil, nil, nil, 106,
219
+ nil, 106, 106, nil, 106, 106, 106, 106, 106, 106,
220
+ 106, 106, 106, 106, 106, 106, 106, 106, 106, 82,
221
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
222
+ 82, 82, nil, 82, 82, nil, 82, nil, nil, nil,
223
+ 82, nil, 82, 82, nil, 82, 82, 82, 82, 82,
224
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
225
+ 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
226
+ 65, 65, 65, nil, 65, 65, nil, 65, nil, nil,
227
+ nil, 65, nil, 65, 65, nil, 65, 65, 65, 65,
228
+ 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
229
+ 65, 32, 32, 32, 32, 32, 32, 32, 32, 32,
230
+ 32, 32, 32, 32, nil, 32, 32, nil, 32, nil,
231
+ nil, nil, 32, nil, 32, 32, nil, 32, 32, 32,
232
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
233
+ 32, 32, 36, 36, 36, 36, 36, 36, 36, 36,
234
+ 36, 36, 36, 36, 36, nil, 36, 36, nil, 36,
235
+ nil, nil, nil, 36, nil, 36, 36, nil, 36, 36,
236
+ 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
237
+ 36, 36, 36, 41, 41, 41, 41, 41, 41, 41,
238
+ 41, 41, 41, 41, 41, 41, nil, 41, 41, nil,
239
+ 41, nil, nil, nil, 41, nil, 41, 41, nil, 41,
240
+ 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
241
+ 41, 41, 41, 41, 56, 56, 56, 56, 56, 56,
242
+ 56, 56, 56, 56, 56, 56, 56, nil, 56, 56,
243
+ nil, 56, nil, nil, nil, 56, nil, 56, 56, nil,
244
+ 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
245
+ 56, 56, 56, 56, 56, 48, 48, 48, 48, 48,
246
+ 48, 48, 48, 48, 48, 48, 48, 48, nil, 48,
247
+ 48, nil, 48, nil, nil, nil, 48, 48, 48, 48,
248
+ nil, 48, 48, 48, 48, 48, 48, 48, 48, 48,
249
+ 48, 48, 48, 48, 48, 48, 57, 57, 57, 57,
250
+ 57, 57, 57, 57, 57, 57, 57, 57, 57, nil,
251
+ 57, 57, nil, 57, 57, nil, nil, 57, nil, 57,
252
+ 57, nil, 57, 57, 57, 57, 57, 57, 57, 57,
253
+ 57, 57, 57, 57, 57, 57, 57, 50, 50, 50,
254
+ 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
255
+ nil, 50, 50, nil, 50, nil, nil, nil, 50, nil,
256
+ 50, 50, nil, 50, 50, 50, 50, 50, 50, 50,
257
+ 50, 50, 50, 50, 50, 50, 50, 50, 51, 51,
258
+ 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
259
+ 51, nil, 51, 51, nil, 51, nil, nil, nil, 51,
260
+ nil, 51, 51, nil, 51, 51, 51, 51, 51, 51,
261
+ 51, 51, 51, 51, 51, 51, 51, 51, 51, 59,
262
+ 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
263
+ 59, 59, 59, nil, nil, 59, nil, nil, 59, 59,
264
+ 59, 59, 59, 59, 81, 59, 59, 59, 59, 59,
265
+ 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
266
+ nil, nil, nil, nil, nil, 81, 81, nil, 81, 81,
267
+ 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
268
+ 81, 81, 81, 54, nil, 54, 54, 54, 54, 54,
269
+ 54, 54, 54 ]
270
+
271
+ racc_action_pointer = [
272
+ nil, 0, nil, 36, 142, nil, 86, nil, nil, nil,
273
+ 78, nil, 0, nil, nil, 45, nil, nil, nil, nil,
274
+ nil, nil, nil, -22, 33, nil, nil, nil, nil, nil,
275
+ nil, nil, 369, nil, nil, nil, 410, nil, nil, nil,
276
+ nil, 451, nil, nil, nil, nil, nil, 76, 533, 40,
277
+ 615, 656, nil, nil, 759, nil, 492, 574, 41, 697,
278
+ nil, nil, 75, 44, 5, 328, 0, nil, 34, nil,
279
+ nil, nil, nil, 38, nil, nil, nil, nil, nil, nil,
280
+ nil, 720, 287, nil, nil, nil, nil, nil, nil, nil,
281
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
282
+ nil, nil, nil, nil, nil, nil, 246, 205, nil, nil,
283
+ nil, -5, nil, nil, nil, nil, 164, nil, nil, nil,
284
+ nil, nil, 100, nil, 123, 113, nil, 117, nil, 82,
285
+ nil ]
286
+
287
+ racc_action_default = [
288
+ -1, -89, -79, -89, -89, -80, -89, -1, -2, -81,
289
+ -89, -8, -3, -82, -76, -89, -11, -9, -83, -77,
290
+ -12, -10, -84, -89, -89, -85, -72, -21, -16, -15,
291
+ -86, -73, -89, -17, -87, -74, -89, -1, -18, -88,
292
+ -75, -89, -78, -25, -52, -26, 131, -89, -89, -89,
293
+ -89, -89, -13, -1, -89, -22, -89, -89, -89, -89,
294
+ -27, -14, -89, -6, -7, -71, -89, -66, -68, -69,
295
+ -62, -63, -64, -89, -56, -57, -58, -59, -60, -61,
296
+ -23, -20, -89, -53, -48, -35, -49, -52, -38, -50,
297
+ -32, -29, -51, -36, -42, -39, -37, -43, -44, -40,
298
+ -45, -33, -46, -47, -34, -28, -89, -89, -65, -1,
299
+ -1, -89, -31, -30, -19, -24, -89, -5, -4, -67,
300
+ -70, -52, -89, -41, -89, -89, -54, -89, -52, -89,
301
+ -55 ]
302
+
303
+ racc_goto_table = [
304
+ 59, 55, 101, 73, 45, 56, 67, 47, 1, 66,
305
+ 58, 49, 114, 120, nil, 48, 52, nil, nil, 63,
306
+ 64, nil, nil, nil, 113, 80, nil, 82, nil, nil,
307
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
308
+ nil, nil, nil, 116, nil, 57, nil, nil, 60, nil,
309
+ 62, 115, nil, nil, nil, nil, nil, nil, nil, 101,
310
+ nil, nil, 119, 105, nil, nil, nil, 101, nil, nil,
311
+ nil, nil, 101, nil, nil, 117, 118, 124, nil, nil,
312
+ nil, nil, nil, nil, 129 ]
313
+
314
+ racc_goto_check = [
315
+ 11, 3, 9, 14, 6, 3, 16, 6, 1, 15,
316
+ 3, 6, 10, 18, nil, 1, 6, nil, nil, 3,
317
+ 3, nil, nil, nil, 9, 3, nil, 3, nil, nil,
318
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
319
+ nil, nil, nil, 11, nil, 1, nil, nil, 6, nil,
320
+ 6, 3, nil, nil, nil, nil, nil, nil, nil, 9,
321
+ nil, nil, 16, 6, nil, nil, nil, 9, nil, nil,
322
+ nil, nil, 9, nil, nil, 3, 3, 11, nil, nil,
323
+ nil, nil, nil, nil, 11 ]
324
+
325
+ racc_goto_pointer = [
326
+ nil, 8, nil, -31, nil, nil, 1, nil, nil, -57,
327
+ -69, -44, nil, nil, -51, -44, -47, nil, -97 ]
328
+
329
+ racc_goto_default = [
330
+ nil, 65, 8, 12, 16, 20, nil, 28, 33, 38,
331
+ nil, nil, 83, 88, nil, nil, nil, 68, 69 ]
332
+
333
+ racc_token_table = {
334
+ false => 0,
335
+ Object.new => 1,
336
+ :NUMBER => 2,
337
+ :VAR => 3,
338
+ :SYMBOL => 4,
339
+ :ARRAY => 5,
340
+ :FUNC0 => 6,
341
+ :FUNC1 => 7,
342
+ :FUNC2 => 8,
343
+ :FUNC3 => 9,
344
+ :MACRO0 => 10,
345
+ :MACRO1 => 11,
346
+ :MACRO2 => 12,
347
+ :MACRO3 => 13,
348
+ :ENV => 14,
349
+ :DOUBLEBACK => 15,
350
+ :DEFINE => 16,
351
+ :UNARYMINUS => 17,
352
+ :SPACE => 18,
353
+ :LEFT => 19,
354
+ :RIGHT => 20,
355
+ "^" => 21,
356
+ "_" => 22,
357
+ "{" => 23,
358
+ "}" => 24,
359
+ "[" => 25,
360
+ "]" => 26,
361
+ "&" => 27,
362
+ "+" => 28,
363
+ "-" => 29,
364
+ "*" => 30,
365
+ "/" => 31,
366
+ "|" => 32,
367
+ "." => 33,
368
+ "," => 34,
369
+ ";" => 35,
370
+ ":" => 36,
371
+ "<" => 37,
372
+ ">" => 38,
373
+ "=" => 39,
374
+ "(" => 40,
375
+ ")" => 41,
376
+ "#" => 42 }
377
+
378
+ racc_use_result_var = true
379
+
380
+ racc_nt_base = 43
381
+
382
+ Racc_arg = [
383
+ racc_action_table,
384
+ racc_action_check,
385
+ racc_action_default,
386
+ racc_action_pointer,
387
+ racc_goto_table,
388
+ racc_goto_check,
389
+ racc_goto_default,
390
+ racc_goto_pointer,
391
+ racc_nt_base,
392
+ racc_reduce_table,
393
+ racc_token_table,
394
+ racc_shift_n,
395
+ racc_reduce_n,
396
+ racc_use_result_var ]
397
+
398
+ Racc_token_to_s_table = [
399
+ '$end',
400
+ 'error',
401
+ 'NUMBER',
402
+ 'VAR',
403
+ 'SYMBOL',
404
+ 'ARRAY',
405
+ 'FUNC0',
406
+ 'FUNC1',
407
+ 'FUNC2',
408
+ 'FUNC3',
409
+ 'MACRO0',
410
+ 'MACRO1',
411
+ 'MACRO2',
412
+ 'MACRO3',
413
+ 'ENV',
414
+ 'DOUBLEBACK',
415
+ 'DEFINE',
416
+ 'UNARYMINUS',
417
+ 'SPACE',
418
+ 'LEFT',
419
+ 'RIGHT',
420
+ '"^"',
421
+ '"_"',
422
+ '"{"',
423
+ '"}"',
424
+ '"["',
425
+ '"]"',
426
+ '"&"',
427
+ '"+"',
428
+ '"-"',
429
+ '"*"',
430
+ '"/"',
431
+ '"|"',
432
+ '"."',
433
+ '","',
434
+ '";"',
435
+ '":"',
436
+ '"<"',
437
+ '">"',
438
+ '"="',
439
+ '"("',
440
+ '")"',
441
+ '"#"',
442
+ '$start',
443
+ 'exp',
444
+ 'expel',
445
+ 'atom',
446
+ 'func',
447
+ 'macro',
448
+ 'arg',
449
+ 'array',
450
+ 'macrodef',
451
+ 'plainop',
452
+ 'pos',
453
+ 'string',
454
+ 'stringel',
455
+ 'escapeme',
456
+ 'symspec',
457
+ 'ainnards',
458
+ 'arow',
459
+ 'arow1',
460
+ 'acol']
461
+
462
+ Racc_debug_parser = false
463
+
464
+ ##### racc system variables end #####
465
+
466
+ # reduce 0 omitted
467
+
468
+ module_eval <<'.,.,', 'lib/ritex/parser.y', 29
469
+ def _reduce_1( val, _values, result )
470
+ result = ""
471
+ result
472
+ end
473
+ .,.,
474
+
475
+ module_eval <<'.,.,', 'lib/ritex/parser.y', 30
476
+ def _reduce_2( val, _values, result )
477
+ result = join val[0], val[1]
478
+ result
479
+ end
480
+ .,.,
481
+
482
+ # reduce 3 omitted
483
+
484
+ module_eval <<'.,.,', 'lib/ritex/parser.y', 33
485
+ def _reduce_4( val, _values, result )
486
+ result = markup join(val[0], val[4], val[2]), :subsup
487
+ result
488
+ end
489
+ .,.,
490
+
491
+ module_eval <<'.,.,', 'lib/ritex/parser.y', 34
492
+ def _reduce_5( val, _values, result )
493
+ result = markup join(val[0], val[2], val[4]), :subsup
494
+ result
495
+ end
496
+ .,.,
497
+
498
+ module_eval <<'.,.,', 'lib/ritex/parser.y', 35
499
+ def _reduce_6( val, _values, result )
500
+ result = markup join(val[0], val[2]), :sub
501
+ result
502
+ end
503
+ .,.,
504
+
505
+ module_eval <<'.,.,', 'lib/ritex/parser.y', 36
506
+ def _reduce_7( val, _values, result )
507
+ result = markup join(val[0], val[2]), :sup
508
+ result
509
+ end
510
+ .,.,
511
+
512
+ module_eval <<'.,.,', 'lib/ritex/parser.y', 38
513
+ def _reduce_8( val, _values, result )
514
+ result = markup val[0], :num
515
+ result
516
+ end
517
+ .,.,
518
+
519
+ module_eval <<'.,.,', 'lib/ritex/parser.y', 39
520
+ def _reduce_9( val, _values, result )
521
+ result = markup val[0], :var
522
+ result
523
+ end
524
+ .,.,
525
+
526
+ module_eval <<'.,.,', 'lib/ritex/parser.y', 40
527
+ def _reduce_10( val, _values, result )
528
+ result = lookup val[0]
529
+ result
530
+ end
531
+ .,.,
532
+
533
+ # reduce 11 omitted
534
+
535
+ # reduce 12 omitted
536
+
537
+ module_eval <<'.,.,', 'lib/ritex/parser.y', 43
538
+ def _reduce_13( val, _values, result )
539
+ result = special(*val)
540
+ result
541
+ end
542
+ .,.,
543
+
544
+ module_eval <<'.,.,', 'lib/ritex/parser.y', 44
545
+ def _reduce_14( val, _values, result )
546
+ result = markup val[1], :group
547
+ result
548
+ end
549
+ .,.,
550
+
551
+ module_eval <<'.,.,', 'lib/ritex/parser.y', 45
552
+ def _reduce_15( val, _values, result )
553
+ result = markup val[0], :unaryminus
554
+ result
555
+ end
556
+ .,.,
557
+
558
+ # reduce 16 omitted
559
+
560
+ # reduce 17 omitted
561
+
562
+ module_eval <<'.,.,', 'lib/ritex/parser.y', 48
563
+ def _reduce_18( val, _values, result )
564
+ result = markup val[0], :op
565
+ result
566
+ end
567
+ .,.,
568
+
569
+ module_eval <<'.,.,', 'lib/ritex/parser.y', 49
570
+ def _reduce_19( val, _values, result )
571
+ result = markup join(val[1], val[3]), :group
572
+ result
573
+ end
574
+ .,.,
575
+
576
+ module_eval <<'.,.,', 'lib/ritex/parser.y', 50
577
+ def _reduce_20( val, _values, result )
578
+ result = markup val[1], :group
579
+ result
580
+ end
581
+ .,.,
582
+
583
+ module_eval <<'.,.,', 'lib/ritex/parser.y', 53
584
+ def _reduce_21( val, _values, result )
585
+ result = special(*val)
586
+ result
587
+ end
588
+ .,.,
589
+
590
+ module_eval <<'.,.,', 'lib/ritex/parser.y', 54
591
+ def _reduce_22( val, _values, result )
592
+ result = special(*val)
593
+ result
594
+ end
595
+ .,.,
596
+
597
+ module_eval <<'.,.,', 'lib/ritex/parser.y', 55
598
+ def _reduce_23( val, _values, result )
599
+ result = special(*val)
600
+ result
601
+ end
602
+ .,.,
603
+
604
+ module_eval <<'.,.,', 'lib/ritex/parser.y', 56
605
+ def _reduce_24( val, _values, result )
606
+ result = special(*val)
607
+ result
608
+ end
609
+ .,.,
610
+
611
+ module_eval <<'.,.,', 'lib/ritex/parser.y', 59
612
+ def _reduce_25( val, _values, result )
613
+ result = special(*val)
614
+ result
615
+ end
616
+ .,.,
617
+
618
+ module_eval <<'.,.,', 'lib/ritex/parser.y', 60
619
+ def _reduce_26( val, _values, result )
620
+ result = special(*val)
621
+ result
622
+ end
623
+ .,.,
624
+
625
+ module_eval <<'.,.,', 'lib/ritex/parser.y', 61
626
+ def _reduce_27( val, _values, result )
627
+ result = special(*val)
628
+ result
629
+ end
630
+ .,.,
631
+
632
+ module_eval <<'.,.,', 'lib/ritex/parser.y', 62
633
+ def _reduce_28( val, _values, result )
634
+ result = special(*val)
635
+ result
636
+ end
637
+ .,.,
638
+
639
+ module_eval <<'.,.,', 'lib/ritex/parser.y', 65
640
+ def _reduce_29( val, _values, result )
641
+ result = safe(val[1])
642
+ result
643
+ end
644
+ .,.,
645
+
646
+ module_eval <<'.,.,', 'lib/ritex/parser.y', 67
647
+ def _reduce_30( val, _values, result )
648
+ result = markup val[0], :op
649
+ result
650
+ end
651
+ .,.,
652
+
653
+ module_eval <<'.,.,', 'lib/ritex/parser.y', 68
654
+ def _reduce_31( val, _values, result )
655
+ result = lookup val[0]
656
+ result
657
+ end
658
+ .,.,
659
+
660
+ # reduce 32 omitted
661
+
662
+ # reduce 33 omitted
663
+
664
+ # reduce 34 omitted
665
+
666
+ # reduce 35 omitted
667
+
668
+ # reduce 36 omitted
669
+
670
+ # reduce 37 omitted
671
+
672
+ module_eval <<'.,.,', 'lib/ritex/parser.y', 76
673
+ def _reduce_38( val, _values, result )
674
+ result = '\\' + val[0]
675
+ result
676
+ end
677
+ .,.,
678
+
679
+ # reduce 39 omitted
680
+
681
+ # reduce 40 omitted
682
+
683
+ module_eval <<'.,.,', 'lib/ritex/parser.y', 79
684
+ def _reduce_41( val, _values, result )
685
+ result = "{#{val[1]}}"
686
+ result
687
+ end
688
+ .,.,
689
+
690
+ # reduce 42 omitted
691
+
692
+ # reduce 43 omitted
693
+
694
+ # reduce 44 omitted
695
+
696
+ # reduce 45 omitted
697
+
698
+ # reduce 46 omitted
699
+
700
+ # reduce 47 omitted
701
+
702
+ # reduce 48 omitted
703
+
704
+ # reduce 49 omitted
705
+
706
+ # reduce 50 omitted
707
+
708
+ # reduce 51 omitted
709
+
710
+ module_eval <<'.,.,', 'lib/ritex/parser.y', 92
711
+ def _reduce_52( val, _values, result )
712
+ result = ""
713
+ result
714
+ end
715
+ .,.,
716
+
717
+ module_eval <<'.,.,', 'lib/ritex/parser.y', 93
718
+ def _reduce_53( val, _values, result )
719
+ result = val[0] + val[1]
720
+ result
721
+ end
722
+ .,.,
723
+
724
+ module_eval <<'.,.,', 'lib/ritex/parser.y', 96
725
+ def _reduce_54( val, _values, result )
726
+ result = define val[2], 0, join(val[4], val[5], val[6])
727
+ result
728
+ end
729
+ .,.,
730
+
731
+ module_eval <<'.,.,', 'lib/ritex/parser.y', 97
732
+ def _reduce_55( val, _values, result )
733
+ result = define val[2], val[5], join(val[7], val[8], val[9])
734
+ result
735
+ end
736
+ .,.,
737
+
738
+ # reduce 56 omitted
739
+
740
+ # reduce 57 omitted
741
+
742
+ # reduce 58 omitted
743
+
744
+ # reduce 59 omitted
745
+
746
+ # reduce 60 omitted
747
+
748
+ # reduce 61 omitted
749
+
750
+ # reduce 62 omitted
751
+
752
+ # reduce 63 omitted
753
+
754
+ # reduce 64 omitted
755
+
756
+ module_eval <<'.,.,', 'lib/ritex/parser.y', 110
757
+ def _reduce_65( val, _values, result )
758
+ result = markup markup(val[2], :array), :group
759
+ result
760
+ end
761
+ .,.,
762
+
763
+ # reduce 66 omitted
764
+
765
+ module_eval <<'.,.,', 'lib/ritex/parser.y', 113
766
+ def _reduce_67( val, _values, result )
767
+ result = val[0] + val[2]
768
+ result
769
+ end
770
+ .,.,
771
+
772
+ module_eval <<'.,.,', 'lib/ritex/parser.y', 115
773
+ def _reduce_68( val, _values, result )
774
+ result = markup val[0], :row
775
+ result
776
+ end
777
+ .,.,
778
+
779
+ # reduce 69 omitted
780
+
781
+ module_eval <<'.,.,', 'lib/ritex/parser.y', 118
782
+ def _reduce_70( val, _values, result )
783
+ result = val[0] + val[2]
784
+ result
785
+ end
786
+ .,.,
787
+
788
+ module_eval <<'.,.,', 'lib/ritex/parser.y', 121
789
+ def _reduce_71( val, _values, result )
790
+ result = markup val[0], :col
791
+ result
792
+ end
793
+ .,.,
794
+
795
+ # reduce 72 omitted
796
+
797
+ # reduce 73 omitted
798
+
799
+ # reduce 74 omitted
800
+
801
+ # reduce 75 omitted
802
+
803
+ # reduce 76 omitted
804
+
805
+ # reduce 77 omitted
806
+
807
+ # reduce 78 omitted
808
+
809
+ # reduce 79 omitted
810
+
811
+ # reduce 80 omitted
812
+
813
+ # reduce 81 omitted
814
+
815
+ # reduce 82 omitted
816
+
817
+ module_eval <<'.,.,', 'lib/ritex/parser.y', 134
818
+ def _reduce_83( val, _values, result )
819
+ result = safe val[0]
820
+ result
821
+ end
822
+ .,.,
823
+
824
+ module_eval <<'.,.,', 'lib/ritex/parser.y', 135
825
+ def _reduce_84( val, _values, result )
826
+ result = safe val[0]
827
+ result
828
+ end
829
+ .,.,
830
+
831
+ # reduce 85 omitted
832
+
833
+ # reduce 86 omitted
834
+
835
+ # reduce 87 omitted
836
+
837
+ # reduce 88 omitted
838
+
839
+ def _reduce_none( val, _values, result )
840
+ result
841
+ end
842
+
843
+ end # class Parser
844
+
845
+ end # module Ritex