File tree 8 files changed +72
-79
lines changed
8 files changed +72
-79
lines changed Original file line number Diff line number Diff line change
1
+ Wed Nov 5 19:50:35 2003 Minero Aoki <
[email protected] >
2
+
3
+ * test/bench.y: remove dependency on amstd.
4
+
5
+ * test/chk.y: ditto.
6
+
7
+ * test/echk.y: ditto.
8
+
9
+ * test/ichk.y: ditto.
10
+
11
+ * test/intp.y: ditto.
12
+
13
+ * test/opt.y: ditto.
14
+
15
+ * test/percent.y: ditto.
16
+
1
17
Wed Nov 5 19:11:15 2003 Minero Aoki <
[email protected] >
2
18
3
19
* bin/racc (get_options): remove --no-extensions option;
Original file line number Diff line number Diff line change 1
-
2
- class Bench
1
+ class BenchmarkParser
3
2
4
3
rule
5
4
30
29
31
30
---- footer
32
31
33
- require ' amstd/bench '
32
+ require ' benchmark '
34
33
35
- p = Bench.new
36
- benchmark ( ' do' , 1 ) {
37
- p.parse
38
- }
34
+ Benchmark.bm do |x|
35
+ x.report { BenchmarkParser.new .parse }
36
+ end
Original file line number Diff line number Diff line change 23
23
| exp ' /' exp { result /= val[2 ] }
24
24
| ' (' { $emb = true } exp ' )'
25
25
{
26
- bug! unless $emb
26
+ raise ' must not happen ' unless $emb
27
27
result = val[2 ]
28
28
}
29
29
| ' -' NUMBER { result = -val[1 ] }
32
32
33
33
end
34
34
35
- ------ prepare -----------------------------
35
+ ----header
36
36
37
- require ' amstd/bug '
37
+ class Number ; end
38
38
39
- class Number ; end
40
-
41
- ------ inner -------------------------------
39
+ ----inner
42
40
43
41
def parse ( src )
44
42
$emb = false
45
- @plus = @str = nil
46
-
43
+ @plus = nil
44
+ @str = nil
47
45
@src = src
48
- ret = do_parse
49
- if @plus then
50
- @plus == 'plus' or bug! 'string parse failed '
46
+ result = do_parse
47
+ if @plus
48
+ raise 'string parse failed' unless @plus == 'plus'
51
49
end
52
- if @str then
53
- @str == 'string test' or bug! 'string parse failed '
50
+ if @str
51
+ raise 'string parse failed' unless @str == 'string test '
54
52
end
55
-
56
- ret
53
+ result
57
54
end
58
55
59
56
def next_token
@@ -64,17 +61,15 @@ class Number ; end
64
61
@yydebug = true
65
62
end
66
63
67
- ------ driver -------------------------------
64
+ ----footer
68
65
69
66
$parser = Calcp.new
70
- $tidx = 1
67
+ $test_number = 1
71
68
72
69
def chk( src, ans )
73
- ret = $parser.parse( src )
74
- unless ret == ans then
75
- bug! "test #{$tidx} fail"
76
- end
77
- $tidx += 1
70
+ result = $parser.parse(src)
71
+ raise "test #{$test_number} fail" unless result == ans
72
+ $test_number += 1
78
73
end
79
74
80
75
chk(
Original file line number Diff line number Diff line change 23
23
| exp ' /' exp { result /= val[2 ] }
24
24
| ' (' { $emb = true } exp ' )'
25
25
{
26
- bug! unless $emb
26
+ raise ' must not heppen ' unless $emb
27
27
result = val[2 ]
28
28
}
29
29
| ' -' NUMBER { result = -val[1 ] }
32
32
33
33
end
34
34
35
- ------ prepare -----------------------------
36
-
37
- require ' amstd/bug'
38
-
35
+ ----header
39
36
40
37
class Number ; end
41
38
42
- ------ inner -------------------------------
39
+ ----inner
43
40
44
41
def parse ( src )
45
42
@src = src
@@ -54,7 +51,7 @@ class Number ; end
54
51
@yydebug = true
55
52
end
56
53
57
- ------ driver -------------------------------
54
+ ----footer
58
55
59
56
$parser = Calcp.new
60
57
$tidx = 1
Original file line number Diff line number Diff line change 32
32
33
33
end
34
34
35
- ------ prepare -----------------------------
35
+ ----header
36
36
37
- require ' amstd/bug '
37
+ class Number ; end
38
38
39
-
40
- class Number ; end
41
-
42
- ------ inner -------------------------------
39
+ ----inner
43
40
44
41
def parse ( src )
45
42
@src = src
@@ -55,17 +52,15 @@ class Number ; end
55
52
@yydebug = true
56
53
end
57
54
58
- ------ driver -------------------------------
55
+ ----footer
59
56
60
57
$parser = Calcp.new
61
- $tidx = 1
58
+ $test_number = 1
62
59
63
60
def chk( src, ans )
64
- ret = $parser.parse( src )
65
- unless ret == ans then
66
- bug! "test #{$tidx} fail"
67
- end
68
- $tidx += 1
61
+ result = $parser.parse( src )
62
+ raise "test #{$test_number} fail" unless result == ans
63
+ $test_number += 1
69
64
end
70
65
71
66
chk(
Original file line number Diff line number Diff line change 185
185
#
186
186
# intp/parser.rb
187
187
#
188
- ####
189
- require ' amstd/bug' ####
190
- ####
191
188
192
189
---- inner
193
190
@@ -248,10 +245,6 @@ require 'amstd/bug' ####
248
245
lineno += 1
249
246
end
250
247
@q.push [ false, '$' ]
251
- if $DEBUG then #####
252
- # $stderr.puts @q.inspect #####
253
- @yydebug = true #####
254
- end #####
255
248
256
249
do_parse
257
250
end
Original file line number Diff line number Diff line change 25
25
| exp ' /' exp { chk (val[0 ] / val[2 ]) }
26
26
| ' (' { $emb = true } exp ' )'
27
27
{
28
- bug! unless $emb
28
+ raise ' must not happen ' unless $emb
29
29
val[2 ]
30
30
}
31
31
| ' -' NUMBER { -val[1 ] }
34
34
35
35
end
36
36
37
- ------ prepare -----------------------------
37
+ ----header
38
38
39
- require ' amstd/bug '
39
+ class Number ; end
40
40
41
- class Number ; end
42
-
43
- ------ inner -------------------------------
41
+ ----inner
44
42
45
43
def parse ( src )
46
44
@src = src
@@ -60,17 +58,15 @@ class Number ; end
60
58
i
61
59
end
62
60
63
- ------ driver -------------------------------
61
+ ----footer
64
62
65
63
$parser = Calcp.new
66
- $tidx = 1
64
+ $test_number = 1
67
65
68
66
def chk ( src, ans )
69
- ret = $parser.parse( src )
70
- unless ret == ans then
71
- bug! "test #{$tidx} fail"
72
- end
73
- $tidx += 1
67
+ result = $parser.parse(src)
68
+ raise "test #{$test_number} failed" unless result == ans
69
+ $test_number += 1
74
70
end
75
71
76
72
chk(
Original file line number Diff line number Diff line change 1
- class P
1
+ class ScannerChecker
2
2
rule
3
3
target: A
4
4
{
5
5
i = 7
6
6
i %= 4
7
- i.must_be 3
8
- tmp = %-percent string-
9
- tmp.must_be ' percent string'
7
+ raise ' assert failed ' unless i == 3
8
+ tmp = %-This is percent string. -
9
+ raise ' assert failed ' unless tmp == ' This is percent string. '
10
10
a = 5 ; b = 3
11
- ( a%b).must_be 2 #A
12
- # ( a %b).must_be 2 is % string
13
- ( a% b).must_be 2 #B
14
- ( a % b).must_be 2 #C
11
+ assert_equal ( 2 ,( a%b)) #A
12
+ # assert_equal( 2 ,( a %b)) # is %- string
13
+ assert_equal ( 2 ,( a% b)) #B
14
+ assert_equal ( 2 ,( a % b)) #C
15
15
}
16
16
end
17
17
26
26
@q.shift
27
27
end
28
28
29
+ def assert_equal ( expect, real )
30
+ raise "expect #{expect.inspect } but #{real.inspect }" unless expect == real
31
+ end
32
+
29
33
---- footer ----
30
34
31
- require ' amstd/must'
32
- parser = P.new .parse
35
+ parser = ScannerChecker.new.parse
You can’t perform that action at this time.
0 commit comments