cast 0.0.1 → 0.1.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,6 +1,3 @@
1
- require 'common'
2
- require 'stringio'
3
-
4
1
  ###
5
2
  ### ##################################################################
6
3
  ###
@@ -1810,6 +1807,16 @@ module NodeListModifierTests
1810
1807
  assert_nil(c.parent)
1811
1808
  end
1812
1809
 
1810
+ def test_pop_bad
1811
+ ## too many args
1812
+ a, b = 2.of{C::Int.new}
1813
+ list = _List[a, b]
1814
+ assert_raise(ArgumentError){list.pop(1, 2)}
1815
+ assert_same_list([a, b], list)
1816
+ assert_same(list, a.parent)
1817
+ assert_same(list, b.parent)
1818
+ end
1819
+
1813
1820
  def test_shift
1814
1821
  ## empty
1815
1822
  list = _List[]
@@ -1937,6 +1944,16 @@ module NodeListModifierTests
1937
1944
  assert_nil(b.parent)
1938
1945
  end
1939
1946
 
1947
+ def test_shift_bad
1948
+ ## too many args
1949
+ a, b = 2.of{C::Int.new}
1950
+ list = _List[a, b]
1951
+ assert_raise(ArgumentError){list.shift(1, 2)}
1952
+ assert_same_list([a, b], list)
1953
+ assert_same(list, a.parent)
1954
+ assert_same(list, b.parent)
1955
+ end
1956
+
1940
1957
  ###
1941
1958
  ### ----------------------------------------------------------------
1942
1959
  ### insert
@@ -6,8 +6,6 @@
6
6
  ### ##################################################################
7
7
  ###
8
8
 
9
- require 'common'
10
-
11
9
  class MatchTest < Test::Unit::TestCase
12
10
  def setup
13
11
  C.default_parser = C::Parser.new
@@ -79,7 +77,6 @@ class MatchTest < Test::Unit::TestCase
79
77
  end
80
78
 
81
79
  class ParseTests < Test::Unit::TestCase
82
- include CheckAst
83
80
  def check klass, s
84
81
  check_ast(s){|inp| klass.parse(inp)}
85
82
  end
@@ -108,7 +105,7 @@ TranslationUnit
108
105
  type: Void
109
106
  name: "f"
110
107
  EOS
111
- assert_raise(ParseError){C::TranslationUnit.parse('')}
108
+ assert_raise(C::ParseError){C::TranslationUnit.parse('')}
112
109
  end
113
110
 
114
111
  def test_declaration
@@ -132,9 +129,9 @@ Declaration
132
129
  - Declarator
133
130
  name: "j"
134
131
  EOS
135
- assert_raise(ParseError){C::Declaration.parse('int i; int j;')}
136
- assert_raise(ParseError){C::Declaration.parse('int f() {}')}
137
- assert_raise(ParseError){C::Declaration.parse('')}
132
+ assert_raise(C::ParseError){C::Declaration.parse('int i; int j;')}
133
+ assert_raise(C::ParseError){C::Declaration.parse('int f() {}')}
134
+ assert_raise(C::ParseError){C::Declaration.parse('')}
138
135
  end
139
136
 
140
137
  def test_parameter
@@ -163,12 +160,12 @@ void
163
160
  Parameter
164
161
  type: Void
165
162
  EOS
166
- assert_raise(ParseError){C::Parameter.parse('...')}
167
- assert_raise(ParseError){C::Parameter.parse(') {} void (')}
168
- assert_raise(ParseError){C::Parameter.parse('); void(')}
169
- assert_raise(ParseError){C::Parameter.parse('i,j')}
170
- assert_raise(ParseError){C::Parameter.parse('int,float')}
171
- assert_raise(ParseError){C::Parameter.parse('')}
163
+ assert_raise(C::ParseError){C::Parameter.parse('...')}
164
+ assert_raise(C::ParseError){C::Parameter.parse(') {} void (')}
165
+ assert_raise(C::ParseError){C::Parameter.parse('); void(')}
166
+ assert_raise(C::ParseError){C::Parameter.parse('i,j')}
167
+ assert_raise(C::ParseError){C::Parameter.parse('int,float')}
168
+ assert_raise(C::ParseError){C::Parameter.parse('')}
172
169
  end
173
170
 
174
171
  def test_declarator
@@ -211,10 +208,10 @@ Declarator
211
208
  name: "argv"
212
209
  name: "x"
213
210
  EOS
214
- assert_raise(ParseError){C::Declarator.parse('f; int f;')}
215
- assert_raise(ParseError){C::Declarator.parse('i,j')}
216
- assert_raise(ParseError){C::Declarator.parse(';')}
217
- assert_raise(ParseError){C::Declarator.parse('')}
211
+ assert_raise(C::ParseError){C::Declarator.parse('f; int f;')}
212
+ assert_raise(C::ParseError){C::Declarator.parse('i,j')}
213
+ assert_raise(C::ParseError){C::Declarator.parse(';')}
214
+ assert_raise(C::ParseError){C::Declarator.parse('')}
218
215
  end
219
216
 
220
217
  def test_function_def
@@ -239,11 +236,11 @@ FunctionDef
239
236
  type: Void
240
237
  name: "f"
241
238
  EOS
242
- assert_raise(ParseError){C::FunctionDef.parse('void f(); void g();')}
243
- assert_raise(ParseError){C::FunctionDef.parse('int i;')}
244
- assert_raise(ParseError){C::FunctionDef.parse('void f();')}
245
- assert_raise(ParseError){C::FunctionDef.parse(';')}
246
- assert_raise(ParseError){C::FunctionDef.parse('')}
239
+ assert_raise(C::ParseError){C::FunctionDef.parse('void f(); void g();')}
240
+ assert_raise(C::ParseError){C::FunctionDef.parse('int i;')}
241
+ assert_raise(C::ParseError){C::FunctionDef.parse('void f();')}
242
+ assert_raise(C::ParseError){C::FunctionDef.parse(';')}
243
+ assert_raise(C::ParseError){C::FunctionDef.parse('')}
247
244
  end
248
245
 
249
246
  def test_enumerator
@@ -261,10 +258,10 @@ Enumerator
261
258
  val: IntLiteral
262
259
  val: 10
263
260
  EOS
264
- assert_raise(ParseError){C::Enumerator.parse('} enum {')}
265
- assert_raise(ParseError){C::Enumerator.parse('} f() {')}
266
- assert_raise(ParseError){C::Enumerator.parse('X, Y')}
267
- assert_raise(ParseError){C::Enumerator.parse('')}
261
+ assert_raise(C::ParseError){C::Enumerator.parse('} enum {')}
262
+ assert_raise(C::ParseError){C::Enumerator.parse('} f() {')}
263
+ assert_raise(C::ParseError){C::Enumerator.parse('X, Y')}
264
+ assert_raise(C::ParseError){C::Enumerator.parse('')}
268
265
  end
269
266
 
270
267
  def test_member_initializer
@@ -311,12 +308,12 @@ MemberInit
311
308
  init: FloatLiteral
312
309
  val: 10.0
313
310
  EOS
314
- assert_raise(ParseError){C::MemberInit.parse('} int f() {')}
315
- assert_raise(ParseError){C::MemberInit.parse('}} f() {{')}
316
- assert_raise(ParseError){C::MemberInit.parse('1}; x = {1')}
317
- assert_raise(ParseError){C::MemberInit.parse('1}, y')}
318
- assert_raise(ParseError){C::MemberInit.parse('1, 2')}
319
- assert_raise(ParseError){C::MemberInit.parse('')}
311
+ assert_raise(C::ParseError){C::MemberInit.parse('} int f() {')}
312
+ assert_raise(C::ParseError){C::MemberInit.parse('}} f() {{')}
313
+ assert_raise(C::ParseError){C::MemberInit.parse('1}; x = {1')}
314
+ assert_raise(C::ParseError){C::MemberInit.parse('1}, y')}
315
+ assert_raise(C::ParseError){C::MemberInit.parse('1, 2')}
316
+ assert_raise(C::ParseError){C::MemberInit.parse('')}
320
317
  end
321
318
 
322
319
  def test_block
@@ -332,11 +329,11 @@ Block
332
329
  stmts:
333
330
  - Block
334
331
  EOS
335
- assert_raise(ParseError){C::Block.parse('} void f() {')}
336
- assert_raise(ParseError){C::Block.parse(';;')}
337
- assert_raise(ParseError){C::Block.parse('int i;')}
338
- assert_raise(ParseError){C::Block.parse(';')}
339
- assert_raise(ParseError){C::Block.parse('')}
332
+ assert_raise(C::ParseError){C::Block.parse('} void f() {')}
333
+ assert_raise(C::ParseError){C::Block.parse(';;')}
334
+ assert_raise(C::ParseError){C::Block.parse('int i;')}
335
+ assert_raise(C::ParseError){C::Block.parse(';')}
336
+ assert_raise(C::ParseError){C::Block.parse('')}
340
337
  end
341
338
 
342
339
  def test_if
@@ -363,11 +360,11 @@ If
363
360
  expr: IntLiteral
364
361
  val: 20
365
362
  EOS
366
- assert_raise(ParseError){C::If.parse('} void f() {')}
367
- assert_raise(ParseError){C::If.parse(';;')}
368
- assert_raise(ParseError){C::If.parse('int i;')}
369
- assert_raise(ParseError){C::If.parse(';')}
370
- assert_raise(ParseError){C::If.parse('')}
363
+ assert_raise(C::ParseError){C::If.parse('} void f() {')}
364
+ assert_raise(C::ParseError){C::If.parse(';;')}
365
+ assert_raise(C::ParseError){C::If.parse('int i;')}
366
+ assert_raise(C::ParseError){C::If.parse(';')}
367
+ assert_raise(C::ParseError){C::If.parse('')}
371
368
  end
372
369
 
373
370
  def test_switch
@@ -379,11 +376,11 @@ Switch
379
376
  name: "x"
380
377
  stmt: ExpressionStatement
381
378
  EOS
382
- assert_raise(ParseError){C::Switch.parse('} void f() {')}
383
- assert_raise(ParseError){C::Switch.parse(';;')}
384
- assert_raise(ParseError){C::Switch.parse('int i;')}
385
- assert_raise(ParseError){C::Switch.parse(';')}
386
- assert_raise(ParseError){C::Switch.parse('')}
379
+ assert_raise(C::ParseError){C::Switch.parse('} void f() {')}
380
+ assert_raise(C::ParseError){C::Switch.parse(';;')}
381
+ assert_raise(C::ParseError){C::Switch.parse('int i;')}
382
+ assert_raise(C::ParseError){C::Switch.parse(';')}
383
+ assert_raise(C::ParseError){C::Switch.parse('')}
387
384
  end
388
385
 
389
386
  def test_while
@@ -403,11 +400,11 @@ While (do)
403
400
  val: 1
404
401
  stmt: ExpressionStatement
405
402
  EOS
406
- assert_raise(ParseError){C::While.parse('} void f() {')}
407
- assert_raise(ParseError){C::While.parse(';;')}
408
- assert_raise(ParseError){C::While.parse('int i;')}
409
- assert_raise(ParseError){C::While.parse(';')}
410
- assert_raise(ParseError){C::While.parse('')}
403
+ assert_raise(C::ParseError){C::While.parse('} void f() {')}
404
+ assert_raise(C::ParseError){C::While.parse(';;')}
405
+ assert_raise(C::ParseError){C::While.parse('int i;')}
406
+ assert_raise(C::ParseError){C::While.parse(';')}
407
+ assert_raise(C::ParseError){C::While.parse('')}
411
408
  end
412
409
 
413
410
  def test_for
@@ -428,11 +425,11 @@ For
428
425
  name: "i"
429
426
  stmt: ExpressionStatement
430
427
  EOS
431
- assert_raise(ParseError){C::For.parse('} void f() {')}
432
- assert_raise(ParseError){C::For.parse(';;')}
433
- assert_raise(ParseError){C::For.parse('int i;')}
434
- assert_raise(ParseError){C::For.parse(';')}
435
- assert_raise(ParseError){C::For.parse('')}
428
+ assert_raise(C::ParseError){C::For.parse('} void f() {')}
429
+ assert_raise(C::ParseError){C::For.parse(';;')}
430
+ assert_raise(C::ParseError){C::For.parse('int i;')}
431
+ assert_raise(C::ParseError){C::For.parse(';')}
432
+ assert_raise(C::ParseError){C::For.parse('')}
436
433
  end
437
434
 
438
435
  def test_goto
@@ -442,11 +439,11 @@ goto x;
442
439
  Goto
443
440
  target: "x"
444
441
  EOS
445
- assert_raise(ParseError){C::Goto.parse('} void f() {')}
446
- assert_raise(ParseError){C::Goto.parse(';;')}
447
- assert_raise(ParseError){C::Goto.parse('int i;')}
448
- assert_raise(ParseError){C::Goto.parse(';')}
449
- assert_raise(ParseError){C::Goto.parse('')}
442
+ assert_raise(C::ParseError){C::Goto.parse('} void f() {')}
443
+ assert_raise(C::ParseError){C::Goto.parse(';;')}
444
+ assert_raise(C::ParseError){C::Goto.parse('int i;')}
445
+ assert_raise(C::ParseError){C::Goto.parse(';')}
446
+ assert_raise(C::ParseError){C::Goto.parse('')}
450
447
  end
451
448
 
452
449
  def test_continue
@@ -455,11 +452,11 @@ continue;
455
452
  ----
456
453
  Continue
457
454
  EOS
458
- assert_raise(ParseError){C::Continue.parse('} void f() {')}
459
- assert_raise(ParseError){C::Continue.parse(';;')}
460
- assert_raise(ParseError){C::Continue.parse('int i;')}
461
- assert_raise(ParseError){C::Continue.parse(';')}
462
- assert_raise(ParseError){C::Continue.parse('')}
455
+ assert_raise(C::ParseError){C::Continue.parse('} void f() {')}
456
+ assert_raise(C::ParseError){C::Continue.parse(';;')}
457
+ assert_raise(C::ParseError){C::Continue.parse('int i;')}
458
+ assert_raise(C::ParseError){C::Continue.parse(';')}
459
+ assert_raise(C::ParseError){C::Continue.parse('')}
463
460
  end
464
461
 
465
462
  def test_break
@@ -468,11 +465,11 @@ break;
468
465
  ----
469
466
  Break
470
467
  EOS
471
- assert_raise(ParseError){C::Break.parse('} void f() {')}
472
- assert_raise(ParseError){C::Break.parse(';;')}
473
- assert_raise(ParseError){C::Break.parse('int i;')}
474
- assert_raise(ParseError){C::Break.parse(';')}
475
- assert_raise(ParseError){C::Break.parse('')}
468
+ assert_raise(C::ParseError){C::Break.parse('} void f() {')}
469
+ assert_raise(C::ParseError){C::Break.parse(';;')}
470
+ assert_raise(C::ParseError){C::Break.parse('int i;')}
471
+ assert_raise(C::ParseError){C::Break.parse(';')}
472
+ assert_raise(C::ParseError){C::Break.parse('')}
476
473
  end
477
474
 
478
475
  def test_return
@@ -488,11 +485,11 @@ Return
488
485
  expr: IntLiteral
489
486
  val: 10
490
487
  EOS
491
- assert_raise(ParseError){C::Return.parse('} void f() {')}
492
- assert_raise(ParseError){C::Return.parse(';;')}
493
- assert_raise(ParseError){C::Return.parse('int i;')}
494
- assert_raise(ParseError){C::Return.parse(';')}
495
- assert_raise(ParseError){C::Return.parse('')}
488
+ assert_raise(C::ParseError){C::Return.parse('} void f() {')}
489
+ assert_raise(C::ParseError){C::Return.parse(';;')}
490
+ assert_raise(C::ParseError){C::Return.parse('int i;')}
491
+ assert_raise(C::ParseError){C::Return.parse(';')}
492
+ assert_raise(C::ParseError){C::Return.parse('')}
496
493
  end
497
494
 
498
495
  def test_expression_statement
@@ -508,11 +505,11 @@ ExpressionStatement
508
505
  expr: IntLiteral
509
506
  val: 10
510
507
  EOS
511
- assert_raise(ParseError){C::ExpressionStatement.parse('} void f() {')}
512
- assert_raise(ParseError){C::ExpressionStatement.parse(';;')}
513
- assert_raise(ParseError){C::ExpressionStatement.parse('int i;')}
514
- assert_raise(ParseError){C::ExpressionStatement.parse('return;')}
515
- assert_raise(ParseError){C::ExpressionStatement.parse('')}
508
+ assert_raise(C::ParseError){C::ExpressionStatement.parse('} void f() {')}
509
+ assert_raise(C::ParseError){C::ExpressionStatement.parse(';;')}
510
+ assert_raise(C::ParseError){C::ExpressionStatement.parse('int i;')}
511
+ assert_raise(C::ParseError){C::ExpressionStatement.parse('return;')}
512
+ assert_raise(C::ParseError){C::ExpressionStatement.parse('')}
516
513
  end
517
514
 
518
515
  def test_statement
@@ -590,10 +587,10 @@ EOS
590
587
  ----
591
588
  ExpressionStatement
592
589
  EOS
593
- assert_raise(ParseError){C::Statement.parse('} void f() {')}
594
- assert_raise(ParseError){C::Statement.parse(';;')}
595
- assert_raise(ParseError){C::Statement.parse('int i;')}
596
- assert_raise(ParseError){C::Statement.parse('')}
590
+ assert_raise(C::ParseError){C::Statement.parse('} void f() {')}
591
+ assert_raise(C::ParseError){C::Statement.parse(';;')}
592
+ assert_raise(C::ParseError){C::Statement.parse('int i;')}
593
+ assert_raise(C::ParseError){C::Statement.parse('')}
597
594
  end
598
595
 
599
596
  def test_plain_label
@@ -603,12 +600,12 @@ x:
603
600
  PlainLabel
604
601
  name: "x"
605
602
  EOS
606
- assert_raise(ParseError){C::PlainLabel.parse('} void f() {')}
607
- assert_raise(ParseError){C::PlainLabel.parse(';')}
608
- assert_raise(ParseError){C::PlainLabel.parse('')}
609
- assert_raise(ParseError){C::PlainLabel.parse('x')}
610
- assert_raise(ParseError){C::PlainLabel.parse('case 1:')}
611
- assert_raise(ParseError){C::PlainLabel.parse('default:')}
603
+ assert_raise(C::ParseError){C::PlainLabel.parse('} void f() {')}
604
+ assert_raise(C::ParseError){C::PlainLabel.parse(';')}
605
+ assert_raise(C::ParseError){C::PlainLabel.parse('')}
606
+ assert_raise(C::ParseError){C::PlainLabel.parse('x')}
607
+ assert_raise(C::ParseError){C::PlainLabel.parse('case 1:')}
608
+ assert_raise(C::ParseError){C::PlainLabel.parse('default:')}
612
609
  end
613
610
 
614
611
  def test_default
@@ -617,12 +614,12 @@ default:
617
614
  ----
618
615
  Default
619
616
  EOS
620
- assert_raise(ParseError){C::Default.parse('} void f() {')}
621
- assert_raise(ParseError){C::Default.parse(';')}
622
- assert_raise(ParseError){C::Default.parse('')}
623
- assert_raise(ParseError){C::Default.parse('x')}
624
- assert_raise(ParseError){C::Default.parse('x:')}
625
- assert_raise(ParseError){C::Default.parse('case 1:')}
617
+ assert_raise(C::ParseError){C::Default.parse('} void f() {')}
618
+ assert_raise(C::ParseError){C::Default.parse(';')}
619
+ assert_raise(C::ParseError){C::Default.parse('')}
620
+ assert_raise(C::ParseError){C::Default.parse('x')}
621
+ assert_raise(C::ParseError){C::Default.parse('x:')}
622
+ assert_raise(C::ParseError){C::Default.parse('case 1:')}
626
623
  end
627
624
 
628
625
  def test_case
@@ -633,11 +630,11 @@ Case
633
630
  expr: IntLiteral
634
631
  val: 1
635
632
  EOS
636
- assert_raise(ParseError){C::Case.parse('} void f() {')}
637
- assert_raise(ParseError){C::Case.parse(';')}
638
- assert_raise(ParseError){C::Case.parse('')}
639
- assert_raise(ParseError){C::Case.parse('x:')}
640
- assert_raise(ParseError){C::Case.parse('default:')}
633
+ assert_raise(C::ParseError){C::Case.parse('} void f() {')}
634
+ assert_raise(C::ParseError){C::Case.parse(';')}
635
+ assert_raise(C::ParseError){C::Case.parse('')}
636
+ assert_raise(C::ParseError){C::Case.parse('x:')}
637
+ assert_raise(C::ParseError){C::Case.parse('default:')}
641
638
  end
642
639
 
643
640
  def test_label
@@ -659,10 +656,10 @@ Case
659
656
  expr: IntLiteral
660
657
  val: 1
661
658
  EOS
662
- assert_raise(ParseError){C::Label.parse('} void f() {')}
663
- assert_raise(ParseError){C::Label.parse(';')}
664
- assert_raise(ParseError){C::Label.parse('')}
665
- assert_raise(ParseError){C::Label.parse('x')}
659
+ assert_raise(C::ParseError){C::Label.parse('} void f() {')}
660
+ assert_raise(C::ParseError){C::Label.parse(';')}
661
+ assert_raise(C::ParseError){C::Label.parse('')}
662
+ assert_raise(C::ParseError){C::Label.parse('x')}
666
663
  end
667
664
 
668
665
  def test_comma
@@ -690,15 +687,15 @@ Comma
690
687
  expr: Variable
691
688
  name: "j"
692
689
  EOS
693
- assert_raise(ParseError){C::Comma.parse('} void f() {')}
694
- assert_raise(ParseError){C::Comma.parse(';')}
695
- assert_raise(ParseError){C::Comma.parse('int i')}
696
- assert_raise(ParseError){C::Comma.parse('int')}
697
- assert_raise(ParseError){C::Comma.parse('if (0)')}
698
- assert_raise(ParseError){C::Comma.parse('switch (0)')}
699
- assert_raise(ParseError){C::Comma.parse('for (;;)')}
700
- assert_raise(ParseError){C::Comma.parse('goto')}
701
- assert_raise(ParseError){C::Comma.parse('return')}
690
+ assert_raise(C::ParseError){C::Comma.parse('} void f() {')}
691
+ assert_raise(C::ParseError){C::Comma.parse(';')}
692
+ assert_raise(C::ParseError){C::Comma.parse('int i')}
693
+ assert_raise(C::ParseError){C::Comma.parse('int')}
694
+ assert_raise(C::ParseError){C::Comma.parse('if (0)')}
695
+ assert_raise(C::ParseError){C::Comma.parse('switch (0)')}
696
+ assert_raise(C::ParseError){C::Comma.parse('for (;;)')}
697
+ assert_raise(C::ParseError){C::Comma.parse('goto')}
698
+ assert_raise(C::ParseError){C::Comma.parse('return')}
702
699
  end
703
700
 
704
701
  def test_conditional
@@ -713,15 +710,15 @@ Conditional
713
710
  else: IntLiteral
714
711
  val: 20
715
712
  EOS
716
- assert_raise(ParseError){C::Conditional.parse('} void f() {')}
717
- assert_raise(ParseError){C::Conditional.parse(';')}
718
- assert_raise(ParseError){C::Conditional.parse('int i')}
719
- assert_raise(ParseError){C::Conditional.parse('int')}
720
- assert_raise(ParseError){C::Conditional.parse('if (0)')}
721
- assert_raise(ParseError){C::Conditional.parse('switch (0)')}
722
- assert_raise(ParseError){C::Conditional.parse('for (;;)')}
723
- assert_raise(ParseError){C::Conditional.parse('goto')}
724
- assert_raise(ParseError){C::Conditional.parse('return')}
713
+ assert_raise(C::ParseError){C::Conditional.parse('} void f() {')}
714
+ assert_raise(C::ParseError){C::Conditional.parse(';')}
715
+ assert_raise(C::ParseError){C::Conditional.parse('int i')}
716
+ assert_raise(C::ParseError){C::Conditional.parse('int')}
717
+ assert_raise(C::ParseError){C::Conditional.parse('if (0)')}
718
+ assert_raise(C::ParseError){C::Conditional.parse('switch (0)')}
719
+ assert_raise(C::ParseError){C::Conditional.parse('for (;;)')}
720
+ assert_raise(C::ParseError){C::Conditional.parse('goto')}
721
+ assert_raise(C::ParseError){C::Conditional.parse('return')}
725
722
  end
726
723
 
727
724
  def test_cast
@@ -733,15 +730,15 @@ Cast
733
730
  expr: FloatLiteral
734
731
  val: 10.0
735
732
  EOS
736
- assert_raise(ParseError){C::Cast.parse('} void f() {')}
737
- assert_raise(ParseError){C::Cast.parse(';')}
738
- assert_raise(ParseError){C::Cast.parse('int i')}
739
- assert_raise(ParseError){C::Cast.parse('int')}
740
- assert_raise(ParseError){C::Cast.parse('if (0)')}
741
- assert_raise(ParseError){C::Cast.parse('switch (0)')}
742
- assert_raise(ParseError){C::Cast.parse('for (;;)')}
743
- assert_raise(ParseError){C::Cast.parse('goto')}
744
- assert_raise(ParseError){C::Cast.parse('return')}
733
+ assert_raise(C::ParseError){C::Cast.parse('} void f() {')}
734
+ assert_raise(C::ParseError){C::Cast.parse(';')}
735
+ assert_raise(C::ParseError){C::Cast.parse('int i')}
736
+ assert_raise(C::ParseError){C::Cast.parse('int')}
737
+ assert_raise(C::ParseError){C::Cast.parse('if (0)')}
738
+ assert_raise(C::ParseError){C::Cast.parse('switch (0)')}
739
+ assert_raise(C::ParseError){C::Cast.parse('for (;;)')}
740
+ assert_raise(C::ParseError){C::Cast.parse('goto')}
741
+ assert_raise(C::ParseError){C::Cast.parse('return')}
745
742
  end
746
743
 
747
744
  def test_address
@@ -752,15 +749,15 @@ Address
752
749
  expr: Variable
753
750
  name: "x"
754
751
  EOS
755
- assert_raise(ParseError){C::Address.parse('} void f() {')}
756
- assert_raise(ParseError){C::Address.parse(';')}
757
- assert_raise(ParseError){C::Address.parse('int i')}
758
- assert_raise(ParseError){C::Address.parse('int')}
759
- assert_raise(ParseError){C::Address.parse('if (0)')}
760
- assert_raise(ParseError){C::Address.parse('switch (0)')}
761
- assert_raise(ParseError){C::Address.parse('for (;;)')}
762
- assert_raise(ParseError){C::Address.parse('goto')}
763
- assert_raise(ParseError){C::Address.parse('return')}
752
+ assert_raise(C::ParseError){C::Address.parse('} void f() {')}
753
+ assert_raise(C::ParseError){C::Address.parse(';')}
754
+ assert_raise(C::ParseError){C::Address.parse('int i')}
755
+ assert_raise(C::ParseError){C::Address.parse('int')}
756
+ assert_raise(C::ParseError){C::Address.parse('if (0)')}
757
+ assert_raise(C::ParseError){C::Address.parse('switch (0)')}
758
+ assert_raise(C::ParseError){C::Address.parse('for (;;)')}
759
+ assert_raise(C::ParseError){C::Address.parse('goto')}
760
+ assert_raise(C::ParseError){C::Address.parse('return')}
764
761
  end
765
762
 
766
763
  def test_dereference
@@ -771,15 +768,15 @@ Dereference
771
768
  expr: Variable
772
769
  name: "x"
773
770
  EOS
774
- assert_raise(ParseError){C::Dereference.parse('} void f() {')}
775
- assert_raise(ParseError){C::Dereference.parse(';')}
776
- assert_raise(ParseError){C::Dereference.parse('int i')}
777
- assert_raise(ParseError){C::Dereference.parse('int')}
778
- assert_raise(ParseError){C::Dereference.parse('if (0)')}
779
- assert_raise(ParseError){C::Dereference.parse('switch (0)')}
780
- assert_raise(ParseError){C::Dereference.parse('for (;;)')}
781
- assert_raise(ParseError){C::Dereference.parse('goto')}
782
- assert_raise(ParseError){C::Dereference.parse('return')}
771
+ assert_raise(C::ParseError){C::Dereference.parse('} void f() {')}
772
+ assert_raise(C::ParseError){C::Dereference.parse(';')}
773
+ assert_raise(C::ParseError){C::Dereference.parse('int i')}
774
+ assert_raise(C::ParseError){C::Dereference.parse('int')}
775
+ assert_raise(C::ParseError){C::Dereference.parse('if (0)')}
776
+ assert_raise(C::ParseError){C::Dereference.parse('switch (0)')}
777
+ assert_raise(C::ParseError){C::Dereference.parse('for (;;)')}
778
+ assert_raise(C::ParseError){C::Dereference.parse('goto')}
779
+ assert_raise(C::ParseError){C::Dereference.parse('return')}
783
780
  end
784
781
 
785
782
  def test_sizeof
@@ -796,15 +793,15 @@ sizeof(int)
796
793
  Sizeof
797
794
  expr: Int
798
795
  EOS
799
- assert_raise(ParseError){C::Sizeof.parse('} void f() {')}
800
- assert_raise(ParseError){C::Sizeof.parse(';')}
801
- assert_raise(ParseError){C::Sizeof.parse('int i')}
802
- assert_raise(ParseError){C::Sizeof.parse('int')}
803
- assert_raise(ParseError){C::Sizeof.parse('if (0)')}
804
- assert_raise(ParseError){C::Sizeof.parse('switch (0)')}
805
- assert_raise(ParseError){C::Sizeof.parse('for (;;)')}
806
- assert_raise(ParseError){C::Sizeof.parse('goto')}
807
- assert_raise(ParseError){C::Sizeof.parse('return')}
796
+ assert_raise(C::ParseError){C::Sizeof.parse('} void f() {')}
797
+ assert_raise(C::ParseError){C::Sizeof.parse(';')}
798
+ assert_raise(C::ParseError){C::Sizeof.parse('int i')}
799
+ assert_raise(C::ParseError){C::Sizeof.parse('int')}
800
+ assert_raise(C::ParseError){C::Sizeof.parse('if (0)')}
801
+ assert_raise(C::ParseError){C::Sizeof.parse('switch (0)')}
802
+ assert_raise(C::ParseError){C::Sizeof.parse('for (;;)')}
803
+ assert_raise(C::ParseError){C::Sizeof.parse('goto')}
804
+ assert_raise(C::ParseError){C::Sizeof.parse('return')}
808
805
  end
809
806
 
810
807
  def test_index
@@ -820,15 +817,15 @@ Index
820
817
  index: IntLiteral
821
818
  val: 20
822
819
  EOS
823
- assert_raise(ParseError){C::Index.parse('} void f() {')}
824
- assert_raise(ParseError){C::Index.parse(';')}
825
- assert_raise(ParseError){C::Index.parse('int i')}
826
- assert_raise(ParseError){C::Index.parse('int')}
827
- assert_raise(ParseError){C::Index.parse('if (0)')}
828
- assert_raise(ParseError){C::Index.parse('switch (0)')}
829
- assert_raise(ParseError){C::Index.parse('for (;;)')}
830
- assert_raise(ParseError){C::Index.parse('goto')}
831
- assert_raise(ParseError){C::Index.parse('return')}
820
+ assert_raise(C::ParseError){C::Index.parse('} void f() {')}
821
+ assert_raise(C::ParseError){C::Index.parse(';')}
822
+ assert_raise(C::ParseError){C::Index.parse('int i')}
823
+ assert_raise(C::ParseError){C::Index.parse('int')}
824
+ assert_raise(C::ParseError){C::Index.parse('if (0)')}
825
+ assert_raise(C::ParseError){C::Index.parse('switch (0)')}
826
+ assert_raise(C::ParseError){C::Index.parse('for (;;)')}
827
+ assert_raise(C::ParseError){C::Index.parse('goto')}
828
+ assert_raise(C::ParseError){C::Index.parse('return')}
832
829
  end
833
830
 
834
831
  def test_call
@@ -845,15 +842,15 @@ Call
845
842
  - IntLiteral
846
843
  val: 20
847
844
  EOS
848
- assert_raise(ParseError){C::Call.parse('} void f() {')}
849
- assert_raise(ParseError){C::Call.parse(';')}
850
- assert_raise(ParseError){C::Call.parse('int i')}
851
- assert_raise(ParseError){C::Call.parse('int')}
852
- assert_raise(ParseError){C::Call.parse('if (0)')}
853
- assert_raise(ParseError){C::Call.parse('switch (0)')}
854
- assert_raise(ParseError){C::Call.parse('for (;;)')}
855
- assert_raise(ParseError){C::Call.parse('goto')}
856
- assert_raise(ParseError){C::Call.parse('return')}
845
+ assert_raise(C::ParseError){C::Call.parse('} void f() {')}
846
+ assert_raise(C::ParseError){C::Call.parse(';')}
847
+ assert_raise(C::ParseError){C::Call.parse('int i')}
848
+ assert_raise(C::ParseError){C::Call.parse('int')}
849
+ assert_raise(C::ParseError){C::Call.parse('if (0)')}
850
+ assert_raise(C::ParseError){C::Call.parse('switch (0)')}
851
+ assert_raise(C::ParseError){C::Call.parse('for (;;)')}
852
+ assert_raise(C::ParseError){C::Call.parse('goto')}
853
+ assert_raise(C::ParseError){C::Call.parse('return')}
857
854
  end
858
855
 
859
856
  def test_arrow
@@ -866,15 +863,15 @@ Arrow
866
863
  member: Member
867
864
  name: "y"
868
865
  EOS
869
- assert_raise(ParseError){C::Arrow.parse('} void f() {')}
870
- assert_raise(ParseError){C::Arrow.parse(';')}
871
- assert_raise(ParseError){C::Arrow.parse('int i')}
872
- assert_raise(ParseError){C::Arrow.parse('int')}
873
- assert_raise(ParseError){C::Arrow.parse('if (0)')}
874
- assert_raise(ParseError){C::Arrow.parse('switch (0)')}
875
- assert_raise(ParseError){C::Arrow.parse('for (;;)')}
876
- assert_raise(ParseError){C::Arrow.parse('goto')}
877
- assert_raise(ParseError){C::Arrow.parse('return')}
866
+ assert_raise(C::ParseError){C::Arrow.parse('} void f() {')}
867
+ assert_raise(C::ParseError){C::Arrow.parse(';')}
868
+ assert_raise(C::ParseError){C::Arrow.parse('int i')}
869
+ assert_raise(C::ParseError){C::Arrow.parse('int')}
870
+ assert_raise(C::ParseError){C::Arrow.parse('if (0)')}
871
+ assert_raise(C::ParseError){C::Arrow.parse('switch (0)')}
872
+ assert_raise(C::ParseError){C::Arrow.parse('for (;;)')}
873
+ assert_raise(C::ParseError){C::Arrow.parse('goto')}
874
+ assert_raise(C::ParseError){C::Arrow.parse('return')}
878
875
  end
879
876
 
880
877
  def test_dot
@@ -887,15 +884,15 @@ Dot
887
884
  member: Member
888
885
  name: "y"
889
886
  EOS
890
- assert_raise(ParseError){C::Dot.parse('} void f() {')}
891
- assert_raise(ParseError){C::Dot.parse(';')}
892
- assert_raise(ParseError){C::Dot.parse('int i')}
893
- assert_raise(ParseError){C::Dot.parse('int')}
894
- assert_raise(ParseError){C::Dot.parse('if (0)')}
895
- assert_raise(ParseError){C::Dot.parse('switch (0)')}
896
- assert_raise(ParseError){C::Dot.parse('for (;;)')}
897
- assert_raise(ParseError){C::Dot.parse('goto')}
898
- assert_raise(ParseError){C::Dot.parse('return')}
887
+ assert_raise(C::ParseError){C::Dot.parse('} void f() {')}
888
+ assert_raise(C::ParseError){C::Dot.parse(';')}
889
+ assert_raise(C::ParseError){C::Dot.parse('int i')}
890
+ assert_raise(C::ParseError){C::Dot.parse('int')}
891
+ assert_raise(C::ParseError){C::Dot.parse('if (0)')}
892
+ assert_raise(C::ParseError){C::Dot.parse('switch (0)')}
893
+ assert_raise(C::ParseError){C::Dot.parse('for (;;)')}
894
+ assert_raise(C::ParseError){C::Dot.parse('goto')}
895
+ assert_raise(C::ParseError){C::Dot.parse('return')}
899
896
  end
900
897
 
901
898
  def test_positive
@@ -906,15 +903,15 @@ Positive
906
903
  expr: IntLiteral
907
904
  val: 1
908
905
  EOS
909
- assert_raise(ParseError){C::Positive.parse('} void f() {')}
910
- assert_raise(ParseError){C::Positive.parse(';')}
911
- assert_raise(ParseError){C::Positive.parse('int i')}
912
- assert_raise(ParseError){C::Positive.parse('int')}
913
- assert_raise(ParseError){C::Positive.parse('if (0)')}
914
- assert_raise(ParseError){C::Positive.parse('switch (0)')}
915
- assert_raise(ParseError){C::Positive.parse('for (;;)')}
916
- assert_raise(ParseError){C::Positive.parse('goto')}
917
- assert_raise(ParseError){C::Positive.parse('return')}
906
+ assert_raise(C::ParseError){C::Positive.parse('} void f() {')}
907
+ assert_raise(C::ParseError){C::Positive.parse(';')}
908
+ assert_raise(C::ParseError){C::Positive.parse('int i')}
909
+ assert_raise(C::ParseError){C::Positive.parse('int')}
910
+ assert_raise(C::ParseError){C::Positive.parse('if (0)')}
911
+ assert_raise(C::ParseError){C::Positive.parse('switch (0)')}
912
+ assert_raise(C::ParseError){C::Positive.parse('for (;;)')}
913
+ assert_raise(C::ParseError){C::Positive.parse('goto')}
914
+ assert_raise(C::ParseError){C::Positive.parse('return')}
918
915
  end
919
916
 
920
917
  def test_negative
@@ -925,15 +922,15 @@ Negative
925
922
  expr: IntLiteral
926
923
  val: 1
927
924
  EOS
928
- assert_raise(ParseError){C::Negative.parse('} void f() {')}
929
- assert_raise(ParseError){C::Negative.parse(';')}
930
- assert_raise(ParseError){C::Negative.parse('int i')}
931
- assert_raise(ParseError){C::Negative.parse('int')}
932
- assert_raise(ParseError){C::Negative.parse('if (0)')}
933
- assert_raise(ParseError){C::Negative.parse('switch (0)')}
934
- assert_raise(ParseError){C::Negative.parse('for (;;)')}
935
- assert_raise(ParseError){C::Negative.parse('goto')}
936
- assert_raise(ParseError){C::Negative.parse('return')}
925
+ assert_raise(C::ParseError){C::Negative.parse('} void f() {')}
926
+ assert_raise(C::ParseError){C::Negative.parse(';')}
927
+ assert_raise(C::ParseError){C::Negative.parse('int i')}
928
+ assert_raise(C::ParseError){C::Negative.parse('int')}
929
+ assert_raise(C::ParseError){C::Negative.parse('if (0)')}
930
+ assert_raise(C::ParseError){C::Negative.parse('switch (0)')}
931
+ assert_raise(C::ParseError){C::Negative.parse('for (;;)')}
932
+ assert_raise(C::ParseError){C::Negative.parse('goto')}
933
+ assert_raise(C::ParseError){C::Negative.parse('return')}
937
934
  end
938
935
 
939
936
  def test_add
@@ -946,15 +943,15 @@ Add
946
943
  expr2: IntLiteral
947
944
  val: 10
948
945
  EOS
949
- assert_raise(ParseError){C::Add.parse('} void f() {')}
950
- assert_raise(ParseError){C::Add.parse(';')}
951
- assert_raise(ParseError){C::Add.parse('int i')}
952
- assert_raise(ParseError){C::Add.parse('int')}
953
- assert_raise(ParseError){C::Add.parse('if (0)')}
954
- assert_raise(ParseError){C::Add.parse('switch (0)')}
955
- assert_raise(ParseError){C::Add.parse('for (;;)')}
956
- assert_raise(ParseError){C::Add.parse('goto')}
957
- assert_raise(ParseError){C::Add.parse('return')}
946
+ assert_raise(C::ParseError){C::Add.parse('} void f() {')}
947
+ assert_raise(C::ParseError){C::Add.parse(';')}
948
+ assert_raise(C::ParseError){C::Add.parse('int i')}
949
+ assert_raise(C::ParseError){C::Add.parse('int')}
950
+ assert_raise(C::ParseError){C::Add.parse('if (0)')}
951
+ assert_raise(C::ParseError){C::Add.parse('switch (0)')}
952
+ assert_raise(C::ParseError){C::Add.parse('for (;;)')}
953
+ assert_raise(C::ParseError){C::Add.parse('goto')}
954
+ assert_raise(C::ParseError){C::Add.parse('return')}
958
955
  end
959
956
 
960
957
  def test_subtract
@@ -967,15 +964,15 @@ Subtract
967
964
  expr2: IntLiteral
968
965
  val: 10
969
966
  EOS
970
- assert_raise(ParseError){C::Subtract.parse('} void f() {')}
971
- assert_raise(ParseError){C::Subtract.parse(';')}
972
- assert_raise(ParseError){C::Subtract.parse('int i')}
973
- assert_raise(ParseError){C::Subtract.parse('int')}
974
- assert_raise(ParseError){C::Subtract.parse('if (0)')}
975
- assert_raise(ParseError){C::Subtract.parse('switch (0)')}
976
- assert_raise(ParseError){C::Subtract.parse('for (;;)')}
977
- assert_raise(ParseError){C::Subtract.parse('goto')}
978
- assert_raise(ParseError){C::Subtract.parse('return')}
967
+ assert_raise(C::ParseError){C::Subtract.parse('} void f() {')}
968
+ assert_raise(C::ParseError){C::Subtract.parse(';')}
969
+ assert_raise(C::ParseError){C::Subtract.parse('int i')}
970
+ assert_raise(C::ParseError){C::Subtract.parse('int')}
971
+ assert_raise(C::ParseError){C::Subtract.parse('if (0)')}
972
+ assert_raise(C::ParseError){C::Subtract.parse('switch (0)')}
973
+ assert_raise(C::ParseError){C::Subtract.parse('for (;;)')}
974
+ assert_raise(C::ParseError){C::Subtract.parse('goto')}
975
+ assert_raise(C::ParseError){C::Subtract.parse('return')}
979
976
  end
980
977
 
981
978
  def test_multiply
@@ -988,15 +985,15 @@ Multiply
988
985
  expr2: IntLiteral
989
986
  val: 10
990
987
  EOS
991
- assert_raise(ParseError){C::Multiply.parse('} void f() {')}
992
- assert_raise(ParseError){C::Multiply.parse(';')}
993
- assert_raise(ParseError){C::Multiply.parse('int i')}
994
- assert_raise(ParseError){C::Multiply.parse('int')}
995
- assert_raise(ParseError){C::Multiply.parse('if (0)')}
996
- assert_raise(ParseError){C::Multiply.parse('switch (0)')}
997
- assert_raise(ParseError){C::Multiply.parse('for (;;)')}
998
- assert_raise(ParseError){C::Multiply.parse('goto')}
999
- assert_raise(ParseError){C::Multiply.parse('return')}
988
+ assert_raise(C::ParseError){C::Multiply.parse('} void f() {')}
989
+ assert_raise(C::ParseError){C::Multiply.parse(';')}
990
+ assert_raise(C::ParseError){C::Multiply.parse('int i')}
991
+ assert_raise(C::ParseError){C::Multiply.parse('int')}
992
+ assert_raise(C::ParseError){C::Multiply.parse('if (0)')}
993
+ assert_raise(C::ParseError){C::Multiply.parse('switch (0)')}
994
+ assert_raise(C::ParseError){C::Multiply.parse('for (;;)')}
995
+ assert_raise(C::ParseError){C::Multiply.parse('goto')}
996
+ assert_raise(C::ParseError){C::Multiply.parse('return')}
1000
997
  end
1001
998
 
1002
999
  def test_divide
@@ -1009,15 +1006,15 @@ Divide
1009
1006
  expr2: IntLiteral
1010
1007
  val: 10
1011
1008
  EOS
1012
- assert_raise(ParseError){C::Divide.parse('} void f() {')}
1013
- assert_raise(ParseError){C::Divide.parse(';')}
1014
- assert_raise(ParseError){C::Divide.parse('int i')}
1015
- assert_raise(ParseError){C::Divide.parse('int')}
1016
- assert_raise(ParseError){C::Divide.parse('if (0)')}
1017
- assert_raise(ParseError){C::Divide.parse('switch (0)')}
1018
- assert_raise(ParseError){C::Divide.parse('for (;;)')}
1019
- assert_raise(ParseError){C::Divide.parse('goto')}
1020
- assert_raise(ParseError){C::Divide.parse('return')}
1009
+ assert_raise(C::ParseError){C::Divide.parse('} void f() {')}
1010
+ assert_raise(C::ParseError){C::Divide.parse(';')}
1011
+ assert_raise(C::ParseError){C::Divide.parse('int i')}
1012
+ assert_raise(C::ParseError){C::Divide.parse('int')}
1013
+ assert_raise(C::ParseError){C::Divide.parse('if (0)')}
1014
+ assert_raise(C::ParseError){C::Divide.parse('switch (0)')}
1015
+ assert_raise(C::ParseError){C::Divide.parse('for (;;)')}
1016
+ assert_raise(C::ParseError){C::Divide.parse('goto')}
1017
+ assert_raise(C::ParseError){C::Divide.parse('return')}
1021
1018
  end
1022
1019
 
1023
1020
  def test_mod
@@ -1030,15 +1027,15 @@ Mod
1030
1027
  expr2: IntLiteral
1031
1028
  val: 10
1032
1029
  EOS
1033
- assert_raise(ParseError){C::Mod.parse('} void f() {')}
1034
- assert_raise(ParseError){C::Mod.parse(';')}
1035
- assert_raise(ParseError){C::Mod.parse('int i')}
1036
- assert_raise(ParseError){C::Mod.parse('int')}
1037
- assert_raise(ParseError){C::Mod.parse('if (0)')}
1038
- assert_raise(ParseError){C::Mod.parse('switch (0)')}
1039
- assert_raise(ParseError){C::Mod.parse('for (;;)')}
1040
- assert_raise(ParseError){C::Mod.parse('goto')}
1041
- assert_raise(ParseError){C::Mod.parse('return')}
1030
+ assert_raise(C::ParseError){C::Mod.parse('} void f() {')}
1031
+ assert_raise(C::ParseError){C::Mod.parse(';')}
1032
+ assert_raise(C::ParseError){C::Mod.parse('int i')}
1033
+ assert_raise(C::ParseError){C::Mod.parse('int')}
1034
+ assert_raise(C::ParseError){C::Mod.parse('if (0)')}
1035
+ assert_raise(C::ParseError){C::Mod.parse('switch (0)')}
1036
+ assert_raise(C::ParseError){C::Mod.parse('for (;;)')}
1037
+ assert_raise(C::ParseError){C::Mod.parse('goto')}
1038
+ assert_raise(C::ParseError){C::Mod.parse('return')}
1042
1039
  end
1043
1040
 
1044
1041
  def test_pre_inc
@@ -1049,15 +1046,15 @@ PreInc
1049
1046
  expr: Variable
1050
1047
  name: "i"
1051
1048
  EOS
1052
- assert_raise(ParseError){C::PreInc.parse('} void f() {')}
1053
- assert_raise(ParseError){C::PreInc.parse(';')}
1054
- assert_raise(ParseError){C::PreInc.parse('int i')}
1055
- assert_raise(ParseError){C::PreInc.parse('int')}
1056
- assert_raise(ParseError){C::PreInc.parse('if (0)')}
1057
- assert_raise(ParseError){C::PreInc.parse('switch (0)')}
1058
- assert_raise(ParseError){C::PreInc.parse('for (;;)')}
1059
- assert_raise(ParseError){C::PreInc.parse('goto')}
1060
- assert_raise(ParseError){C::PreInc.parse('return')}
1049
+ assert_raise(C::ParseError){C::PreInc.parse('} void f() {')}
1050
+ assert_raise(C::ParseError){C::PreInc.parse(';')}
1051
+ assert_raise(C::ParseError){C::PreInc.parse('int i')}
1052
+ assert_raise(C::ParseError){C::PreInc.parse('int')}
1053
+ assert_raise(C::ParseError){C::PreInc.parse('if (0)')}
1054
+ assert_raise(C::ParseError){C::PreInc.parse('switch (0)')}
1055
+ assert_raise(C::ParseError){C::PreInc.parse('for (;;)')}
1056
+ assert_raise(C::ParseError){C::PreInc.parse('goto')}
1057
+ assert_raise(C::ParseError){C::PreInc.parse('return')}
1061
1058
  end
1062
1059
 
1063
1060
  def test_post_inc
@@ -1068,15 +1065,15 @@ PostInc
1068
1065
  expr: Variable
1069
1066
  name: "i"
1070
1067
  EOS
1071
- assert_raise(ParseError){C::PostInc.parse('} void f() {')}
1072
- assert_raise(ParseError){C::PostInc.parse(';')}
1073
- assert_raise(ParseError){C::PostInc.parse('int i')}
1074
- assert_raise(ParseError){C::PostInc.parse('int')}
1075
- assert_raise(ParseError){C::PostInc.parse('if (0)')}
1076
- assert_raise(ParseError){C::PostInc.parse('switch (0)')}
1077
- assert_raise(ParseError){C::PostInc.parse('for (;;)')}
1078
- assert_raise(ParseError){C::PostInc.parse('goto')}
1079
- assert_raise(ParseError){C::PostInc.parse('return')}
1068
+ assert_raise(C::ParseError){C::PostInc.parse('} void f() {')}
1069
+ assert_raise(C::ParseError){C::PostInc.parse(';')}
1070
+ assert_raise(C::ParseError){C::PostInc.parse('int i')}
1071
+ assert_raise(C::ParseError){C::PostInc.parse('int')}
1072
+ assert_raise(C::ParseError){C::PostInc.parse('if (0)')}
1073
+ assert_raise(C::ParseError){C::PostInc.parse('switch (0)')}
1074
+ assert_raise(C::ParseError){C::PostInc.parse('for (;;)')}
1075
+ assert_raise(C::ParseError){C::PostInc.parse('goto')}
1076
+ assert_raise(C::ParseError){C::PostInc.parse('return')}
1080
1077
  end
1081
1078
 
1082
1079
  def test_pre_dec
@@ -1087,15 +1084,15 @@ PreDec
1087
1084
  expr: Variable
1088
1085
  name: "i"
1089
1086
  EOS
1090
- assert_raise(ParseError){C::PreDec.parse('} void f() {')}
1091
- assert_raise(ParseError){C::PreDec.parse(';')}
1092
- assert_raise(ParseError){C::PreDec.parse('int i')}
1093
- assert_raise(ParseError){C::PreDec.parse('int')}
1094
- assert_raise(ParseError){C::PreDec.parse('if (0)')}
1095
- assert_raise(ParseError){C::PreDec.parse('switch (0)')}
1096
- assert_raise(ParseError){C::PreDec.parse('for (;;)')}
1097
- assert_raise(ParseError){C::PreDec.parse('goto')}
1098
- assert_raise(ParseError){C::PreDec.parse('return')}
1087
+ assert_raise(C::ParseError){C::PreDec.parse('} void f() {')}
1088
+ assert_raise(C::ParseError){C::PreDec.parse(';')}
1089
+ assert_raise(C::ParseError){C::PreDec.parse('int i')}
1090
+ assert_raise(C::ParseError){C::PreDec.parse('int')}
1091
+ assert_raise(C::ParseError){C::PreDec.parse('if (0)')}
1092
+ assert_raise(C::ParseError){C::PreDec.parse('switch (0)')}
1093
+ assert_raise(C::ParseError){C::PreDec.parse('for (;;)')}
1094
+ assert_raise(C::ParseError){C::PreDec.parse('goto')}
1095
+ assert_raise(C::ParseError){C::PreDec.parse('return')}
1099
1096
  end
1100
1097
 
1101
1098
  def test_post_dec
@@ -1106,15 +1103,15 @@ PostDec
1106
1103
  expr: Variable
1107
1104
  name: "i"
1108
1105
  EOS
1109
- assert_raise(ParseError){C::PostDec.parse('} void f() {')}
1110
- assert_raise(ParseError){C::PostDec.parse(';')}
1111
- assert_raise(ParseError){C::PostDec.parse('int i')}
1112
- assert_raise(ParseError){C::PostDec.parse('int')}
1113
- assert_raise(ParseError){C::PostDec.parse('if (0)')}
1114
- assert_raise(ParseError){C::PostDec.parse('switch (0)')}
1115
- assert_raise(ParseError){C::PostDec.parse('for (;;)')}
1116
- assert_raise(ParseError){C::PostDec.parse('goto')}
1117
- assert_raise(ParseError){C::PostDec.parse('return')}
1106
+ assert_raise(C::ParseError){C::PostDec.parse('} void f() {')}
1107
+ assert_raise(C::ParseError){C::PostDec.parse(';')}
1108
+ assert_raise(C::ParseError){C::PostDec.parse('int i')}
1109
+ assert_raise(C::ParseError){C::PostDec.parse('int')}
1110
+ assert_raise(C::ParseError){C::PostDec.parse('if (0)')}
1111
+ assert_raise(C::ParseError){C::PostDec.parse('switch (0)')}
1112
+ assert_raise(C::ParseError){C::PostDec.parse('for (;;)')}
1113
+ assert_raise(C::ParseError){C::PostDec.parse('goto')}
1114
+ assert_raise(C::ParseError){C::PostDec.parse('return')}
1118
1115
  end
1119
1116
 
1120
1117
  def test_equal
@@ -1127,15 +1124,15 @@ Equal
1127
1124
  expr2: IntLiteral
1128
1125
  val: 10
1129
1126
  EOS
1130
- assert_raise(ParseError){C::Equal.parse('} void f() {')}
1131
- assert_raise(ParseError){C::Equal.parse(';')}
1132
- assert_raise(ParseError){C::Equal.parse('int i')}
1133
- assert_raise(ParseError){C::Equal.parse('int')}
1134
- assert_raise(ParseError){C::Equal.parse('if (0)')}
1135
- assert_raise(ParseError){C::Equal.parse('switch (0)')}
1136
- assert_raise(ParseError){C::Equal.parse('for (;;)')}
1137
- assert_raise(ParseError){C::Equal.parse('goto')}
1138
- assert_raise(ParseError){C::Equal.parse('return')}
1127
+ assert_raise(C::ParseError){C::Equal.parse('} void f() {')}
1128
+ assert_raise(C::ParseError){C::Equal.parse(';')}
1129
+ assert_raise(C::ParseError){C::Equal.parse('int i')}
1130
+ assert_raise(C::ParseError){C::Equal.parse('int')}
1131
+ assert_raise(C::ParseError){C::Equal.parse('if (0)')}
1132
+ assert_raise(C::ParseError){C::Equal.parse('switch (0)')}
1133
+ assert_raise(C::ParseError){C::Equal.parse('for (;;)')}
1134
+ assert_raise(C::ParseError){C::Equal.parse('goto')}
1135
+ assert_raise(C::ParseError){C::Equal.parse('return')}
1139
1136
  end
1140
1137
 
1141
1138
  def test_not_equal
@@ -1148,15 +1145,15 @@ NotEqual
1148
1145
  expr2: IntLiteral
1149
1146
  val: 10
1150
1147
  EOS
1151
- assert_raise(ParseError){C::NotEqual.parse('} void f() {')}
1152
- assert_raise(ParseError){C::NotEqual.parse(';')}
1153
- assert_raise(ParseError){C::NotEqual.parse('int i')}
1154
- assert_raise(ParseError){C::NotEqual.parse('int')}
1155
- assert_raise(ParseError){C::NotEqual.parse('if (0)')}
1156
- assert_raise(ParseError){C::NotEqual.parse('switch (0)')}
1157
- assert_raise(ParseError){C::NotEqual.parse('for (;;)')}
1158
- assert_raise(ParseError){C::NotEqual.parse('goto')}
1159
- assert_raise(ParseError){C::NotEqual.parse('return')}
1148
+ assert_raise(C::ParseError){C::NotEqual.parse('} void f() {')}
1149
+ assert_raise(C::ParseError){C::NotEqual.parse(';')}
1150
+ assert_raise(C::ParseError){C::NotEqual.parse('int i')}
1151
+ assert_raise(C::ParseError){C::NotEqual.parse('int')}
1152
+ assert_raise(C::ParseError){C::NotEqual.parse('if (0)')}
1153
+ assert_raise(C::ParseError){C::NotEqual.parse('switch (0)')}
1154
+ assert_raise(C::ParseError){C::NotEqual.parse('for (;;)')}
1155
+ assert_raise(C::ParseError){C::NotEqual.parse('goto')}
1156
+ assert_raise(C::ParseError){C::NotEqual.parse('return')}
1160
1157
  end
1161
1158
 
1162
1159
  def test_less
@@ -1169,15 +1166,15 @@ Less
1169
1166
  expr2: IntLiteral
1170
1167
  val: 10
1171
1168
  EOS
1172
- assert_raise(ParseError){C::Less.parse('} void f() {')}
1173
- assert_raise(ParseError){C::Less.parse(';')}
1174
- assert_raise(ParseError){C::Less.parse('int i')}
1175
- assert_raise(ParseError){C::Less.parse('int')}
1176
- assert_raise(ParseError){C::Less.parse('if (0)')}
1177
- assert_raise(ParseError){C::Less.parse('switch (0)')}
1178
- assert_raise(ParseError){C::Less.parse('for (;;)')}
1179
- assert_raise(ParseError){C::Less.parse('goto')}
1180
- assert_raise(ParseError){C::Less.parse('return')}
1169
+ assert_raise(C::ParseError){C::Less.parse('} void f() {')}
1170
+ assert_raise(C::ParseError){C::Less.parse(';')}
1171
+ assert_raise(C::ParseError){C::Less.parse('int i')}
1172
+ assert_raise(C::ParseError){C::Less.parse('int')}
1173
+ assert_raise(C::ParseError){C::Less.parse('if (0)')}
1174
+ assert_raise(C::ParseError){C::Less.parse('switch (0)')}
1175
+ assert_raise(C::ParseError){C::Less.parse('for (;;)')}
1176
+ assert_raise(C::ParseError){C::Less.parse('goto')}
1177
+ assert_raise(C::ParseError){C::Less.parse('return')}
1181
1178
  end
1182
1179
 
1183
1180
  def test_more
@@ -1190,15 +1187,15 @@ More
1190
1187
  expr2: IntLiteral
1191
1188
  val: 10
1192
1189
  EOS
1193
- assert_raise(ParseError){C::More.parse('} void f() {')}
1194
- assert_raise(ParseError){C::More.parse(';')}
1195
- assert_raise(ParseError){C::More.parse('int i')}
1196
- assert_raise(ParseError){C::More.parse('int')}
1197
- assert_raise(ParseError){C::More.parse('if (0)')}
1198
- assert_raise(ParseError){C::More.parse('switch (0)')}
1199
- assert_raise(ParseError){C::More.parse('for (;;)')}
1200
- assert_raise(ParseError){C::More.parse('goto')}
1201
- assert_raise(ParseError){C::More.parse('return')}
1190
+ assert_raise(C::ParseError){C::More.parse('} void f() {')}
1191
+ assert_raise(C::ParseError){C::More.parse(';')}
1192
+ assert_raise(C::ParseError){C::More.parse('int i')}
1193
+ assert_raise(C::ParseError){C::More.parse('int')}
1194
+ assert_raise(C::ParseError){C::More.parse('if (0)')}
1195
+ assert_raise(C::ParseError){C::More.parse('switch (0)')}
1196
+ assert_raise(C::ParseError){C::More.parse('for (;;)')}
1197
+ assert_raise(C::ParseError){C::More.parse('goto')}
1198
+ assert_raise(C::ParseError){C::More.parse('return')}
1202
1199
  end
1203
1200
 
1204
1201
  def test_less_or_equal
@@ -1211,15 +1208,15 @@ LessOrEqual
1211
1208
  expr2: IntLiteral
1212
1209
  val: 10
1213
1210
  EOS
1214
- assert_raise(ParseError){C::LessOrEqual.parse('} void f() {')}
1215
- assert_raise(ParseError){C::LessOrEqual.parse(';')}
1216
- assert_raise(ParseError){C::LessOrEqual.parse('int i')}
1217
- assert_raise(ParseError){C::LessOrEqual.parse('int')}
1218
- assert_raise(ParseError){C::LessOrEqual.parse('if (0)')}
1219
- assert_raise(ParseError){C::LessOrEqual.parse('switch (0)')}
1220
- assert_raise(ParseError){C::LessOrEqual.parse('for (;;)')}
1221
- assert_raise(ParseError){C::LessOrEqual.parse('goto')}
1222
- assert_raise(ParseError){C::LessOrEqual.parse('return')}
1211
+ assert_raise(C::ParseError){C::LessOrEqual.parse('} void f() {')}
1212
+ assert_raise(C::ParseError){C::LessOrEqual.parse(';')}
1213
+ assert_raise(C::ParseError){C::LessOrEqual.parse('int i')}
1214
+ assert_raise(C::ParseError){C::LessOrEqual.parse('int')}
1215
+ assert_raise(C::ParseError){C::LessOrEqual.parse('if (0)')}
1216
+ assert_raise(C::ParseError){C::LessOrEqual.parse('switch (0)')}
1217
+ assert_raise(C::ParseError){C::LessOrEqual.parse('for (;;)')}
1218
+ assert_raise(C::ParseError){C::LessOrEqual.parse('goto')}
1219
+ assert_raise(C::ParseError){C::LessOrEqual.parse('return')}
1223
1220
  end
1224
1221
 
1225
1222
  def test_more_or_equal
@@ -1232,15 +1229,15 @@ MoreOrEqual
1232
1229
  expr2: IntLiteral
1233
1230
  val: 10
1234
1231
  EOS
1235
- assert_raise(ParseError){C::MoreOrEqual.parse('} void f() {')}
1236
- assert_raise(ParseError){C::MoreOrEqual.parse(';')}
1237
- assert_raise(ParseError){C::MoreOrEqual.parse('int i')}
1238
- assert_raise(ParseError){C::MoreOrEqual.parse('int')}
1239
- assert_raise(ParseError){C::MoreOrEqual.parse('if (0)')}
1240
- assert_raise(ParseError){C::MoreOrEqual.parse('switch (0)')}
1241
- assert_raise(ParseError){C::MoreOrEqual.parse('for (;;)')}
1242
- assert_raise(ParseError){C::MoreOrEqual.parse('goto')}
1243
- assert_raise(ParseError){C::MoreOrEqual.parse('return')}
1232
+ assert_raise(C::ParseError){C::MoreOrEqual.parse('} void f() {')}
1233
+ assert_raise(C::ParseError){C::MoreOrEqual.parse(';')}
1234
+ assert_raise(C::ParseError){C::MoreOrEqual.parse('int i')}
1235
+ assert_raise(C::ParseError){C::MoreOrEqual.parse('int')}
1236
+ assert_raise(C::ParseError){C::MoreOrEqual.parse('if (0)')}
1237
+ assert_raise(C::ParseError){C::MoreOrEqual.parse('switch (0)')}
1238
+ assert_raise(C::ParseError){C::MoreOrEqual.parse('for (;;)')}
1239
+ assert_raise(C::ParseError){C::MoreOrEqual.parse('goto')}
1240
+ assert_raise(C::ParseError){C::MoreOrEqual.parse('return')}
1244
1241
  end
1245
1242
 
1246
1243
  def test_bit_and
@@ -1253,15 +1250,15 @@ BitAnd
1253
1250
  expr2: IntLiteral
1254
1251
  val: 10
1255
1252
  EOS
1256
- assert_raise(ParseError){C::BitAnd.parse('} void f() {')}
1257
- assert_raise(ParseError){C::BitAnd.parse(';')}
1258
- assert_raise(ParseError){C::BitAnd.parse('int i')}
1259
- assert_raise(ParseError){C::BitAnd.parse('int')}
1260
- assert_raise(ParseError){C::BitAnd.parse('if (0)')}
1261
- assert_raise(ParseError){C::BitAnd.parse('switch (0)')}
1262
- assert_raise(ParseError){C::BitAnd.parse('for (;;)')}
1263
- assert_raise(ParseError){C::BitAnd.parse('goto')}
1264
- assert_raise(ParseError){C::BitAnd.parse('return')}
1253
+ assert_raise(C::ParseError){C::BitAnd.parse('} void f() {')}
1254
+ assert_raise(C::ParseError){C::BitAnd.parse(';')}
1255
+ assert_raise(C::ParseError){C::BitAnd.parse('int i')}
1256
+ assert_raise(C::ParseError){C::BitAnd.parse('int')}
1257
+ assert_raise(C::ParseError){C::BitAnd.parse('if (0)')}
1258
+ assert_raise(C::ParseError){C::BitAnd.parse('switch (0)')}
1259
+ assert_raise(C::ParseError){C::BitAnd.parse('for (;;)')}
1260
+ assert_raise(C::ParseError){C::BitAnd.parse('goto')}
1261
+ assert_raise(C::ParseError){C::BitAnd.parse('return')}
1265
1262
  end
1266
1263
 
1267
1264
  def test_bit_or
@@ -1274,15 +1271,15 @@ BitOr
1274
1271
  expr2: IntLiteral
1275
1272
  val: 10
1276
1273
  EOS
1277
- assert_raise(ParseError){C::BitOr.parse('} void f() {')}
1278
- assert_raise(ParseError){C::BitOr.parse(';')}
1279
- assert_raise(ParseError){C::BitOr.parse('int i')}
1280
- assert_raise(ParseError){C::BitOr.parse('int')}
1281
- assert_raise(ParseError){C::BitOr.parse('if (0)')}
1282
- assert_raise(ParseError){C::BitOr.parse('switch (0)')}
1283
- assert_raise(ParseError){C::BitOr.parse('for (;;)')}
1284
- assert_raise(ParseError){C::BitOr.parse('goto')}
1285
- assert_raise(ParseError){C::BitOr.parse('return')}
1274
+ assert_raise(C::ParseError){C::BitOr.parse('} void f() {')}
1275
+ assert_raise(C::ParseError){C::BitOr.parse(';')}
1276
+ assert_raise(C::ParseError){C::BitOr.parse('int i')}
1277
+ assert_raise(C::ParseError){C::BitOr.parse('int')}
1278
+ assert_raise(C::ParseError){C::BitOr.parse('if (0)')}
1279
+ assert_raise(C::ParseError){C::BitOr.parse('switch (0)')}
1280
+ assert_raise(C::ParseError){C::BitOr.parse('for (;;)')}
1281
+ assert_raise(C::ParseError){C::BitOr.parse('goto')}
1282
+ assert_raise(C::ParseError){C::BitOr.parse('return')}
1286
1283
  end
1287
1284
 
1288
1285
  def test_bit_xor
@@ -1295,15 +1292,15 @@ BitXor
1295
1292
  expr2: IntLiteral
1296
1293
  val: 10
1297
1294
  EOS
1298
- assert_raise(ParseError){C::BitXor.parse('} void f() {')}
1299
- assert_raise(ParseError){C::BitXor.parse(';')}
1300
- assert_raise(ParseError){C::BitXor.parse('int i')}
1301
- assert_raise(ParseError){C::BitXor.parse('int')}
1302
- assert_raise(ParseError){C::BitXor.parse('if (0)')}
1303
- assert_raise(ParseError){C::BitXor.parse('switch (0)')}
1304
- assert_raise(ParseError){C::BitXor.parse('for (;;)')}
1305
- assert_raise(ParseError){C::BitXor.parse('goto')}
1306
- assert_raise(ParseError){C::BitXor.parse('return')}
1295
+ assert_raise(C::ParseError){C::BitXor.parse('} void f() {')}
1296
+ assert_raise(C::ParseError){C::BitXor.parse(';')}
1297
+ assert_raise(C::ParseError){C::BitXor.parse('int i')}
1298
+ assert_raise(C::ParseError){C::BitXor.parse('int')}
1299
+ assert_raise(C::ParseError){C::BitXor.parse('if (0)')}
1300
+ assert_raise(C::ParseError){C::BitXor.parse('switch (0)')}
1301
+ assert_raise(C::ParseError){C::BitXor.parse('for (;;)')}
1302
+ assert_raise(C::ParseError){C::BitXor.parse('goto')}
1303
+ assert_raise(C::ParseError){C::BitXor.parse('return')}
1307
1304
  end
1308
1305
 
1309
1306
  def test_bit_not
@@ -1314,15 +1311,15 @@ BitNot
1314
1311
  expr: Variable
1315
1312
  name: "i"
1316
1313
  EOS
1317
- assert_raise(ParseError){C::BitNot.parse('} void f() {')}
1318
- assert_raise(ParseError){C::BitNot.parse(';')}
1319
- assert_raise(ParseError){C::BitNot.parse('int i')}
1320
- assert_raise(ParseError){C::BitNot.parse('int')}
1321
- assert_raise(ParseError){C::BitNot.parse('if (0)')}
1322
- assert_raise(ParseError){C::BitNot.parse('switch (0)')}
1323
- assert_raise(ParseError){C::BitNot.parse('for (;;)')}
1324
- assert_raise(ParseError){C::BitNot.parse('goto')}
1325
- assert_raise(ParseError){C::BitNot.parse('return')}
1314
+ assert_raise(C::ParseError){C::BitNot.parse('} void f() {')}
1315
+ assert_raise(C::ParseError){C::BitNot.parse(';')}
1316
+ assert_raise(C::ParseError){C::BitNot.parse('int i')}
1317
+ assert_raise(C::ParseError){C::BitNot.parse('int')}
1318
+ assert_raise(C::ParseError){C::BitNot.parse('if (0)')}
1319
+ assert_raise(C::ParseError){C::BitNot.parse('switch (0)')}
1320
+ assert_raise(C::ParseError){C::BitNot.parse('for (;;)')}
1321
+ assert_raise(C::ParseError){C::BitNot.parse('goto')}
1322
+ assert_raise(C::ParseError){C::BitNot.parse('return')}
1326
1323
  end
1327
1324
 
1328
1325
  def test_shift_left
@@ -1335,15 +1332,15 @@ ShiftLeft
1335
1332
  expr2: IntLiteral
1336
1333
  val: 10
1337
1334
  EOS
1338
- assert_raise(ParseError){C::ShiftLeft.parse('} void f() {')}
1339
- assert_raise(ParseError){C::ShiftLeft.parse(';')}
1340
- assert_raise(ParseError){C::ShiftLeft.parse('int i')}
1341
- assert_raise(ParseError){C::ShiftLeft.parse('int')}
1342
- assert_raise(ParseError){C::ShiftLeft.parse('if (0)')}
1343
- assert_raise(ParseError){C::ShiftLeft.parse('switch (0)')}
1344
- assert_raise(ParseError){C::ShiftLeft.parse('for (;;)')}
1345
- assert_raise(ParseError){C::ShiftLeft.parse('goto')}
1346
- assert_raise(ParseError){C::ShiftLeft.parse('return')}
1335
+ assert_raise(C::ParseError){C::ShiftLeft.parse('} void f() {')}
1336
+ assert_raise(C::ParseError){C::ShiftLeft.parse(';')}
1337
+ assert_raise(C::ParseError){C::ShiftLeft.parse('int i')}
1338
+ assert_raise(C::ParseError){C::ShiftLeft.parse('int')}
1339
+ assert_raise(C::ParseError){C::ShiftLeft.parse('if (0)')}
1340
+ assert_raise(C::ParseError){C::ShiftLeft.parse('switch (0)')}
1341
+ assert_raise(C::ParseError){C::ShiftLeft.parse('for (;;)')}
1342
+ assert_raise(C::ParseError){C::ShiftLeft.parse('goto')}
1343
+ assert_raise(C::ParseError){C::ShiftLeft.parse('return')}
1347
1344
  end
1348
1345
 
1349
1346
  def test_shift_right
@@ -1356,15 +1353,15 @@ ShiftRight
1356
1353
  expr2: IntLiteral
1357
1354
  val: 10
1358
1355
  EOS
1359
- assert_raise(ParseError){C::ShiftRight.parse('} void f() {')}
1360
- assert_raise(ParseError){C::ShiftRight.parse(';')}
1361
- assert_raise(ParseError){C::ShiftRight.parse('int i')}
1362
- assert_raise(ParseError){C::ShiftRight.parse('int')}
1363
- assert_raise(ParseError){C::ShiftRight.parse('if (0)')}
1364
- assert_raise(ParseError){C::ShiftRight.parse('switch (0)')}
1365
- assert_raise(ParseError){C::ShiftRight.parse('for (;;)')}
1366
- assert_raise(ParseError){C::ShiftRight.parse('goto')}
1367
- assert_raise(ParseError){C::ShiftRight.parse('return')}
1356
+ assert_raise(C::ParseError){C::ShiftRight.parse('} void f() {')}
1357
+ assert_raise(C::ParseError){C::ShiftRight.parse(';')}
1358
+ assert_raise(C::ParseError){C::ShiftRight.parse('int i')}
1359
+ assert_raise(C::ParseError){C::ShiftRight.parse('int')}
1360
+ assert_raise(C::ParseError){C::ShiftRight.parse('if (0)')}
1361
+ assert_raise(C::ParseError){C::ShiftRight.parse('switch (0)')}
1362
+ assert_raise(C::ParseError){C::ShiftRight.parse('for (;;)')}
1363
+ assert_raise(C::ParseError){C::ShiftRight.parse('goto')}
1364
+ assert_raise(C::ParseError){C::ShiftRight.parse('return')}
1368
1365
  end
1369
1366
 
1370
1367
  def test_and
@@ -1377,15 +1374,15 @@ And
1377
1374
  expr2: IntLiteral
1378
1375
  val: 10
1379
1376
  EOS
1380
- assert_raise(ParseError){C::And.parse('} void f() {')}
1381
- assert_raise(ParseError){C::And.parse(';')}
1382
- assert_raise(ParseError){C::And.parse('int i')}
1383
- assert_raise(ParseError){C::And.parse('int')}
1384
- assert_raise(ParseError){C::And.parse('if (0)')}
1385
- assert_raise(ParseError){C::And.parse('switch (0)')}
1386
- assert_raise(ParseError){C::And.parse('for (;;)')}
1387
- assert_raise(ParseError){C::And.parse('goto')}
1388
- assert_raise(ParseError){C::And.parse('return')}
1377
+ assert_raise(C::ParseError){C::And.parse('} void f() {')}
1378
+ assert_raise(C::ParseError){C::And.parse(';')}
1379
+ assert_raise(C::ParseError){C::And.parse('int i')}
1380
+ assert_raise(C::ParseError){C::And.parse('int')}
1381
+ assert_raise(C::ParseError){C::And.parse('if (0)')}
1382
+ assert_raise(C::ParseError){C::And.parse('switch (0)')}
1383
+ assert_raise(C::ParseError){C::And.parse('for (;;)')}
1384
+ assert_raise(C::ParseError){C::And.parse('goto')}
1385
+ assert_raise(C::ParseError){C::And.parse('return')}
1389
1386
  end
1390
1387
 
1391
1388
  def test_or
@@ -1398,15 +1395,15 @@ Or
1398
1395
  expr2: IntLiteral
1399
1396
  val: 10
1400
1397
  EOS
1401
- assert_raise(ParseError){C::Or.parse('} void f() {')}
1402
- assert_raise(ParseError){C::Or.parse(';')}
1403
- assert_raise(ParseError){C::Or.parse('int i')}
1404
- assert_raise(ParseError){C::Or.parse('int')}
1405
- assert_raise(ParseError){C::Or.parse('if (0)')}
1406
- assert_raise(ParseError){C::Or.parse('switch (0)')}
1407
- assert_raise(ParseError){C::Or.parse('for (;;)')}
1408
- assert_raise(ParseError){C::Or.parse('goto')}
1409
- assert_raise(ParseError){C::Or.parse('return')}
1398
+ assert_raise(C::ParseError){C::Or.parse('} void f() {')}
1399
+ assert_raise(C::ParseError){C::Or.parse(';')}
1400
+ assert_raise(C::ParseError){C::Or.parse('int i')}
1401
+ assert_raise(C::ParseError){C::Or.parse('int')}
1402
+ assert_raise(C::ParseError){C::Or.parse('if (0)')}
1403
+ assert_raise(C::ParseError){C::Or.parse('switch (0)')}
1404
+ assert_raise(C::ParseError){C::Or.parse('for (;;)')}
1405
+ assert_raise(C::ParseError){C::Or.parse('goto')}
1406
+ assert_raise(C::ParseError){C::Or.parse('return')}
1410
1407
  end
1411
1408
 
1412
1409
  def test_not
@@ -1417,15 +1414,15 @@ Not
1417
1414
  expr: Variable
1418
1415
  name: "i"
1419
1416
  EOS
1420
- assert_raise(ParseError){C::Not.parse('} void f() {')}
1421
- assert_raise(ParseError){C::Not.parse(';')}
1422
- assert_raise(ParseError){C::Not.parse('int i')}
1423
- assert_raise(ParseError){C::Not.parse('int')}
1424
- assert_raise(ParseError){C::Not.parse('if (0)')}
1425
- assert_raise(ParseError){C::Not.parse('switch (0)')}
1426
- assert_raise(ParseError){C::Not.parse('for (;;)')}
1427
- assert_raise(ParseError){C::Not.parse('goto')}
1428
- assert_raise(ParseError){C::Not.parse('return')}
1417
+ assert_raise(C::ParseError){C::Not.parse('} void f() {')}
1418
+ assert_raise(C::ParseError){C::Not.parse(';')}
1419
+ assert_raise(C::ParseError){C::Not.parse('int i')}
1420
+ assert_raise(C::ParseError){C::Not.parse('int')}
1421
+ assert_raise(C::ParseError){C::Not.parse('if (0)')}
1422
+ assert_raise(C::ParseError){C::Not.parse('switch (0)')}
1423
+ assert_raise(C::ParseError){C::Not.parse('for (;;)')}
1424
+ assert_raise(C::ParseError){C::Not.parse('goto')}
1425
+ assert_raise(C::ParseError){C::Not.parse('return')}
1429
1426
  end
1430
1427
 
1431
1428
  def test_assign
@@ -1438,15 +1435,15 @@ Assign
1438
1435
  rval: IntLiteral
1439
1436
  val: 10
1440
1437
  EOS
1441
- assert_raise(ParseError){C::Assign.parse('} void f() {')}
1442
- assert_raise(ParseError){C::Assign.parse(';')}
1443
- assert_raise(ParseError){C::Assign.parse('int i')}
1444
- assert_raise(ParseError){C::Assign.parse('int')}
1445
- assert_raise(ParseError){C::Assign.parse('if (0)')}
1446
- assert_raise(ParseError){C::Assign.parse('switch (0)')}
1447
- assert_raise(ParseError){C::Assign.parse('for (;;)')}
1448
- assert_raise(ParseError){C::Assign.parse('goto')}
1449
- assert_raise(ParseError){C::Assign.parse('return')}
1438
+ assert_raise(C::ParseError){C::Assign.parse('} void f() {')}
1439
+ assert_raise(C::ParseError){C::Assign.parse(';')}
1440
+ assert_raise(C::ParseError){C::Assign.parse('int i')}
1441
+ assert_raise(C::ParseError){C::Assign.parse('int')}
1442
+ assert_raise(C::ParseError){C::Assign.parse('if (0)')}
1443
+ assert_raise(C::ParseError){C::Assign.parse('switch (0)')}
1444
+ assert_raise(C::ParseError){C::Assign.parse('for (;;)')}
1445
+ assert_raise(C::ParseError){C::Assign.parse('goto')}
1446
+ assert_raise(C::ParseError){C::Assign.parse('return')}
1450
1447
  end
1451
1448
 
1452
1449
  def test_multiply_assign
@@ -1459,15 +1456,15 @@ MultiplyAssign
1459
1456
  rval: IntLiteral
1460
1457
  val: 10
1461
1458
  EOS
1462
- assert_raise(ParseError){C::MultiplyAssign.parse('} void f() {')}
1463
- assert_raise(ParseError){C::MultiplyAssign.parse(';')}
1464
- assert_raise(ParseError){C::MultiplyAssign.parse('int i')}
1465
- assert_raise(ParseError){C::MultiplyAssign.parse('int')}
1466
- assert_raise(ParseError){C::MultiplyAssign.parse('if (0)')}
1467
- assert_raise(ParseError){C::MultiplyAssign.parse('switch (0)')}
1468
- assert_raise(ParseError){C::MultiplyAssign.parse('for (;;)')}
1469
- assert_raise(ParseError){C::MultiplyAssign.parse('goto')}
1470
- assert_raise(ParseError){C::MultiplyAssign.parse('return')}
1459
+ assert_raise(C::ParseError){C::MultiplyAssign.parse('} void f() {')}
1460
+ assert_raise(C::ParseError){C::MultiplyAssign.parse(';')}
1461
+ assert_raise(C::ParseError){C::MultiplyAssign.parse('int i')}
1462
+ assert_raise(C::ParseError){C::MultiplyAssign.parse('int')}
1463
+ assert_raise(C::ParseError){C::MultiplyAssign.parse('if (0)')}
1464
+ assert_raise(C::ParseError){C::MultiplyAssign.parse('switch (0)')}
1465
+ assert_raise(C::ParseError){C::MultiplyAssign.parse('for (;;)')}
1466
+ assert_raise(C::ParseError){C::MultiplyAssign.parse('goto')}
1467
+ assert_raise(C::ParseError){C::MultiplyAssign.parse('return')}
1471
1468
  end
1472
1469
 
1473
1470
  def test_divide_assign
@@ -1480,15 +1477,15 @@ DivideAssign
1480
1477
  rval: IntLiteral
1481
1478
  val: 10
1482
1479
  EOS
1483
- assert_raise(ParseError){C::DivideAssign.parse('} void f() {')}
1484
- assert_raise(ParseError){C::DivideAssign.parse(';')}
1485
- assert_raise(ParseError){C::DivideAssign.parse('int i')}
1486
- assert_raise(ParseError){C::DivideAssign.parse('int')}
1487
- assert_raise(ParseError){C::DivideAssign.parse('if (0)')}
1488
- assert_raise(ParseError){C::DivideAssign.parse('switch (0)')}
1489
- assert_raise(ParseError){C::DivideAssign.parse('for (;;)')}
1490
- assert_raise(ParseError){C::DivideAssign.parse('goto')}
1491
- assert_raise(ParseError){C::DivideAssign.parse('return')}
1480
+ assert_raise(C::ParseError){C::DivideAssign.parse('} void f() {')}
1481
+ assert_raise(C::ParseError){C::DivideAssign.parse(';')}
1482
+ assert_raise(C::ParseError){C::DivideAssign.parse('int i')}
1483
+ assert_raise(C::ParseError){C::DivideAssign.parse('int')}
1484
+ assert_raise(C::ParseError){C::DivideAssign.parse('if (0)')}
1485
+ assert_raise(C::ParseError){C::DivideAssign.parse('switch (0)')}
1486
+ assert_raise(C::ParseError){C::DivideAssign.parse('for (;;)')}
1487
+ assert_raise(C::ParseError){C::DivideAssign.parse('goto')}
1488
+ assert_raise(C::ParseError){C::DivideAssign.parse('return')}
1492
1489
  end
1493
1490
 
1494
1491
  def test_mod_assign
@@ -1501,15 +1498,15 @@ ModAssign
1501
1498
  rval: IntLiteral
1502
1499
  val: 10
1503
1500
  EOS
1504
- assert_raise(ParseError){C::ModAssign.parse('} void f() {')}
1505
- assert_raise(ParseError){C::ModAssign.parse(';')}
1506
- assert_raise(ParseError){C::ModAssign.parse('int i')}
1507
- assert_raise(ParseError){C::ModAssign.parse('int')}
1508
- assert_raise(ParseError){C::ModAssign.parse('if (0)')}
1509
- assert_raise(ParseError){C::ModAssign.parse('switch (0)')}
1510
- assert_raise(ParseError){C::ModAssign.parse('for (;;)')}
1511
- assert_raise(ParseError){C::ModAssign.parse('goto')}
1512
- assert_raise(ParseError){C::ModAssign.parse('return')}
1501
+ assert_raise(C::ParseError){C::ModAssign.parse('} void f() {')}
1502
+ assert_raise(C::ParseError){C::ModAssign.parse(';')}
1503
+ assert_raise(C::ParseError){C::ModAssign.parse('int i')}
1504
+ assert_raise(C::ParseError){C::ModAssign.parse('int')}
1505
+ assert_raise(C::ParseError){C::ModAssign.parse('if (0)')}
1506
+ assert_raise(C::ParseError){C::ModAssign.parse('switch (0)')}
1507
+ assert_raise(C::ParseError){C::ModAssign.parse('for (;;)')}
1508
+ assert_raise(C::ParseError){C::ModAssign.parse('goto')}
1509
+ assert_raise(C::ParseError){C::ModAssign.parse('return')}
1513
1510
  end
1514
1511
 
1515
1512
  def test_add_assign
@@ -1522,15 +1519,15 @@ AddAssign
1522
1519
  rval: IntLiteral
1523
1520
  val: 10
1524
1521
  EOS
1525
- assert_raise(ParseError){C::AddAssign.parse('} void f() {')}
1526
- assert_raise(ParseError){C::AddAssign.parse(';')}
1527
- assert_raise(ParseError){C::AddAssign.parse('int i')}
1528
- assert_raise(ParseError){C::AddAssign.parse('int')}
1529
- assert_raise(ParseError){C::AddAssign.parse('if (0)')}
1530
- assert_raise(ParseError){C::AddAssign.parse('switch (0)')}
1531
- assert_raise(ParseError){C::AddAssign.parse('for (;;)')}
1532
- assert_raise(ParseError){C::AddAssign.parse('goto')}
1533
- assert_raise(ParseError){C::AddAssign.parse('return')}
1522
+ assert_raise(C::ParseError){C::AddAssign.parse('} void f() {')}
1523
+ assert_raise(C::ParseError){C::AddAssign.parse(';')}
1524
+ assert_raise(C::ParseError){C::AddAssign.parse('int i')}
1525
+ assert_raise(C::ParseError){C::AddAssign.parse('int')}
1526
+ assert_raise(C::ParseError){C::AddAssign.parse('if (0)')}
1527
+ assert_raise(C::ParseError){C::AddAssign.parse('switch (0)')}
1528
+ assert_raise(C::ParseError){C::AddAssign.parse('for (;;)')}
1529
+ assert_raise(C::ParseError){C::AddAssign.parse('goto')}
1530
+ assert_raise(C::ParseError){C::AddAssign.parse('return')}
1534
1531
  end
1535
1532
 
1536
1533
  def test_subtract_assign
@@ -1543,15 +1540,15 @@ SubtractAssign
1543
1540
  rval: IntLiteral
1544
1541
  val: 10
1545
1542
  EOS
1546
- assert_raise(ParseError){C::SubtractAssign.parse('} void f() {')}
1547
- assert_raise(ParseError){C::SubtractAssign.parse(';')}
1548
- assert_raise(ParseError){C::SubtractAssign.parse('int i')}
1549
- assert_raise(ParseError){C::SubtractAssign.parse('int')}
1550
- assert_raise(ParseError){C::SubtractAssign.parse('if (0)')}
1551
- assert_raise(ParseError){C::SubtractAssign.parse('switch (0)')}
1552
- assert_raise(ParseError){C::SubtractAssign.parse('for (;;)')}
1553
- assert_raise(ParseError){C::SubtractAssign.parse('goto')}
1554
- assert_raise(ParseError){C::SubtractAssign.parse('return')}
1543
+ assert_raise(C::ParseError){C::SubtractAssign.parse('} void f() {')}
1544
+ assert_raise(C::ParseError){C::SubtractAssign.parse(';')}
1545
+ assert_raise(C::ParseError){C::SubtractAssign.parse('int i')}
1546
+ assert_raise(C::ParseError){C::SubtractAssign.parse('int')}
1547
+ assert_raise(C::ParseError){C::SubtractAssign.parse('if (0)')}
1548
+ assert_raise(C::ParseError){C::SubtractAssign.parse('switch (0)')}
1549
+ assert_raise(C::ParseError){C::SubtractAssign.parse('for (;;)')}
1550
+ assert_raise(C::ParseError){C::SubtractAssign.parse('goto')}
1551
+ assert_raise(C::ParseError){C::SubtractAssign.parse('return')}
1555
1552
  end
1556
1553
 
1557
1554
  def test_shift_left_assign
@@ -1564,15 +1561,15 @@ ShiftLeftAssign
1564
1561
  rval: IntLiteral
1565
1562
  val: 10
1566
1563
  EOS
1567
- assert_raise(ParseError){C::ShiftLeftAssign.parse('} void f() {')}
1568
- assert_raise(ParseError){C::ShiftLeftAssign.parse(';')}
1569
- assert_raise(ParseError){C::ShiftLeftAssign.parse('int i')}
1570
- assert_raise(ParseError){C::ShiftLeftAssign.parse('int')}
1571
- assert_raise(ParseError){C::ShiftLeftAssign.parse('if (0)')}
1572
- assert_raise(ParseError){C::ShiftLeftAssign.parse('switch (0)')}
1573
- assert_raise(ParseError){C::ShiftLeftAssign.parse('for (;;)')}
1574
- assert_raise(ParseError){C::ShiftLeftAssign.parse('goto')}
1575
- assert_raise(ParseError){C::ShiftLeftAssign.parse('return')}
1564
+ assert_raise(C::ParseError){C::ShiftLeftAssign.parse('} void f() {')}
1565
+ assert_raise(C::ParseError){C::ShiftLeftAssign.parse(';')}
1566
+ assert_raise(C::ParseError){C::ShiftLeftAssign.parse('int i')}
1567
+ assert_raise(C::ParseError){C::ShiftLeftAssign.parse('int')}
1568
+ assert_raise(C::ParseError){C::ShiftLeftAssign.parse('if (0)')}
1569
+ assert_raise(C::ParseError){C::ShiftLeftAssign.parse('switch (0)')}
1570
+ assert_raise(C::ParseError){C::ShiftLeftAssign.parse('for (;;)')}
1571
+ assert_raise(C::ParseError){C::ShiftLeftAssign.parse('goto')}
1572
+ assert_raise(C::ParseError){C::ShiftLeftAssign.parse('return')}
1576
1573
  end
1577
1574
 
1578
1575
  def test_shift_right_assign
@@ -1585,15 +1582,15 @@ ShiftRightAssign
1585
1582
  rval: IntLiteral
1586
1583
  val: 10
1587
1584
  EOS
1588
- assert_raise(ParseError){C::ShiftRightAssign.parse('} void f() {')}
1589
- assert_raise(ParseError){C::ShiftRightAssign.parse(';')}
1590
- assert_raise(ParseError){C::ShiftRightAssign.parse('int i')}
1591
- assert_raise(ParseError){C::ShiftRightAssign.parse('int')}
1592
- assert_raise(ParseError){C::ShiftRightAssign.parse('if (0)')}
1593
- assert_raise(ParseError){C::ShiftRightAssign.parse('switch (0)')}
1594
- assert_raise(ParseError){C::ShiftRightAssign.parse('for (;;)')}
1595
- assert_raise(ParseError){C::ShiftRightAssign.parse('goto')}
1596
- assert_raise(ParseError){C::ShiftRightAssign.parse('return')}
1585
+ assert_raise(C::ParseError){C::ShiftRightAssign.parse('} void f() {')}
1586
+ assert_raise(C::ParseError){C::ShiftRightAssign.parse(';')}
1587
+ assert_raise(C::ParseError){C::ShiftRightAssign.parse('int i')}
1588
+ assert_raise(C::ParseError){C::ShiftRightAssign.parse('int')}
1589
+ assert_raise(C::ParseError){C::ShiftRightAssign.parse('if (0)')}
1590
+ assert_raise(C::ParseError){C::ShiftRightAssign.parse('switch (0)')}
1591
+ assert_raise(C::ParseError){C::ShiftRightAssign.parse('for (;;)')}
1592
+ assert_raise(C::ParseError){C::ShiftRightAssign.parse('goto')}
1593
+ assert_raise(C::ParseError){C::ShiftRightAssign.parse('return')}
1597
1594
  end
1598
1595
 
1599
1596
  def test_bit_and_assign
@@ -1606,15 +1603,15 @@ BitAndAssign
1606
1603
  rval: IntLiteral
1607
1604
  val: 10
1608
1605
  EOS
1609
- assert_raise(ParseError){C::BitAndAssign.parse('} void f() {')}
1610
- assert_raise(ParseError){C::BitAndAssign.parse(';')}
1611
- assert_raise(ParseError){C::BitAndAssign.parse('int i')}
1612
- assert_raise(ParseError){C::BitAndAssign.parse('int')}
1613
- assert_raise(ParseError){C::BitAndAssign.parse('if (0)')}
1614
- assert_raise(ParseError){C::BitAndAssign.parse('switch (0)')}
1615
- assert_raise(ParseError){C::BitAndAssign.parse('for (;;)')}
1616
- assert_raise(ParseError){C::BitAndAssign.parse('goto')}
1617
- assert_raise(ParseError){C::BitAndAssign.parse('return')}
1606
+ assert_raise(C::ParseError){C::BitAndAssign.parse('} void f() {')}
1607
+ assert_raise(C::ParseError){C::BitAndAssign.parse(';')}
1608
+ assert_raise(C::ParseError){C::BitAndAssign.parse('int i')}
1609
+ assert_raise(C::ParseError){C::BitAndAssign.parse('int')}
1610
+ assert_raise(C::ParseError){C::BitAndAssign.parse('if (0)')}
1611
+ assert_raise(C::ParseError){C::BitAndAssign.parse('switch (0)')}
1612
+ assert_raise(C::ParseError){C::BitAndAssign.parse('for (;;)')}
1613
+ assert_raise(C::ParseError){C::BitAndAssign.parse('goto')}
1614
+ assert_raise(C::ParseError){C::BitAndAssign.parse('return')}
1618
1615
  end
1619
1616
 
1620
1617
  def test_bit_xor_assign
@@ -1627,15 +1624,15 @@ BitXorAssign
1627
1624
  rval: IntLiteral
1628
1625
  val: 10
1629
1626
  EOS
1630
- assert_raise(ParseError){C::BitXorAssign.parse('} void f() {')}
1631
- assert_raise(ParseError){C::BitXorAssign.parse(';')}
1632
- assert_raise(ParseError){C::BitXorAssign.parse('int i')}
1633
- assert_raise(ParseError){C::BitXorAssign.parse('int')}
1634
- assert_raise(ParseError){C::BitXorAssign.parse('if (0)')}
1635
- assert_raise(ParseError){C::BitXorAssign.parse('switch (0)')}
1636
- assert_raise(ParseError){C::BitXorAssign.parse('for (;;)')}
1637
- assert_raise(ParseError){C::BitXorAssign.parse('goto')}
1638
- assert_raise(ParseError){C::BitXorAssign.parse('return')}
1627
+ assert_raise(C::ParseError){C::BitXorAssign.parse('} void f() {')}
1628
+ assert_raise(C::ParseError){C::BitXorAssign.parse(';')}
1629
+ assert_raise(C::ParseError){C::BitXorAssign.parse('int i')}
1630
+ assert_raise(C::ParseError){C::BitXorAssign.parse('int')}
1631
+ assert_raise(C::ParseError){C::BitXorAssign.parse('if (0)')}
1632
+ assert_raise(C::ParseError){C::BitXorAssign.parse('switch (0)')}
1633
+ assert_raise(C::ParseError){C::BitXorAssign.parse('for (;;)')}
1634
+ assert_raise(C::ParseError){C::BitXorAssign.parse('goto')}
1635
+ assert_raise(C::ParseError){C::BitXorAssign.parse('return')}
1639
1636
  end
1640
1637
 
1641
1638
  def test_bit_or_assign
@@ -1648,15 +1645,15 @@ BitOrAssign
1648
1645
  rval: IntLiteral
1649
1646
  val: 10
1650
1647
  EOS
1651
- assert_raise(ParseError){C::BitOrAssign.parse('} void f() {')}
1652
- assert_raise(ParseError){C::BitOrAssign.parse(';')}
1653
- assert_raise(ParseError){C::BitOrAssign.parse('int i')}
1654
- assert_raise(ParseError){C::BitOrAssign.parse('int')}
1655
- assert_raise(ParseError){C::BitOrAssign.parse('if (0)')}
1656
- assert_raise(ParseError){C::BitOrAssign.parse('switch (0)')}
1657
- assert_raise(ParseError){C::BitOrAssign.parse('for (;;)')}
1658
- assert_raise(ParseError){C::BitOrAssign.parse('goto')}
1659
- assert_raise(ParseError){C::BitOrAssign.parse('return')}
1648
+ assert_raise(C::ParseError){C::BitOrAssign.parse('} void f() {')}
1649
+ assert_raise(C::ParseError){C::BitOrAssign.parse(';')}
1650
+ assert_raise(C::ParseError){C::BitOrAssign.parse('int i')}
1651
+ assert_raise(C::ParseError){C::BitOrAssign.parse('int')}
1652
+ assert_raise(C::ParseError){C::BitOrAssign.parse('if (0)')}
1653
+ assert_raise(C::ParseError){C::BitOrAssign.parse('switch (0)')}
1654
+ assert_raise(C::ParseError){C::BitOrAssign.parse('for (;;)')}
1655
+ assert_raise(C::ParseError){C::BitOrAssign.parse('goto')}
1656
+ assert_raise(C::ParseError){C::BitOrAssign.parse('return')}
1660
1657
  end
1661
1658
 
1662
1659
  def test_pointer
@@ -1672,9 +1669,9 @@ const volatile unsigned int*
1672
1669
  Pointer
1673
1670
  type: Int (const volatile unsigned)
1674
1671
  EOS
1675
- assert_raise(ParseError){C::Pointer.parse('1);} void f() {(int')}
1676
- assert_raise(ParseError){C::Pointer.parse('1); (int')}
1677
- assert_raise(ParseError){C::Pointer.parse('void')}
1672
+ assert_raise(C::ParseError){C::Pointer.parse('1);} void f() {(int')}
1673
+ assert_raise(C::ParseError){C::Pointer.parse('1); (int')}
1674
+ assert_raise(C::ParseError){C::Pointer.parse('void')}
1678
1675
  end
1679
1676
 
1680
1677
  def test_array
@@ -1692,9 +1689,9 @@ Array
1692
1689
  length: IntLiteral
1693
1690
  val: 10
1694
1691
  EOS
1695
- assert_raise(ParseError){C::Array.parse('1);} void f() {(int')}
1696
- assert_raise(ParseError){C::Array.parse('1); (int')}
1697
- assert_raise(ParseError){C::Array.parse('void')}
1692
+ assert_raise(C::ParseError){C::Array.parse('1);} void f() {(int')}
1693
+ assert_raise(C::ParseError){C::Array.parse('1); (int')}
1694
+ assert_raise(C::ParseError){C::Array.parse('void')}
1698
1695
  end
1699
1696
 
1700
1697
  def test_function
@@ -1717,9 +1714,9 @@ Function
1717
1714
  type: Int
1718
1715
  name: "y"
1719
1716
  EOS
1720
- assert_raise(ParseError){C::Function.parse('1);} void f() {(int')}
1721
- assert_raise(ParseError){C::Function.parse('1); (int')}
1722
- assert_raise(ParseError){C::Function.parse('void')}
1717
+ assert_raise(C::ParseError){C::Function.parse('1);} void f() {(int')}
1718
+ assert_raise(C::ParseError){C::Function.parse('1); (int')}
1719
+ assert_raise(C::ParseError){C::Function.parse('void')}
1723
1720
  end
1724
1721
 
1725
1722
  def test_struct
@@ -1744,9 +1741,9 @@ Struct (const)
1744
1741
  num_bits: IntLiteral
1745
1742
  val: 4
1746
1743
  EOS
1747
- assert_raise(ParseError){C::Struct.parse('1);} void f() {(int')}
1748
- assert_raise(ParseError){C::Struct.parse('1); (int')}
1749
- assert_raise(ParseError){C::Struct.parse('void')}
1744
+ assert_raise(C::ParseError){C::Struct.parse('1);} void f() {(int')}
1745
+ assert_raise(C::ParseError){C::Struct.parse('1); (int')}
1746
+ assert_raise(C::ParseError){C::Struct.parse('void')}
1750
1747
  end
1751
1748
 
1752
1749
  def test_union
@@ -1771,9 +1768,9 @@ Union (const)
1771
1768
  num_bits: IntLiteral
1772
1769
  val: 4
1773
1770
  EOS
1774
- assert_raise(ParseError){C::Union.parse('1);} void f() {(int')}
1775
- assert_raise(ParseError){C::Union.parse('1); (int')}
1776
- assert_raise(ParseError){C::Union.parse('void')}
1771
+ assert_raise(C::ParseError){C::Union.parse('1);} void f() {(int')}
1772
+ assert_raise(C::ParseError){C::Union.parse('1); (int')}
1773
+ assert_raise(C::ParseError){C::Union.parse('void')}
1777
1774
  end
1778
1775
 
1779
1776
  def test_enum
@@ -1797,15 +1794,15 @@ Enum (const)
1797
1794
  - Enumerator
1798
1795
  name: "Z"
1799
1796
  EOS
1800
- assert_raise(ParseError){C::Enum.parse('1);} void f() {(int')}
1801
- assert_raise(ParseError){C::Enum.parse('1); (int')}
1802
- assert_raise(ParseError){C::Enum.parse('void')}
1797
+ assert_raise(C::ParseError){C::Enum.parse('1);} void f() {(int')}
1798
+ assert_raise(C::ParseError){C::Enum.parse('1); (int')}
1799
+ assert_raise(C::ParseError){C::Enum.parse('void')}
1803
1800
  end
1804
1801
 
1805
1802
  def test_custom_type
1806
- assert_raise(ParseError){C::CustomType.parse('1);} void f() {(int')}
1807
- assert_raise(ParseError){C::CustomType.parse('1); (int')}
1808
- assert_raise(ParseError){C::CustomType.parse('void')}
1803
+ assert_raise(C::ParseError){C::CustomType.parse('1);} void f() {(int')}
1804
+ assert_raise(C::ParseError){C::CustomType.parse('1); (int')}
1805
+ assert_raise(C::ParseError){C::CustomType.parse('void')}
1809
1806
  end
1810
1807
 
1811
1808
  def test_void
@@ -1814,9 +1811,9 @@ const void
1814
1811
  ----
1815
1812
  Void (const)
1816
1813
  EOS
1817
- assert_raise(ParseError){C::Void.parse('1);} void f() {(int')}
1818
- assert_raise(ParseError){C::Void.parse('1); (int')}
1819
- assert_raise(ParseError){C::Void.parse('int')}
1814
+ assert_raise(C::ParseError){C::Void.parse('1);} void f() {(int')}
1815
+ assert_raise(C::ParseError){C::Void.parse('1); (int')}
1816
+ assert_raise(C::ParseError){C::Void.parse('int')}
1820
1817
  end
1821
1818
 
1822
1819
  def test_int
@@ -1825,9 +1822,9 @@ const int
1825
1822
  ----
1826
1823
  Int (const)
1827
1824
  EOS
1828
- assert_raise(ParseError){C::Int.parse('1);} void f() {(int')}
1829
- assert_raise(ParseError){C::Int.parse('1); (int')}
1830
- assert_raise(ParseError){C::Int.parse('void')}
1825
+ assert_raise(C::ParseError){C::Int.parse('1);} void f() {(int')}
1826
+ assert_raise(C::ParseError){C::Int.parse('1); (int')}
1827
+ assert_raise(C::ParseError){C::Int.parse('void')}
1831
1828
  end
1832
1829
 
1833
1830
  def test_float
@@ -1836,9 +1833,9 @@ const float
1836
1833
  ----
1837
1834
  Float (const)
1838
1835
  EOS
1839
- assert_raise(ParseError){C::Float.parse('1);} void f() {(int')}
1840
- assert_raise(ParseError){C::Float.parse('1); (int')}
1841
- assert_raise(ParseError){C::Float.parse('void')}
1836
+ assert_raise(C::ParseError){C::Float.parse('1);} void f() {(int')}
1837
+ assert_raise(C::ParseError){C::Float.parse('1); (int')}
1838
+ assert_raise(C::ParseError){C::Float.parse('void')}
1842
1839
  end
1843
1840
 
1844
1841
  def test_char
@@ -1847,9 +1844,9 @@ const char
1847
1844
  ----
1848
1845
  Char (const)
1849
1846
  EOS
1850
- assert_raise(ParseError){C::Char.parse('1);} void f() {(int')}
1851
- assert_raise(ParseError){C::Char.parse('1); (int')}
1852
- assert_raise(ParseError){C::Char.parse('void')}
1847
+ assert_raise(C::ParseError){C::Char.parse('1);} void f() {(int')}
1848
+ assert_raise(C::ParseError){C::Char.parse('1); (int')}
1849
+ assert_raise(C::ParseError){C::Char.parse('void')}
1853
1850
  end
1854
1851
 
1855
1852
  def test_bool
@@ -1858,9 +1855,9 @@ const _Bool
1858
1855
  ----
1859
1856
  Bool (const)
1860
1857
  EOS
1861
- assert_raise(ParseError){C::Bool.parse('1);} void f() {(int')}
1862
- assert_raise(ParseError){C::Bool.parse('1); (int')}
1863
- assert_raise(ParseError){C::Bool.parse('void')}
1858
+ assert_raise(C::ParseError){C::Bool.parse('1);} void f() {(int')}
1859
+ assert_raise(C::ParseError){C::Bool.parse('1); (int')}
1860
+ assert_raise(C::ParseError){C::Bool.parse('void')}
1864
1861
  end
1865
1862
 
1866
1863
  def test_complex
@@ -1869,9 +1866,9 @@ const _Complex float
1869
1866
  ----
1870
1867
  Complex (const)
1871
1868
  EOS
1872
- assert_raise(ParseError){C::Complex.parse('1);} void f() {(int')}
1873
- assert_raise(ParseError){C::Complex.parse('1); (int')}
1874
- assert_raise(ParseError){C::Complex.parse('void')}
1869
+ assert_raise(C::ParseError){C::Complex.parse('1);} void f() {(int')}
1870
+ assert_raise(C::ParseError){C::Complex.parse('1); (int')}
1871
+ assert_raise(C::ParseError){C::Complex.parse('void')}
1875
1872
  end
1876
1873
 
1877
1874
  def test_imaginary
@@ -1880,9 +1877,9 @@ const _Imaginary float
1880
1877
  ----
1881
1878
  Imaginary (const)
1882
1879
  EOS
1883
- assert_raise(ParseError){C::Imaginary.parse('1);} void f() {(int')}
1884
- assert_raise(ParseError){C::Imaginary.parse('1); (int')}
1885
- assert_raise(ParseError){C::Imaginary.parse('void')}
1880
+ assert_raise(C::ParseError){C::Imaginary.parse('1);} void f() {(int')}
1881
+ assert_raise(C::ParseError){C::Imaginary.parse('1); (int')}
1882
+ assert_raise(C::ParseError){C::Imaginary.parse('void')}
1886
1883
  end
1887
1884
 
1888
1885
  def test_string_literal
@@ -1892,15 +1889,15 @@ EOS
1892
1889
  StringLiteral
1893
1890
  val: "hello"
1894
1891
  EOS
1895
- assert_raise(ParseError){C::StringLiteral.parse('} void f() {')}
1896
- assert_raise(ParseError){C::StringLiteral.parse(';')}
1897
- assert_raise(ParseError){C::StringLiteral.parse('int i')}
1898
- assert_raise(ParseError){C::StringLiteral.parse('int')}
1899
- assert_raise(ParseError){C::StringLiteral.parse('if (0)')}
1900
- assert_raise(ParseError){C::StringLiteral.parse('switch (0)')}
1901
- assert_raise(ParseError){C::StringLiteral.parse('for (;;)')}
1902
- assert_raise(ParseError){C::StringLiteral.parse('goto')}
1903
- assert_raise(ParseError){C::StringLiteral.parse('return')}
1892
+ assert_raise(C::ParseError){C::StringLiteral.parse('} void f() {')}
1893
+ assert_raise(C::ParseError){C::StringLiteral.parse(';')}
1894
+ assert_raise(C::ParseError){C::StringLiteral.parse('int i')}
1895
+ assert_raise(C::ParseError){C::StringLiteral.parse('int')}
1896
+ assert_raise(C::ParseError){C::StringLiteral.parse('if (0)')}
1897
+ assert_raise(C::ParseError){C::StringLiteral.parse('switch (0)')}
1898
+ assert_raise(C::ParseError){C::StringLiteral.parse('for (;;)')}
1899
+ assert_raise(C::ParseError){C::StringLiteral.parse('goto')}
1900
+ assert_raise(C::ParseError){C::StringLiteral.parse('return')}
1904
1901
  end
1905
1902
 
1906
1903
  def test_char_literal
@@ -1910,15 +1907,15 @@ EOS
1910
1907
  CharLiteral
1911
1908
  val: "x"
1912
1909
  EOS
1913
- assert_raise(ParseError){C::CharLiteral.parse('} void f() {')}
1914
- assert_raise(ParseError){C::CharLiteral.parse(';')}
1915
- assert_raise(ParseError){C::CharLiteral.parse('int i')}
1916
- assert_raise(ParseError){C::CharLiteral.parse('int')}
1917
- assert_raise(ParseError){C::CharLiteral.parse('if (0)')}
1918
- assert_raise(ParseError){C::CharLiteral.parse('switch (0)')}
1919
- assert_raise(ParseError){C::CharLiteral.parse('for (;;)')}
1920
- assert_raise(ParseError){C::CharLiteral.parse('goto')}
1921
- assert_raise(ParseError){C::CharLiteral.parse('return')}
1910
+ assert_raise(C::ParseError){C::CharLiteral.parse('} void f() {')}
1911
+ assert_raise(C::ParseError){C::CharLiteral.parse(';')}
1912
+ assert_raise(C::ParseError){C::CharLiteral.parse('int i')}
1913
+ assert_raise(C::ParseError){C::CharLiteral.parse('int')}
1914
+ assert_raise(C::ParseError){C::CharLiteral.parse('if (0)')}
1915
+ assert_raise(C::ParseError){C::CharLiteral.parse('switch (0)')}
1916
+ assert_raise(C::ParseError){C::CharLiteral.parse('for (;;)')}
1917
+ assert_raise(C::ParseError){C::CharLiteral.parse('goto')}
1918
+ assert_raise(C::ParseError){C::CharLiteral.parse('return')}
1922
1919
  end
1923
1920
 
1924
1921
  def test_compound_literal
@@ -1947,15 +1944,15 @@ CompoundLiteral
1947
1944
  init: IntLiteral
1948
1945
  val: 30
1949
1946
  EOS
1950
- assert_raise(ParseError){C::CompoundLiteral.parse('} void f() {')}
1951
- assert_raise(ParseError){C::CompoundLiteral.parse(';')}
1952
- assert_raise(ParseError){C::CompoundLiteral.parse('int i')}
1953
- assert_raise(ParseError){C::CompoundLiteral.parse('int')}
1954
- assert_raise(ParseError){C::CompoundLiteral.parse('if (0)')}
1955
- assert_raise(ParseError){C::CompoundLiteral.parse('switch (0)')}
1956
- assert_raise(ParseError){C::CompoundLiteral.parse('for (;;)')}
1957
- assert_raise(ParseError){C::CompoundLiteral.parse('goto')}
1958
- assert_raise(ParseError){C::CompoundLiteral.parse('return')}
1947
+ assert_raise(C::ParseError){C::CompoundLiteral.parse('} void f() {')}
1948
+ assert_raise(C::ParseError){C::CompoundLiteral.parse(';')}
1949
+ assert_raise(C::ParseError){C::CompoundLiteral.parse('int i')}
1950
+ assert_raise(C::ParseError){C::CompoundLiteral.parse('int')}
1951
+ assert_raise(C::ParseError){C::CompoundLiteral.parse('if (0)')}
1952
+ assert_raise(C::ParseError){C::CompoundLiteral.parse('switch (0)')}
1953
+ assert_raise(C::ParseError){C::CompoundLiteral.parse('for (;;)')}
1954
+ assert_raise(C::ParseError){C::CompoundLiteral.parse('goto')}
1955
+ assert_raise(C::ParseError){C::CompoundLiteral.parse('return')}
1959
1956
  end
1960
1957
 
1961
1958
  def test_int_literal
@@ -1965,15 +1962,15 @@ EOS
1965
1962
  IntLiteral
1966
1963
  val: 1
1967
1964
  EOS
1968
- assert_raise(ParseError){C::IntLiteral.parse('} void f() {')}
1969
- assert_raise(ParseError){C::IntLiteral.parse(';')}
1970
- assert_raise(ParseError){C::IntLiteral.parse('int i')}
1971
- assert_raise(ParseError){C::IntLiteral.parse('int')}
1972
- assert_raise(ParseError){C::IntLiteral.parse('if (0)')}
1973
- assert_raise(ParseError){C::IntLiteral.parse('switch (0)')}
1974
- assert_raise(ParseError){C::IntLiteral.parse('for (;;)')}
1975
- assert_raise(ParseError){C::IntLiteral.parse('goto')}
1976
- assert_raise(ParseError){C::IntLiteral.parse('return')}
1965
+ assert_raise(C::ParseError){C::IntLiteral.parse('} void f() {')}
1966
+ assert_raise(C::ParseError){C::IntLiteral.parse(';')}
1967
+ assert_raise(C::ParseError){C::IntLiteral.parse('int i')}
1968
+ assert_raise(C::ParseError){C::IntLiteral.parse('int')}
1969
+ assert_raise(C::ParseError){C::IntLiteral.parse('if (0)')}
1970
+ assert_raise(C::ParseError){C::IntLiteral.parse('switch (0)')}
1971
+ assert_raise(C::ParseError){C::IntLiteral.parse('for (;;)')}
1972
+ assert_raise(C::ParseError){C::IntLiteral.parse('goto')}
1973
+ assert_raise(C::ParseError){C::IntLiteral.parse('return')}
1977
1974
  end
1978
1975
 
1979
1976
  def test_float_literal
@@ -1983,15 +1980,15 @@ EOS
1983
1980
  FloatLiteral
1984
1981
  val: 1.0
1985
1982
  EOS
1986
- assert_raise(ParseError){C::FloatLiteral.parse('} void f() {')}
1987
- assert_raise(ParseError){C::FloatLiteral.parse(';')}
1988
- assert_raise(ParseError){C::FloatLiteral.parse('int i')}
1989
- assert_raise(ParseError){C::FloatLiteral.parse('int')}
1990
- assert_raise(ParseError){C::FloatLiteral.parse('if (0)')}
1991
- assert_raise(ParseError){C::FloatLiteral.parse('switch (0)')}
1992
- assert_raise(ParseError){C::FloatLiteral.parse('for (;;)')}
1993
- assert_raise(ParseError){C::FloatLiteral.parse('goto')}
1994
- assert_raise(ParseError){C::FloatLiteral.parse('return')}
1983
+ assert_raise(C::ParseError){C::FloatLiteral.parse('} void f() {')}
1984
+ assert_raise(C::ParseError){C::FloatLiteral.parse(';')}
1985
+ assert_raise(C::ParseError){C::FloatLiteral.parse('int i')}
1986
+ assert_raise(C::ParseError){C::FloatLiteral.parse('int')}
1987
+ assert_raise(C::ParseError){C::FloatLiteral.parse('if (0)')}
1988
+ assert_raise(C::ParseError){C::FloatLiteral.parse('switch (0)')}
1989
+ assert_raise(C::ParseError){C::FloatLiteral.parse('for (;;)')}
1990
+ assert_raise(C::ParseError){C::FloatLiteral.parse('goto')}
1991
+ assert_raise(C::ParseError){C::FloatLiteral.parse('return')}
1995
1992
  end
1996
1993
 
1997
1994
  def test_variable
@@ -2001,14 +1998,14 @@ x
2001
1998
  Variable
2002
1999
  name: "x"
2003
2000
  EOS
2004
- assert_raise(ParseError){C::Variable.parse('} void f() {')}
2005
- assert_raise(ParseError){C::Variable.parse(';')}
2006
- assert_raise(ParseError){C::Variable.parse('int i')}
2007
- assert_raise(ParseError){C::Variable.parse('int')}
2008
- assert_raise(ParseError){C::Variable.parse('if (0)')}
2009
- assert_raise(ParseError){C::Variable.parse('switch (0)')}
2010
- assert_raise(ParseError){C::Variable.parse('for (;;)')}
2011
- assert_raise(ParseError){C::Variable.parse('goto')}
2012
- assert_raise(ParseError){C::Variable.parse('return')}
2001
+ assert_raise(C::ParseError){C::Variable.parse('} void f() {')}
2002
+ assert_raise(C::ParseError){C::Variable.parse(';')}
2003
+ assert_raise(C::ParseError){C::Variable.parse('int i')}
2004
+ assert_raise(C::ParseError){C::Variable.parse('int')}
2005
+ assert_raise(C::ParseError){C::Variable.parse('if (0)')}
2006
+ assert_raise(C::ParseError){C::Variable.parse('switch (0)')}
2007
+ assert_raise(C::ParseError){C::Variable.parse('for (;;)')}
2008
+ assert_raise(C::ParseError){C::Variable.parse('goto')}
2009
+ assert_raise(C::ParseError){C::Variable.parse('return')}
2013
2010
  end
2014
2011
  end