quanty 1.1.0 → 1.2.0

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.
@@ -1,4 +1,4 @@
1
- === 1.1.0 / 25.04.2001
1
+ === 1.2.0 / 22.12.2005
2
2
 
3
3
  * 1 major enhancement
4
4
 
@@ -7,6 +7,7 @@ README.txt
7
7
  Rakefile
8
8
  extconf.rb
9
9
  lib/quanty.rb
10
+ lib/quanty/.cvsignore
10
11
  lib/quanty/fact.rb
11
12
  lib/quanty/main.rb
12
13
  lib/quanty/parse.rb
data/README.en CHANGED
@@ -1,4 +1,4 @@
1
- Quanty class for Ruby ver 1.1 by Masahiro Tanaka 2001-04-25
1
+ Quanty class for Ruby ver 1.2 by Masahiro Tanaka 2004-02-29
2
2
 
3
3
  = Description
4
4
 
@@ -19,11 +19,13 @@
19
19
  make
20
20
  make install
21
21
 
22
- * If you want Racc binary library (faster than included script),
22
+ * If you use Ruby 1.6 and want Racc binary library
23
+ (faster than included script but not always necessary),
23
24
  Get Racc from
24
25
  http://www9.xdsl.ne.jp/~aamine/en/index.html
25
26
  and install it.
26
- Back to quanty directory.
27
+
28
+ * Back to quanty directory.
27
29
  Run `make clean', `make' and install it.
28
30
 
29
31
  = Usage
@@ -35,8 +37,7 @@
35
37
 
36
38
  = Tested Platform
37
39
 
38
- * Ruby 1.6.2 (2000-12-22) [sparc-solaris2.7]
39
- * Racc 1.3.7
40
+ * Ruby 1.8.1 (2003-12-25) [i686-linux]
40
41
 
41
42
  = License
42
43
 
data/extconf.rb CHANGED
@@ -2,7 +2,7 @@ require 'rbconfig'
2
2
  include Config
3
3
 
4
4
  target = 'quanty'
5
- sitedir = File.expand_path('../../src/util', File.dirname(__FILE__))
5
+ sitedir = CONFIG["sitedir"]+"/"+CONFIG["MAJOR"]+"."+CONFIG["MINOR"]
6
6
 
7
7
  def install_lib(mfile, dest, dir, files)
8
8
  mfile.printf "\t@$(MKDIR) %s/%s\n", dest, dir
@@ -1,7 +1,7 @@
1
- require 'util/quanty/parse'
2
- require 'util/quanty/fact'
3
- require 'util/quanty/main'
1
+ require 'quanty/parse'
2
+ require 'quanty/fact'
3
+ require 'quanty/main'
4
4
 
5
5
  class Quanty
6
- VERSION = '1.1.0'
6
+ VERSION = '1.2.0'
7
7
  end
@@ -0,0 +1 @@
1
+ units.dump
@@ -15,16 +15,16 @@ class Quanty
15
15
 
16
16
  attr_reader :factor
17
17
 
18
- # Basic units: Fact.new("m",true) => {"m"=>1}
18
+ # SI units: Fact.new("m",true) => {"m"=>1}
19
19
  # Derivative units: Fact.new("km") => 1000*{"m"=>1}
20
- def initialize(key=nil,base=false)
20
+ def initialize(key=nil,si=false)
21
21
  self.default = 0.0
22
22
  @factor = 1.0
23
23
  case key
24
24
  when Numeric
25
25
  @factor = key
26
26
  when String
27
- if base
27
+ if si
28
28
  store(key, 1.0)
29
29
  else
30
30
  decomp(key)
@@ -51,9 +51,12 @@ class Quanty
51
51
  Fact.new(self)
52
52
  end
53
53
 
54
+ attr_writer :factor
55
+ protected :factor=
56
+
54
57
  def find_prefix(a,n)
55
58
  Prefix.each{ |key,factor|
56
- if /^#{key}-?/u =~ a && (unit = List[b=$']) && b.size>n
59
+ if /^#{key}-?/ =~ a && (unit = List[b=$']) && b.size>n
57
60
  #p [a,b,factor]
58
61
  return Fact.new(b).fac!(factor)
59
62
  end
@@ -62,13 +65,13 @@ class Quanty
62
65
  end
63
66
 
64
67
  def decomp(a)
65
- if /^([µA-Za-z_]+([A-Za-z_0-9-]+[A-Za-z_])?)$|^[$%'"]'?$/ou =~ a
68
+ if /^([A-Za-z_]+([A-Za-z_0-9-]+[A-Za-z_])?)$|^[$%'"]'?$/o =~ a
66
69
  #if /^[A-Za-z_0-9$%-]+$/o =~ a
67
70
  unit = List[a] || find_prefix(a,0) ||
68
- if a.size>3 && /chs$/ou !~ a && /(.*[a-rt-y])s$/ou =~ a
71
+ if a.size>3 && /chs$/o !~ a && /(.*[a-rt-y])s$/o =~ a
69
72
  b = $1
70
73
  List[b] || find_prefix(b,2) ||
71
- if a.size>4 && /(.*s|.*z|.*ch)es$/ou =~ a
74
+ if a.size>4 && /(.*s|.*z|.*ch)es$/o =~ a
72
75
  b = $1
73
76
  List[b] || find_prefix(b,2)
74
77
  end
@@ -128,16 +131,29 @@ class Quanty
128
131
  @factor.to_s+"*"+super
129
132
  end
130
133
 
131
- def to_s
134
+ def unit
132
135
  a = []
133
- each{|k,v|
134
- if v != 1
135
- v = v.to_i if v%1 == 0
136
- k += v.to_s
136
+ SI.each do |k|
137
+ v = self[k]
138
+ if v && v!=0
139
+ if v != 1
140
+ v = v.to_i if v%1 == 0
141
+ k += v.to_s
142
+ end
143
+ a.push(k)
137
144
  end
138
- a.push k
139
- }
140
- @factor.to_s+" "+a.join(" ")
145
+ end
146
+ a.join(" ")
147
+ end
148
+
149
+ def to_s
150
+ @factor.to_s+" "+unit()
151
+ end
152
+
153
+ def to_quanty
154
+ f = dup
155
+ f.factor = 1.0
156
+ Quanty(@factor, unit(), f)
141
157
  end
142
158
 
143
159
  def null?
@@ -170,25 +186,27 @@ class Quanty
170
186
  end
171
187
 
172
188
  class << self
173
- def mkdump filename
189
+ def mkdump(filename)
174
190
  Prefix.clear
175
191
  List.clear
192
+ SI.clear
176
193
  #s = open("units.succ","w")
177
194
  #f = open("units.fail","w")
178
195
  open("units.dat","r").readlines.each do |str|
179
- if /^([µA-Za-z_0-9%$"'-]+)\s+([^#]+)/u =~ str
196
+ if /^([A-Za-z_0-9%$"'-]+)\s+([^#]+)/ =~ str #"
180
197
  name,repr = $1,$2.strip
181
198
  # conversion due to the different rule from GNU units:
182
199
  # A / B C => A / (B C)
183
- if /\//u =~ repr #/
184
- pre,suf = $`,$'.strip
185
- if /\s/u =~ suf
200
+ if /\// =~ repr #/
201
+ pre,suf = $`,$'.strip #`
202
+ if /\s/ =~ suf
186
203
  repr = pre + ' / (' + suf + ')'
187
204
  end
188
205
  end
189
- if repr=="!"
206
+ if repr=="!" # SI
190
207
  List[name] = Fact.new(name,true).freeze
191
- elsif /-$/u =~ name
208
+ SI << name
209
+ elsif /-$/ =~ name
192
210
  Prefix[name[0..-2]] = Prefix[repr] || (List[repr] || repr).to_f
193
211
  else
194
212
  #p [name,repr]
@@ -201,7 +219,7 @@ class Quanty
201
219
  end
202
220
  #Prefix.each{|key,val| p [key,val]}
203
221
  #List.each{|key,val| p [key,val]}
204
- Marshal.dump( [Prefix, List], open(filename,"w") )
222
+ Marshal.dump( [Prefix, List, SI], open(filename,"w") )
205
223
  end
206
224
  end
207
225
 
@@ -209,20 +227,16 @@ class Quanty
209
227
 
210
228
 
211
229
  ### Loading unit data ###
212
- =begin
213
230
  fn = nil
214
231
  $:.each{ |dir|
215
232
  fn = dir + "/quanty/units.dump"
216
233
  break if FileTest.exist?( fn )
217
234
  fn = nil
218
235
  }
219
- =end
220
- fn = File.expand_path('units.dump', File.dirname(__FILE__))
221
- fn = nil unless FileTest.exist?( fn )
222
236
  if fn
223
- Prefix, List = Marshal.load(open(fn,"r"))
237
+ Prefix, List, SI = Marshal.load(open(fn,"r"))
224
238
  else
225
- Prefix, List = {},{}
239
+ Prefix, List, SI = {},{},[]
226
240
  end
227
241
 
228
242
  end # class Quanty
@@ -87,7 +87,7 @@ class Quanty #< Numeric
87
87
  def > (other); @val > adjust(other) end
88
88
 
89
89
  def **(n)
90
- if /^[A-Za-z_]+&/ou =~ @unit
90
+ if /^[A-Za-z_]+&/o =~ @unit
91
91
  unit = @unit+'^'+n.to_s
92
92
  else
93
93
  unit = '('+@unit+')^'+n.to_s+''
@@ -102,7 +102,7 @@ class Quanty #< Numeric
102
102
  if unit.empty?
103
103
  unit = @unit
104
104
  else
105
- if /\A[A-Za-z_]/ou =~ unit
105
+ if /\A[A-Za-z_]/o =~ unit
106
106
  unit = @unit+' '+unit
107
107
  else
108
108
  unit = @unit+' ('+unit+')'
@@ -121,7 +121,7 @@ class Quanty #< Numeric
121
121
  if unit.empty?
122
122
  unit = @unit
123
123
  else
124
- if /\A[A-Za-z_-]+((\^|\*\*)?[0-9.]+)?$/ou =~ unit
124
+ if /\A[A-Za-z_-]+((\^|\*\*)?[0-9.]+)?$/o =~ unit
125
125
  unit = '/ '+unit
126
126
  else
127
127
  unit = '/ ('+unit+')'
@@ -138,6 +138,11 @@ class Quanty #< Numeric
138
138
  [ Self.new(other), self ]
139
139
  end
140
140
 
141
+ def to_si
142
+ @fact.to_quanty * @val
143
+ end
144
+ alias to_SI :to_si
145
+
141
146
  def to_f
142
147
  if @fact.null?
143
148
  @val * @fact.factor
@@ -1,17 +1,22 @@
1
1
  #
2
2
  # DO NOT MODIFY!!!!
3
- # This file is automatically generated by Racc 1.4.6
4
- # from Racc grammer file "".
3
+ # This file is automatically generated by racc 1.4.4
4
+ # from racc grammer file "parse.y".
5
+ #
6
+ #
7
+ # lib/quanty/parse.rb: generated by racc (runtime embedded)
5
8
  #
6
9
 
7
- ###### racc/parser.rb begin
10
+ ###### racc/parser.rb
11
+
8
12
  unless $".index 'racc/parser.rb'
9
13
  $".push 'racc/parser.rb'
10
- self.class.module_eval(<<'...end racc/parser.rb/module_eval...', 'racc/parser.rb', 1)
11
- #
12
- # $Id$
14
+
15
+ self.class.module_eval <<'..end /usr/local/lib/ruby/site_ruby/1.8/racc/parser.rb modeval..idb0d4489999', '/usr/local/lib/ruby/site_ruby/1.8/racc/parser.rb', 1
13
16
  #
14
- # Copyright (c) 1999-2006 Minero Aoki
17
+ # parser.rb
18
+ #
19
+ # Copyright (c) 1999-2003 Minero Aoki <aamine@loveruby.net>
15
20
  #
16
21
  # This program is free software.
17
22
  # You can distribute/modify this program under the same terms of ruby.
@@ -20,11 +25,14 @@ self.class.module_eval(<<'...end racc/parser.rb/module_eval...', 'racc/parser.rb
20
25
  # into a Racc output file, you may use that output file
21
26
  # without restriction.
22
27
  #
28
+ # $Id: parse.rb,v 1.4 2004/02/29 07:38:29 masa Exp $
29
+ #
23
30
 
24
31
  unless defined?(NotImplementedError)
25
32
  NotImplementedError = NotImplementError
26
33
  end
27
34
 
35
+
28
36
  module Racc
29
37
  class ParseError < StandardError; end
30
38
  end
@@ -32,6 +40,7 @@ unless defined?(::ParseError)
32
40
  ParseError = Racc::ParseError
33
41
  end
34
42
 
43
+
35
44
  module Racc
36
45
 
37
46
  unless defined?(Racc_No_Extentions)
@@ -40,15 +49,15 @@ module Racc
40
49
 
41
50
  class Parser
42
51
 
43
- Racc_Runtime_Version = '1.4.6'
44
- Racc_Runtime_Revision = '$Id$'
52
+ Racc_Runtime_Version = '1.4.3'
53
+ Racc_Runtime_Revision = '$Revision: 1.4 $'.split(/\s+/)[1]
45
54
 
46
- Racc_Runtime_Core_Version_R = '1.4.6'
47
- Racc_Runtime_Core_Revision_R = '$Id$'.split[1]
55
+ Racc_Runtime_Core_Version_R = '1.4.3'
56
+ Racc_Runtime_Core_Revision_R = '$Revision: 1.4 $'.split(/\s+/)[1]
48
57
  begin
49
58
  require 'racc/cparse'
50
59
  # Racc_Runtime_Core_Version_C = (defined in extention)
51
- Racc_Runtime_Core_Revision_C = Racc_Runtime_Core_Id_C.split[2]
60
+ Racc_Runtime_Core_Revision_C = Racc_Runtime_Core_Id_C.split(/\s+/)[2]
52
61
  unless new.respond_to?(:_racc_do_parse_c, true)
53
62
  raise LoadError, 'old cparse.so'
54
63
  end
@@ -77,9 +86,9 @@ module Racc
77
86
 
78
87
  def _racc_setup
79
88
  @yydebug = false unless self.class::Racc_debug_parser
80
- @yydebug = false unless defined?(@yydebug)
89
+ @yydebug = false unless defined? @yydebug
81
90
  if @yydebug
82
- @racc_debug_out = $stderr unless defined?(@racc_debug_out)
91
+ @racc_debug_out = $stderr unless defined? @racc_debug_out
83
92
  @racc_debug_out ||= $stderr
84
93
  end
85
94
  arg = self.class::Racc_arg
@@ -101,19 +110,20 @@ module Racc
101
110
  @racc_error_status = 0
102
111
  end
103
112
 
113
+
104
114
  ###
105
115
  ### do_parse
106
116
  ###
107
117
 
108
118
  def do_parse
109
- __send__(Racc_Main_Parsing_Routine, _racc_setup(), false)
119
+ __send__ Racc_Main_Parsing_Routine, _racc_setup(), false
110
120
  end
111
121
 
112
122
  def next_token
113
123
  raise NotImplementedError, "#{self.class}\#next_token is not defined"
114
124
  end
115
125
 
116
- def _racc_do_parse_rb(arg, in_debug)
126
+ def _racc_do_parse_rb( arg, in_debug )
117
127
  action_table, action_check, action_default, action_pointer,
118
128
  goto_table, goto_check, goto_default, goto_pointer,
119
129
  nt_base, reduce_table, token_table, shift_n,
@@ -124,33 +134,34 @@ module Racc
124
134
  nerr = 0
125
135
 
126
136
  catch(:racc_end_parse) {
127
- while true
128
- if i = action_pointer[@racc_state[-1]]
129
- if @racc_read_next
130
- if @racc_t != 0 # not EOF
131
- tok, @racc_val = next_token()
132
- unless tok # EOF
133
- @racc_t = 0
134
- else
135
- @racc_t = (token_table[tok] or 1) # error token
137
+ while true
138
+ if i = action_pointer[@racc_state[-1]]
139
+ if @racc_read_next
140
+ if @racc_t != 0 # not EOF
141
+ tok, @racc_val = next_token()
142
+ unless tok # EOF
143
+ @racc_t = 0
144
+ else
145
+ @racc_t = (token_table[tok] or 1) # error token
146
+ end
147
+ racc_read_token(@racc_t, tok, @racc_val) if @yydebug
148
+ @racc_read_next = false
136
149
  end
137
- racc_read_token(@racc_t, tok, @racc_val) if @yydebug
138
- @racc_read_next = false
139
150
  end
140
- end
141
- i += @racc_t
142
- unless i >= 0 and
143
- act = action_table[i] and
144
- action_check[i] == @racc_state[-1]
151
+ i += @racc_t
152
+ if i >= 0 and
153
+ act = action_table[i] and
154
+ action_check[i] == @racc_state[-1]
155
+ ;
156
+ else
157
+ act = action_default[@racc_state[-1]]
158
+ end
159
+ else
145
160
  act = action_default[@racc_state[-1]]
146
161
  end
147
- else
148
- act = action_default[@racc_state[-1]]
149
- end
150
- while act = _racc_evalact(act, arg)
151
- ;
162
+ while act = _racc_evalact(act, arg)
163
+ end
152
164
  end
153
- end
154
165
  }
155
166
  end
156
167
 
@@ -158,26 +169,31 @@ module Racc
158
169
  ### yyparse
159
170
  ###
160
171
 
161
- def yyparse(recv, mid)
162
- __send__(Racc_YY_Parse_Method, recv, mid, _racc_setup(), true)
172
+ def yyparse( recv, mid )
173
+ __send__ Racc_YY_Parse_Method, recv, mid, _racc_setup(), true
163
174
  end
164
175
 
165
- def _racc_yyparse_rb(recv, mid, arg, c_debug)
176
+ def _racc_yyparse_rb( recv, mid, arg, c_debug )
166
177
  action_table, action_check, action_default, action_pointer,
167
178
  goto_table, goto_check, goto_default, goto_pointer,
168
179
  nt_base, reduce_table, token_table, shift_n,
169
180
  reduce_n, use_result, * = arg
170
181
 
171
182
  _racc_init_sysvars
183
+ tok = nil
184
+ act = nil
185
+ i = nil
172
186
  nerr = 0
173
187
 
188
+
174
189
  catch(:racc_end_parse) {
175
190
  until i = action_pointer[@racc_state[-1]]
176
191
  while act = _racc_evalact(action_default[@racc_state[-1]], arg)
177
- ;
178
192
  end
179
193
  end
194
+
180
195
  recv.__send__(mid) do |tok, val|
196
+ # $stderr.puts "rd: tok=#{tok}, val=#{val}"
181
197
  unless tok
182
198
  @racc_t = 0
183
199
  else
@@ -187,26 +203,35 @@ module Racc
187
203
  @racc_read_next = false
188
204
 
189
205
  i += @racc_t
190
- unless i >= 0 and
191
- act = action_table[i] and
192
- action_check[i] == @racc_state[-1]
206
+ if i >= 0 and
207
+ act = action_table[i] and
208
+ action_check[i] == @racc_state[-1]
209
+ ;
210
+ # $stderr.puts "01: act=#{act}"
211
+ else
193
212
  act = action_default[@racc_state[-1]]
213
+ # $stderr.puts "02: act=#{act}"
214
+ # $stderr.puts "curstate=#{@racc_state[-1]}"
194
215
  end
216
+
195
217
  while act = _racc_evalact(act, arg)
196
- ;
197
218
  end
198
219
 
199
- while !(i = action_pointer[@racc_state[-1]]) ||
200
- ! @racc_read_next ||
201
- @racc_t == 0 # $
202
- unless i and i += @racc_t and
203
- i >= 0 and
204
- act = action_table[i] and
205
- action_check[i] == @racc_state[-1]
220
+ while not (i = action_pointer[@racc_state[-1]]) or
221
+ not @racc_read_next or
222
+ @racc_t == 0 # $
223
+ if i and i += @racc_t and
224
+ i >= 0 and
225
+ act = action_table[i] and
226
+ action_check[i] == @racc_state[-1]
227
+ ;
228
+ # $stderr.puts "03: act=#{act}"
229
+ else
230
+ # $stderr.puts "04: act=#{act}"
206
231
  act = action_default[@racc_state[-1]]
207
232
  end
233
+
208
234
  while act = _racc_evalact(act, arg)
209
- ;
210
235
  end
211
236
  end
212
237
  end
@@ -217,23 +242,27 @@ module Racc
217
242
  ### common
218
243
  ###
219
244
 
220
- def _racc_evalact(act, arg)
245
+ def _racc_evalact( act, arg )
246
+ # $stderr.puts "ea: act=#{act}"
221
247
  action_table, action_check, action_default, action_pointer,
222
248
  goto_table, goto_check, goto_default, goto_pointer,
223
249
  nt_base, reduce_table, token_table, shift_n,
224
250
  reduce_n, use_result, * = arg
225
- nerr = 0 # tmp
251
+ nerr = 0 # tmp
226
252
 
227
253
  if act > 0 and act < shift_n
228
254
  #
229
255
  # shift
230
256
  #
257
+
231
258
  if @racc_error_status > 0
232
259
  @racc_error_status -= 1 unless @racc_t == 1 # error token
233
260
  end
261
+
234
262
  @racc_vstack.push @racc_val
235
263
  @racc_state.push act
236
264
  @racc_read_next = true
265
+
237
266
  if @yydebug
238
267
  @racc_tstack.push @racc_t
239
268
  racc_shift @racc_t, @racc_tstack, @racc_vstack
@@ -243,9 +272,10 @@ module Racc
243
272
  #
244
273
  # reduce
245
274
  #
275
+
246
276
  code = catch(:racc_jump) {
247
- @racc_state.push _racc_do_reduce(arg, act)
248
- false
277
+ @racc_state.push _racc_do_reduce(arg, act)
278
+ false
249
279
  }
250
280
  if code
251
281
  case code
@@ -255,7 +285,7 @@ module Racc
255
285
  when 2 # yyaccept
256
286
  return shift_n
257
287
  else
258
- raise '[Racc Bug] unknown jump code'
288
+ raise RuntimeError, '[Racc Bug] unknown jump code'
259
289
  end
260
290
  end
261
291
 
@@ -263,6 +293,7 @@ module Racc
263
293
  #
264
294
  # accept
265
295
  #
296
+
266
297
  racc_accept if @yydebug
267
298
  throw :racc_end_parse, @racc_vstack[0]
268
299
 
@@ -270,6 +301,7 @@ module Racc
270
301
  #
271
302
  # error
272
303
  #
304
+
273
305
  case @racc_error_status
274
306
  when 0
275
307
  unless arg[21] # user_yyerror
@@ -284,6 +316,7 @@ module Racc
284
316
  end
285
317
  @racc_user_yyerror = false
286
318
  @racc_error_status = 3
319
+
287
320
  while true
288
321
  if i = action_pointer[@racc_state[-1]]
289
322
  i += 1 # error token
@@ -293,7 +326,8 @@ module Racc
293
326
  break
294
327
  end
295
328
  end
296
- throw :racc_end_parse, nil if @racc_state.size <= 1
329
+
330
+ throw :racc_end_parse, nil if @racc_state.size < 2
297
331
  @racc_state.pop
298
332
  @racc_vstack.pop
299
333
  if @yydebug
@@ -301,10 +335,11 @@ module Racc
301
335
  racc_e_pop @racc_state, @racc_tstack, @racc_vstack
302
336
  end
303
337
  end
338
+
304
339
  return act
305
340
 
306
341
  else
307
- raise "[Racc Bug] unknown action #{act.inspect}"
342
+ raise RuntimeError, "[Racc Bug] unknown action #{act.inspect}"
308
343
  end
309
344
 
310
345
  racc_next_state(@racc_state[-1], @racc_state) if @yydebug
@@ -312,7 +347,7 @@ module Racc
312
347
  nil
313
348
  end
314
349
 
315
- def _racc_do_reduce(arg, act)
350
+ def _racc_do_reduce( arg, act )
316
351
  action_table, action_check, action_default, action_pointer,
317
352
  goto_table, goto_check, goto_default, goto_pointer,
318
353
  nt_base, reduce_table, token_table, shift_n,
@@ -353,7 +388,7 @@ module Racc
353
388
  goto_default[k1]
354
389
  end
355
390
 
356
- def on_error(t, val, vstack)
391
+ def on_error( t, val, vstack )
357
392
  raise ParseError, sprintf("\nparse error on value %s (%s)",
358
393
  val.inspect, token_to_str(t) || '?')
359
394
  end
@@ -370,24 +405,23 @@ module Racc
370
405
  @racc_error_status = 0
371
406
  end
372
407
 
373
- #
408
+
374
409
  # for debugging output
375
- #
376
410
 
377
- def racc_read_token(t, tok, val)
411
+ def racc_read_token( t, tok, val )
378
412
  @racc_debug_out.print 'read '
379
413
  @racc_debug_out.print tok.inspect, '(', racc_token2str(t), ') '
380
414
  @racc_debug_out.puts val.inspect
381
415
  @racc_debug_out.puts
382
416
  end
383
417
 
384
- def racc_shift(tok, tstack, vstack)
418
+ def racc_shift( tok, tstack, vstack )
385
419
  @racc_debug_out.puts "shift #{racc_token2str tok}"
386
420
  racc_print_stacks tstack, vstack
387
421
  @racc_debug_out.puts
388
422
  end
389
423
 
390
- def racc_reduce(toks, sim, tstack, vstack)
424
+ def racc_reduce( toks, sim, tstack, vstack )
391
425
  out = @racc_debug_out
392
426
  out.print 'reduce '
393
427
  if toks.empty?
@@ -406,20 +440,20 @@ module Racc
406
440
  @racc_debug_out.puts
407
441
  end
408
442
 
409
- def racc_e_pop(state, tstack, vstack)
443
+ def racc_e_pop( state, tstack, vstack )
410
444
  @racc_debug_out.puts 'error recovering mode: pop token'
411
445
  racc_print_states state
412
446
  racc_print_stacks tstack, vstack
413
447
  @racc_debug_out.puts
414
448
  end
415
449
 
416
- def racc_next_state(curstate, state)
450
+ def racc_next_state( curstate, state )
417
451
  @racc_debug_out.puts "goto #{curstate}"
418
452
  racc_print_states state
419
453
  @racc_debug_out.puts
420
454
  end
421
455
 
422
- def racc_print_stacks(t, v)
456
+ def racc_print_stacks( t, v )
423
457
  out = @racc_debug_out
424
458
  out.print ' ['
425
459
  t.each_index do |i|
@@ -428,29 +462,28 @@ module Racc
428
462
  out.puts ' ]'
429
463
  end
430
464
 
431
- def racc_print_states(s)
465
+ def racc_print_states( s )
432
466
  out = @racc_debug_out
433
467
  out.print ' ['
434
468
  s.each {|st| out.print ' ', st }
435
469
  out.puts ' ]'
436
470
  end
437
471
 
438
- def racc_token2str(tok)
472
+ def racc_token2str( tok )
439
473
  self.class::Racc_token_to_s_table[tok] or
440
- raise "[Racc Bug] can't convert token #{tok} to string"
474
+ raise RuntimeError, "[Racc Bug] can't convert token #{tok} to string"
441
475
  end
442
476
 
443
- def token_to_str(t)
477
+ def token_to_str( t )
444
478
  self.class::Racc_token_to_s_table[t]
445
479
  end
446
480
 
447
481
  end
448
482
 
449
483
  end
484
+ ..end /usr/local/lib/ruby/site_ruby/1.8/racc/parser.rb modeval..idb0d4489999
485
+ end # end of racc/parser.rb
450
486
 
451
- ...end racc/parser.rb/module_eval...
452
- end
453
- ###### racc/parser.rb end
454
487
 
455
488
 
456
489
  # parse.y, quanty/parse.rb
@@ -459,9 +492,10 @@ end
459
492
  #
460
493
  class Quanty
461
494
 
495
+
462
496
  class Parse < Racc::Parser
463
497
 
464
- module_eval(<<'...end parse.y/module_eval...', 'parse.y', 72)
498
+ module_eval <<'..end parse.y modeval..id8dd3e186dd', 'parse.y', 73
465
499
 
466
500
  def parse( str )
467
501
  @q = []
@@ -469,18 +503,16 @@ module_eval(<<'...end parse.y/module_eval...', 'parse.y', 72)
469
503
  while str.size > 0 do
470
504
  #p str
471
505
  case str
472
- when /\A[\s\n]+/ou
473
- when /\A\d+\.?\d*([eE][+-]?\d+)?/ou
506
+ when /\A[\s\n]+/o
507
+ when /\A\d+\.?\d*([eE][+-]?\d+)?/o
474
508
  @q.push [:NUMBER, $&.to_f]
475
- when /\A([A-Z]\.){2}/u
476
- when /\A[A-Za-z_]+ -/u
477
- when /\A[A-Za-z_µ]+([A-Za-z_µ0-9-]+[A-Za-z_µ])?/ou
509
+ when /\A[A-Za-z_]+([A-Za-z_0-9-]+[A-Za-z_])?/o
478
510
  @q.push [:WORD, $&]
479
- when /\A[$%'"]'?/ou
511
+ when /\A[$%'"]'?/o
480
512
  @q.push [:WORD, $&]
481
- when /\A\^|\A\*\*/ou
513
+ when /\A\^|\A\*\*/o
482
514
  @q.push [:POW, $&]
483
- when /\A./ou
515
+ when /\A./o
484
516
  @q.push [$&,$&]
485
517
  end
486
518
  str = $'
@@ -494,357 +526,372 @@ module_eval(<<'...end parse.y/module_eval...', 'parse.y', 72)
494
526
  @q.shift
495
527
  end
496
528
 
497
- ...end parse.y/module_eval...
498
- ##### State transition tables begin ###
529
+ ..end parse.y modeval..id8dd3e186dd
530
+
531
+ ##### racc 1.4.4 generates ###
532
+
533
+ racc_reduce_table = [
534
+ 0, 0, :racc_error,
535
+ 1, 18, :_reduce_none,
536
+ 0, 18, :_reduce_2,
537
+ 1, 18, :_reduce_3,
538
+ 1, 20, :_reduce_none,
539
+ 2, 20, :_reduce_5,
540
+ 3, 20, :_reduce_6,
541
+ 3, 20, :_reduce_7,
542
+ 3, 20, :_reduce_8,
543
+ 3, 20, :_reduce_9,
544
+ 3, 20, :_reduce_10,
545
+ 3, 20, :_reduce_11,
546
+ 3, 20, :_reduce_12,
547
+ 1, 19, :_reduce_none,
548
+ 2, 19, :_reduce_14,
549
+ 2, 19, :_reduce_15,
550
+ 3, 19, :_reduce_16,
551
+ 1, 21, :_reduce_none,
552
+ 2, 21, :_reduce_18,
553
+ 3, 21, :_reduce_19,
554
+ 3, 21, :_reduce_20,
555
+ 3, 21, :_reduce_21,
556
+ 3, 21, :_reduce_22,
557
+ 3, 21, :_reduce_23,
558
+ 1, 22, :_reduce_none,
559
+ 2, 22, :_reduce_25,
560
+ 3, 22, :_reduce_26,
561
+ 1, 23, :_reduce_27,
562
+ 3, 23, :_reduce_28,
563
+ 3, 23, :_reduce_29 ]
564
+
565
+ racc_reduce_n = 30
566
+
567
+ racc_shift_n = 54
499
568
 
500
569
  racc_action_table = [
501
- 23, 22, 24, 25, 26, 27, 29, 23, 20, 38,
502
- 3, 4, 23, 23, 24, 25, 26, 27, 29, 23,
503
- 20, 23, 3, 4, 23, 33, 24, 25, 26, 27,
504
- 29, 40, 20, 37, 3, 4, 23, 39, 24, 36,
505
- 26, 27, 29, 30, 31, 38, nil, 30, 31, 20,
506
- nil, 3, 4, 20, 5, 3, 4, 10, 12, 2,
507
- 5, 3, 4, 10, 12, 2, 5, 3, 4, 10,
508
- 12, 2, 5, 3, 4, 10, 12, 2, 14, 3,
509
- 4, nil, nil, 23, 10, 12, 13, 26, 27, 29,
510
- 23, nil, nil, 23, 26, 27, 29, 26, 27, 29,
511
- 23, 10, 12, 13, 26, 27, 29, 10, 12, 2,
512
- nil, 3, 4, 10, 12, 2, nil, 3, 4, 10,
513
- 12, 2, nil, 3, 4, 23, nil, 24, 36, 26,
514
- 23, nil, 24, 36, 26, 20, nil, 3, 4, 10,
515
- 12, 13, 10, 12, 13, 10, 12, 13, 10, 12,
516
- 13, 10, 12, 13, 10, 12, 13, 10, 12, 13 ]
570
+ 23, 22, 23, 24, 25, 26, 27, 29, 23, 21,
571
+ 39, 5, 6, 23, 23, 23, 24, 25, 26, 27,
572
+ 29, 34, 21, 23, 5, 6, 24, 25, 26, 27,
573
+ 29, 41, 21, 23, 5, 6, 24, 37, 26, 27,
574
+ 29, 38, 40, 39, 31, 32, 33, nil, 31, 32,
575
+ 33, 21, 14, 5, 6, 21, nil, 5, 6, 12,
576
+ 2, 13, 7, nil, nil, 12, 2, 4, 7, 5,
577
+ 6, 12, 2, 4, 7, 5, 6, 12, 2, 4,
578
+ 7, 5, 6, 12, 2, 4, 23, 5, 6, 23,
579
+ nil, 26, 27, 29, 26, 27, 29, 23, nil, nil,
580
+ 23, nil, 26, 27, 29, 26, 27, 29, 12, 2,
581
+ 4, nil, 5, 6, 12, 2, 4, 23, 5, 6,
582
+ 24, 37, 26, 12, 2, 4, 23, 5, 6, 24,
583
+ 37, 26, 21, nil, 5, 6, 21, nil, 5, 6,
584
+ 12, 2, 13, 12, 2, 13, 12, 2, 13, 12,
585
+ 2, 13, 12, 2, 13, 12, 2, 13, 12, 2,
586
+ 13, 12, 2, 13 ]
517
587
 
518
588
  racc_action_check = [
519
- 17, 6, 17, 17, 17, 17, 17, 41, 17, 17,
520
- 17, 17, 19, 42, 19, 19, 19, 19, 19, 43,
521
- 19, 45, 19, 19, 8, 10, 8, 8, 8, 8,
522
- 8, 22, 8, 16, 8, 8, 34, 18, 34, 34,
523
- 34, 34, 34, 28, 28, 34, nil, 9, 9, 28,
524
- nil, 28, 28, 9, 0, 9, 9, 0, 0, 0,
525
- 20, 0, 0, 20, 20, 20, 4, 20, 20, 4,
526
- 4, 4, 2, 4, 4, 2, 2, 2, 1, 2,
527
- 2, nil, nil, 15, 1, 1, 1, 15, 15, 15,
528
- 48, nil, nil, 35, 48, 48, 48, 35, 35, 35,
529
- 50, 29, 29, 29, 50, 50, 50, 31, 31, 31,
530
- nil, 31, 31, 30, 30, 30, nil, 30, 30, 25,
531
- 25, 25, nil, 25, 25, 47, nil, 47, 47, 47,
532
- 46, nil, 46, 46, 46, 5, nil, 5, 5, 27,
533
- 27, 27, 13, 13, 13, 23, 23, 23, 14, 14,
534
- 14, 36, 36, 36, 26, 26, 26, 24, 24, 24 ]
589
+ 17, 8, 42, 17, 17, 17, 17, 17, 43, 17,
590
+ 17, 17, 17, 19, 45, 46, 19, 19, 19, 19,
591
+ 19, 12, 19, 10, 19, 19, 10, 10, 10, 10,
592
+ 10, 22, 10, 35, 10, 10, 35, 35, 35, 35,
593
+ 35, 16, 18, 35, 28, 28, 28, nil, 11, 11,
594
+ 11, 28, 3, 28, 28, 11, nil, 11, 11, 3,
595
+ 3, 3, 21, nil, nil, 21, 21, 21, 6, 21,
596
+ 21, 6, 6, 6, 4, 6, 6, 4, 4, 4,
597
+ 0, 4, 4, 0, 0, 0, 15, 0, 0, 51,
598
+ nil, 15, 15, 15, 51, 51, 51, 36, nil, nil,
599
+ 53, nil, 36, 36, 36, 53, 53, 53, 33, 33,
600
+ 33, nil, 33, 33, 32, 32, 32, 48, 32, 32,
601
+ 48, 48, 48, 25, 25, 25, 47, 25, 25, 47,
602
+ 47, 47, 31, nil, 31, 31, 7, nil, 7, 7,
603
+ 29, 29, 29, 13, 13, 13, 23, 23, 23, 14,
604
+ 14, 14, 26, 26, 26, 37, 37, 37, 27, 27,
605
+ 27, 24, 24, 24 ]
535
606
 
536
607
  racc_action_pointer = [
537
- 48, 75, 66, nil, 60, 124, 1, nil, 21, 42,
538
- 15, nil, nil, 133, 139, 80, 21, -3, 22, 9,
539
- 54, nil, 31, 136, 148, 110, 145, 130, 38, 92,
540
- 104, 98, nil, nil, 33, 90, 142, nil, nil, nil,
541
- nil, 4, 10, 16, nil, 18, 127, 122, 87, nil,
542
- 97, nil ]
608
+ 73, nil, nil, 49, 67, nil, 61, 124, 1, nil,
609
+ 20, 43, 10, 133, 139, 83, 28, -3, 26, 10,
610
+ nil, 55, 31, 136, 151, 113, 142, 148, 39, 130,
611
+ nil, 120, 104, 98, nil, 30, 94, 145, nil, nil,
612
+ nil, nil, -1, 5, nil, 11, 12, 123, 114, nil,
613
+ nil, 86, nil, 97 ]
543
614
 
544
615
  racc_action_default = [
545
- -2, -23, -29, -26, -29, -29, -29, -1, -3, -13,
546
- -29, -17, -4, -29, -29, -24, -29, -29, -29, -29,
547
- -29, -15, -29, -29, -29, -29, -29, -29, -14, -29,
548
- -29, -29, -18, -5, -29, -25, -29, -27, -12, -28,
549
- 52, -11, -10, -9, -16, -8, -6, -7, -21, -19,
550
- -22, -20 ]
616
+ -2, -17, -4, -24, -30, -27, -30, -30, -30, -1,
617
+ -3, -13, -30, -30, -30, -25, -30, -30, -30, -30,
618
+ -15, -30, -30, -30, -30, -30, -30, -30, -14, -30,
619
+ -18, -30, -30, -30, -5, -30, -26, -30, -28, -12,
620
+ -29, 54, -11, -10, -16, -9, -8, -6, -7, -19,
621
+ -20, -22, -21, -23 ]
551
622
 
552
623
  racc_goto_table = [
553
- 8, 15, 17, 7, 6, nil, 28, 18, nil, nil,
554
- nil, nil, 21, 34, 35, 28, 32, 28, nil, nil,
555
- nil, nil, nil, 41, 42, 43, 45, 46, nil, 47,
556
- 48, 50, 44, nil, nil, 32, 43, 49, 51 ]
624
+ 10, 28, 8, 15, 17, 9, nil, nil, 28, nil,
625
+ 28, 18, nil, 35, 36, nil, nil, 20, nil, nil,
626
+ nil, 30, nil, 42, 43, 45, 46, 47, nil, 48,
627
+ nil, nil, 51, 53, nil, 44, nil, 45, 30, nil,
628
+ nil, 49, 50, 52 ]
557
629
 
558
630
  racc_goto_check = [
559
- 3, 3, 3, 2, 1, nil, 4, 2, nil, nil,
560
- nil, nil, 5, 3, 3, 4, 5, 4, nil, nil,
561
- nil, nil, nil, 3, 3, 3, 3, 3, nil, 3,
562
- 3, 3, 5, nil, nil, 5, 3, 5, 5 ]
631
+ 3, 4, 1, 3, 3, 2, nil, nil, 4, nil,
632
+ 4, 2, nil, 3, 3, nil, nil, 5, nil, nil,
633
+ nil, 5, nil, 3, 3, 3, 3, 3, nil, 3,
634
+ nil, nil, 3, 3, nil, 5, nil, 3, 5, nil,
635
+ nil, 5, 5, 5 ]
563
636
 
564
637
  racc_goto_pointer = [
565
- nil, 4, 3, 0, -2, 7, nil ]
638
+ nil, 2, 5, 0, -9, 10, nil ]
566
639
 
567
640
  racc_goto_default = [
568
- nil, nil, 16, 19, 9, 11, 1 ]
569
-
570
- racc_reduce_table = [
571
- 0, 0, :racc_error,
572
- 1, 17, :_reduce_none,
573
- 0, 17, :_reduce_2,
574
- 1, 17, :_reduce_3,
575
- 1, 19, :_reduce_none,
576
- 2, 19, :_reduce_5,
577
- 3, 19, :_reduce_6,
578
- 3, 19, :_reduce_7,
579
- 3, 19, :_reduce_8,
580
- 3, 19, :_reduce_9,
581
- 3, 19, :_reduce_10,
582
- 3, 19, :_reduce_11,
583
- 3, 19, :_reduce_12,
584
- 1, 18, :_reduce_none,
585
- 2, 18, :_reduce_14,
586
- 2, 18, :_reduce_15,
587
- 3, 18, :_reduce_16,
588
- 1, 20, :_reduce_none,
589
- 2, 20, :_reduce_18,
590
- 3, 20, :_reduce_19,
591
- 3, 20, :_reduce_20,
592
- 3, 20, :_reduce_21,
593
- 3, 20, :_reduce_22,
594
- 1, 21, :_reduce_none,
595
- 2, 21, :_reduce_24,
596
- 3, 21, :_reduce_25,
597
- 1, 22, :_reduce_26,
598
- 3, 22, :_reduce_27,
599
- 3, 22, :_reduce_28 ]
600
-
601
- racc_reduce_n = 29
602
-
603
- racc_shift_n = 52
641
+ nil, nil, 16, 19, 11, 1, 3 ]
604
642
 
605
643
  racc_token_table = {
606
- false => 0,
607
- :error => 1,
608
- :UMINUS => 2,
609
- :POW => 3,
610
- :UPOW => 4,
611
- "*" => 5,
612
- "/" => 6,
613
- "|" => 7,
614
- "+" => 8,
615
- "-" => 9,
616
- :NUMBER => 10,
617
- "(" => 11,
618
- ")" => 12,
619
- :WORD => 13,
620
- "[" => 14,
621
- "]" => 15 }
622
-
623
- racc_nt_base = 16
644
+ false => 0,
645
+ Object.new => 1,
646
+ :UMINUS => 2,
647
+ :POW => 3,
648
+ :UPOW => 4,
649
+ "." => 5,
650
+ "*" => 6,
651
+ "/" => 7,
652
+ "|" => 8,
653
+ "+" => 9,
654
+ "-" => 10,
655
+ :NUMBER => 11,
656
+ "(" => 12,
657
+ ")" => 13,
658
+ :WORD => 14,
659
+ "[" => 15,
660
+ "]" => 16 }
624
661
 
625
662
  racc_use_result_var = true
626
663
 
664
+ racc_nt_base = 17
665
+
627
666
  Racc_arg = [
628
- racc_action_table,
629
- racc_action_check,
630
- racc_action_default,
631
- racc_action_pointer,
632
- racc_goto_table,
633
- racc_goto_check,
634
- racc_goto_default,
635
- racc_goto_pointer,
636
- racc_nt_base,
637
- racc_reduce_table,
638
- racc_token_table,
639
- racc_shift_n,
640
- racc_reduce_n,
641
- racc_use_result_var ]
667
+ racc_action_table,
668
+ racc_action_check,
669
+ racc_action_default,
670
+ racc_action_pointer,
671
+ racc_goto_table,
672
+ racc_goto_check,
673
+ racc_goto_default,
674
+ racc_goto_pointer,
675
+ racc_nt_base,
676
+ racc_reduce_table,
677
+ racc_token_table,
678
+ racc_shift_n,
679
+ racc_reduce_n,
680
+ racc_use_result_var ]
642
681
 
643
682
  Racc_token_to_s_table = [
644
- "$end",
645
- "error",
646
- "UMINUS",
647
- "POW",
648
- "UPOW",
649
- "\"*\"",
650
- "\"/\"",
651
- "\"|\"",
652
- "\"+\"",
653
- "\"-\"",
654
- "NUMBER",
655
- "\"(\"",
656
- "\")\"",
657
- "WORD",
658
- "\"[\"",
659
- "\"]\"",
660
- "$start",
661
- "target",
662
- "val",
663
- "num",
664
- "seq",
665
- "exp",
666
- "unit" ]
683
+ '$end',
684
+ 'error',
685
+ 'UMINUS',
686
+ 'POW',
687
+ 'UPOW',
688
+ '"."',
689
+ '"*"',
690
+ '"/"',
691
+ '"|"',
692
+ '"+"',
693
+ '"-"',
694
+ 'NUMBER',
695
+ '"("',
696
+ '")"',
697
+ 'WORD',
698
+ '"["',
699
+ '"]"',
700
+ '$start',
701
+ 'target',
702
+ 'val',
703
+ 'num',
704
+ 'seq',
705
+ 'exp',
706
+ 'unit']
667
707
 
668
708
  Racc_debug_parser = false
669
709
 
670
- ##### State transition tables end #####
710
+ ##### racc system variables end #####
671
711
 
672
- # reduce 0 omitted
712
+ # reduce 0 omitted
673
713
 
674
- # reduce 1 omitted
714
+ # reduce 1 omitted
675
715
 
676
- module_eval(<<'.,.,', 'parse.y', 21)
677
- def _reduce_2(val, _values, result)
678
- result = Quanty::Fact.new
679
- result
716
+ module_eval <<'.,.,', 'parse.y', 21
717
+ def _reduce_2( val, _values, result )
718
+ result = Quanty::Fact.new
719
+ result
680
720
  end
681
721
  .,.,
682
722
 
683
- module_eval(<<'.,.,', 'parse.y', 22)
684
- def _reduce_3(val, _values, result)
685
- result = Quanty::Fact.new(val[0])
686
- result
723
+ module_eval <<'.,.,', 'parse.y', 22
724
+ def _reduce_3( val, _values, result )
725
+ result = Quanty::Fact.new(val[0])
726
+ result
687
727
  end
688
728
  .,.,
689
729
 
690
- # reduce 4 omitted
730
+ # reduce 4 omitted
691
731
 
692
- module_eval(<<'.,.,', 'parse.y', 26)
693
- def _reduce_5(val, _values, result)
694
- result = -val[1]
695
- result
732
+ module_eval <<'.,.,', 'parse.y', 26
733
+ def _reduce_5( val, _values, result )
734
+ result = -val[1]
735
+ result
696
736
  end
697
737
  .,.,
698
738
 
699
- module_eval(<<'.,.,', 'parse.y', 27)
700
- def _reduce_6(val, _values, result)
701
- result += val[2]
702
- result
739
+ module_eval <<'.,.,', 'parse.y', 27
740
+ def _reduce_6( val, _values, result )
741
+ result += val[2]
742
+ result
703
743
  end
704
744
  .,.,
705
745
 
706
- module_eval(<<'.,.,', 'parse.y', 28)
707
- def _reduce_7(val, _values, result)
708
- result -= val[2]
709
- result
746
+ module_eval <<'.,.,', 'parse.y', 28
747
+ def _reduce_7( val, _values, result )
748
+ result -= val[2]
749
+ result
710
750
  end
711
751
  .,.,
712
752
 
713
- module_eval(<<'.,.,', 'parse.y', 29)
714
- def _reduce_8(val, _values, result)
715
- result /= val[2]
716
- result
753
+ module_eval <<'.,.,', 'parse.y', 29
754
+ def _reduce_8( val, _values, result )
755
+ result /= val[2]
756
+ result
717
757
  end
718
758
  .,.,
719
759
 
720
- module_eval(<<'.,.,', 'parse.y', 30)
721
- def _reduce_9(val, _values, result)
722
- result /= val[2]
723
- result
760
+ module_eval <<'.,.,', 'parse.y', 30
761
+ def _reduce_9( val, _values, result )
762
+ result /= val[2]
763
+ result
724
764
  end
725
765
  .,.,
726
766
 
727
- module_eval(<<'.,.,', 'parse.y', 31)
728
- def _reduce_10(val, _values, result)
729
- result *= val[2]
730
- result
767
+ module_eval <<'.,.,', 'parse.y', 31
768
+ def _reduce_10( val, _values, result )
769
+ result *= val[2]
770
+ result
731
771
  end
732
772
  .,.,
733
773
 
734
- module_eval(<<'.,.,', 'parse.y', 32)
735
- def _reduce_11(val, _values, result)
736
- result **= val[2]
737
- result
774
+ module_eval <<'.,.,', 'parse.y', 32
775
+ def _reduce_11( val, _values, result )
776
+ result **= val[2]
777
+ result
738
778
  end
739
779
  .,.,
740
780
 
741
- module_eval(<<'.,.,', 'parse.y', 33)
742
- def _reduce_12(val, _values, result)
743
- result = val[1]
744
- result
781
+ module_eval <<'.,.,', 'parse.y', 33
782
+ def _reduce_12( val, _values, result )
783
+ result = val[1]
784
+ result
745
785
  end
746
786
  .,.,
747
787
 
748
- # reduce 13 omitted
788
+ # reduce 13 omitted
749
789
 
750
- module_eval(<<'.,.,', 'parse.y', 37)
751
- def _reduce_14(val, _values, result)
752
- result = val[1].fac!(val[0])
753
- result
790
+ module_eval <<'.,.,', 'parse.y', 37
791
+ def _reduce_14( val, _values, result )
792
+ result = val[1].fac!(val[0])
793
+ result
754
794
  end
755
795
  .,.,
756
796
 
757
- module_eval(<<'.,.,', 'parse.y', 38)
758
- def _reduce_15(val, _values, result)
759
- result = val[1].pow!(-1)
760
- result
797
+ module_eval <<'.,.,', 'parse.y', 38
798
+ def _reduce_15( val, _values, result )
799
+ result = val[1].pow!(-1)
800
+ result
761
801
  end
762
802
  .,.,
763
803
 
764
- module_eval(<<'.,.,', 'parse.y', 39)
765
- def _reduce_16(val, _values, result)
766
- result = val[2].pow!(-1).fac!(val[0])
767
- result
804
+ module_eval <<'.,.,', 'parse.y', 39
805
+ def _reduce_16( val, _values, result )
806
+ result = val[2].pow!(-1).fac!(val[0])
807
+ result
768
808
  end
769
809
  .,.,
770
810
 
771
- # reduce 17 omitted
811
+ # reduce 17 omitted
812
+
813
+ module_eval <<'.,.,', 'parse.y', 43
814
+ def _reduce_18( val, _values, result )
815
+ result.mul!(val[1])
816
+ result
817
+ end
818
+ .,.,
772
819
 
773
- module_eval(<<'.,.,', 'parse.y', 43)
774
- def _reduce_18(val, _values, result)
775
- result.mul!(val[1])
776
- result
820
+ module_eval <<'.,.,', 'parse.y', 44
821
+ def _reduce_19( val, _values, result )
822
+ result.mul!(val[2])
823
+ result
777
824
  end
778
825
  .,.,
779
826
 
780
- module_eval(<<'.,.,', 'parse.y', 44)
781
- def _reduce_19(val, _values, result)
782
- result.mul!(val[2])
783
- result
827
+ module_eval <<'.,.,', 'parse.y', 45
828
+ def _reduce_20( val, _values, result )
829
+ result.mul!(val[2])
830
+ result
784
831
  end
785
832
  .,.,
786
833
 
787
- module_eval(<<'.,.,', 'parse.y', 45)
788
- def _reduce_20(val, _values, result)
789
- result.div!(val[2])
790
- result
834
+ module_eval <<'.,.,', 'parse.y', 46
835
+ def _reduce_21( val, _values, result )
836
+ result.div!(val[2])
837
+ result
791
838
  end
792
839
  .,.,
793
840
 
794
- module_eval(<<'.,.,', 'parse.y', 46)
795
- def _reduce_21(val, _values, result)
796
- result.fac!(val[2])
797
- result
841
+ module_eval <<'.,.,', 'parse.y', 47
842
+ def _reduce_22( val, _values, result )
843
+ result.fac!(val[2])
844
+ result
798
845
  end
799
846
  .,.,
800
847
 
801
- module_eval(<<'.,.,', 'parse.y', 47)
802
- def _reduce_22(val, _values, result)
803
- result.fac!(val[2]**-1)
804
- result
848
+ module_eval <<'.,.,', 'parse.y', 48
849
+ def _reduce_23( val, _values, result )
850
+ result.fac!(val[2]**-1)
851
+ result
805
852
  end
806
853
  .,.,
807
854
 
808
- # reduce 23 omitted
855
+ # reduce 24 omitted
809
856
 
810
- module_eval(<<'.,.,', 'parse.y', 51)
811
- def _reduce_24(val, _values, result)
812
- result.pow!(val[1])
813
- result
857
+ module_eval <<'.,.,', 'parse.y', 52
858
+ def _reduce_25( val, _values, result )
859
+ result.pow!(val[1])
860
+ result
814
861
  end
815
862
  .,.,
816
863
 
817
- module_eval(<<'.,.,', 'parse.y', 52)
818
- def _reduce_25(val, _values, result)
819
- result.pow!(val[2])
820
- result
864
+ module_eval <<'.,.,', 'parse.y', 53
865
+ def _reduce_26( val, _values, result )
866
+ result.pow!(val[2])
867
+ result
821
868
  end
822
869
  .,.,
823
870
 
824
- module_eval(<<'.,.,', 'parse.y', 55)
825
- def _reduce_26(val, _values, result)
826
- result = Quanty::Fact.new(val[0])
827
- result
871
+ module_eval <<'.,.,', 'parse.y', 56
872
+ def _reduce_27( val, _values, result )
873
+ result = Quanty::Fact.new(val[0])
874
+ result
828
875
  end
829
876
  .,.,
830
877
 
831
- module_eval(<<'.,.,', 'parse.y', 56)
832
- def _reduce_27(val, _values, result)
833
- result = val[1]
834
- result
878
+ module_eval <<'.,.,', 'parse.y', 57
879
+ def _reduce_28( val, _values, result )
880
+ result = val[1]
881
+ result
835
882
  end
836
883
  .,.,
837
884
 
838
- module_eval(<<'.,.,', 'parse.y', 57)
839
- def _reduce_28(val, _values, result)
840
- result = val[1]
841
- result
885
+ module_eval <<'.,.,', 'parse.y', 58
886
+ def _reduce_29( val, _values, result )
887
+ result = val[1]
888
+ result
842
889
  end
843
890
  .,.,
844
891
 
845
- def _reduce_none(val, _values, result)
846
- val[0]
847
- end
892
+ def _reduce_none( val, _values, result )
893
+ result
894
+ end
848
895
 
849
896
  end # class Parse
850
897