rubyang 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,13 +1,13 @@
1
1
  class Rubyang::Xpath::Parser
2
2
 
3
3
  rule
4
- statement : "LocationPath"
4
+ statement : "Expr"
5
5
  {
6
6
  if Rubyang::Xpath::Parser::DEBUG
7
- puts 'statement : LocationPath'
7
+ puts 'statement : Expr'
8
8
  puts "val: #{val.inspect}"
9
9
  end
10
- result = val[0]
10
+ result = Rubyang::Xpath::Expr.new val[0]
11
11
  }
12
12
 
13
13
  "LocationPath" : "RelativeLocationPath"
@@ -37,7 +37,7 @@ rule
37
37
  node_test = Rubyang::Xpath::NodeTest.new Rubyang::Xpath::NodeTest::NodeTestType::NAME_TEST, '/'
38
38
  predicates = Rubyang::Xpath::Predicates.new
39
39
  location_step = Rubyang::Xpath::LocationStep.new axis, node_test, predicates
40
- result = Rubyang::Xpath::LocationSteps.new location_step
40
+ result = Rubyang::Xpath::LocationPath.new location_step
41
41
  }
42
42
  | "/" "RelativeLocationPath"
43
43
  {
@@ -49,10 +49,7 @@ rule
49
49
  node_test = Rubyang::Xpath::NodeTest.new Rubyang::Xpath::NodeTest::NodeTestType::NAME_TEST, '/'
50
50
  predicates = Rubyang::Xpath::Predicates.new
51
51
  location_step = Rubyang::Xpath::LocationStep.new axis, node_test, predicates
52
- location_steps = Array.new
53
- location_steps.push location_step
54
- location_steps.push *val[1]
55
- result = Rubyang::Xpath::LocationSteps.new *location_steps
52
+ result = Rubyang::Xpath::LocationPath.new location_step, *(val[1].location_step_sequence)
56
53
  }
57
54
  | "AbbreviatedAbsoluteLocationPath"
58
55
  {
@@ -69,7 +66,7 @@ rule
69
66
  puts '"RelativeLocationPath" : "Step"'
70
67
  puts "val: #{val.inspect}"
71
68
  end
72
- result = Rubyang::Xpath::LocationSteps.new val[0]
69
+ result = Rubyang::Xpath::LocationPath.new val[0]
73
70
  }
74
71
  | "RelativeLocationPath" "/" "Step"
75
72
  {
@@ -77,7 +74,7 @@ rule
77
74
  puts '"RelativeLocationPath" : "RelativeLocationPath" "/" "Step"'
78
75
  puts "val: #{val.inspect}"
79
76
  end
80
- result = val[0].push val[2]
77
+ result = val[0].add val[2]
81
78
  }
82
79
  | "AbbreviatedRelativeLocationPath"
83
80
  {
@@ -129,7 +126,7 @@ rule
129
126
  | "Predicates" "Predicate"
130
127
  {
131
128
  if Rubyang::Xpath::Parser::DEBUG
132
- puts '"Predicates" : "Predicates" "'
129
+ puts '"Predicates" : "Predicates" "Predicate"'
133
130
  puts "val: #{val.inspect}"
134
131
  end
135
132
  result = val[0].push val[1]
@@ -274,7 +271,7 @@ rule
274
271
  puts '"Predicate" : "[" "PredicateExpr" "]"'
275
272
  puts "val: #{val.inspect}"
276
273
  end
277
- result = val[1]
274
+ result = Rubyang::Xpath::Predicate.new val[1]
278
275
  }
279
276
 
280
277
  "PredicateExpr" : "Expr"
@@ -283,7 +280,7 @@ rule
283
280
  puts '"PredicateExpr" : "Expr"'
284
281
  puts "val: #{val.inspect}"
285
282
  end
286
- result = Rubyang::Xpath::Predicate.new val[0]
283
+ result = val[0]
287
284
  }
288
285
 
289
286
  "AbbreviatedAbsoluteLocationPath" : "//" "RelativeLocationPath"
@@ -371,7 +368,6 @@ rule
371
368
  puts "val: #{val.inspect}"
372
369
  end
373
370
  result = val[1]
374
- raise "'(' Expr ')' is not implemented"
375
371
  }
376
372
  | "Literal"
377
373
  {
@@ -379,8 +375,8 @@ rule
379
375
  puts '"PrimaryExpr" : "Literal"'
380
376
  puts "val: #{val.inspect}"
381
377
  end
382
- literal = Rubyang::Xpath::Predicate::Literal.new val[0]
383
- result = Rubyang::Xpath::Predicate::PrimaryExpr.new literal
378
+ literal = Rubyang::Xpath::Literal.new val[0]
379
+ result = Rubyang::Xpath::PrimaryExpr.new literal
384
380
  }
385
381
  | "Number"
386
382
  {
@@ -388,8 +384,8 @@ rule
388
384
  puts '"PrimaryExpr" : "Number"'
389
385
  puts "val: #{val.inspect}"
390
386
  end
391
- number = Rubyang::Xpath::Predicate::Number.new val[0]
392
- result = Rubyang::Xpath::Predicate::PrimaryExpr.new number
387
+ number = Rubyang::Xpath::Number.new val[0]
388
+ result = Rubyang::Xpath::PrimaryExpr.new number
393
389
  }
394
390
  | "FunctionCall"
395
391
  {
@@ -397,7 +393,7 @@ rule
397
393
  puts '"PrimaryExpr" : "FunctionCall"'
398
394
  puts "val: #{val.inspect}"
399
395
  end
400
- result = Rubyang::Xpath::Predicate::PrimaryExpr.new val[0]
396
+ result = Rubyang::Xpath::PrimaryExpr.new val[0]
401
397
  }
402
398
 
403
399
  "FunctionCall" : "FunctionName(" ")"
@@ -406,7 +402,7 @@ rule
406
402
  puts '"FunctionCall" : "FunctionName(" ")"'
407
403
  puts "val: #{val.inspect}"
408
404
  end
409
- result = Rubyang::Xpath::Predicate::FunctionCall.new val[0]
405
+ result = Rubyang::Xpath::FunctionCall.new val[0]
410
406
  }
411
407
  | "FunctionName(" "Arguments" ")"
412
408
  {
@@ -414,7 +410,7 @@ rule
414
410
  puts '"FunctionCall" : "FunctionName(" "Arguments" ")"'
415
411
  puts "val: #{val.inspect}"
416
412
  end
417
- result = Rubyang::Xpath::Predicate::FunctionCall.new val[0], val[1]
413
+ result = Rubyang::Xpath::FunctionCall.new val[0], val[1]
418
414
  }
419
415
 
420
416
  "Arguments" : "Argument"
@@ -449,7 +445,7 @@ rule
449
445
  puts '"UnionExpr" : "PathExpr"'
450
446
  puts "val: #{val.inspect}"
451
447
  end
452
- result = Rubyang::Xpath::Predicate::UnionExpr.new val[0]
448
+ result = Rubyang::Xpath::UnionExpr.new val[0]
453
449
  }
454
450
  | "UnionExpr" "|" "PathExpr"
455
451
  {
@@ -457,7 +453,7 @@ rule
457
453
  puts '"UnionExpr" : "UnionExpr" "|" "PathExpr"'
458
454
  puts "val: #{val.inspect}"
459
455
  end
460
- result = Rubyang::Xpath::Predicate::UnionExpr.new val[0], val[1], val[2]
456
+ result = Rubyang::Xpath::UnionExpr.new val[0], val[1], val[2]
461
457
  }
462
458
 
463
459
  "PathExpr" : "LocationPath"
@@ -466,7 +462,7 @@ rule
466
462
  puts '"PathExpr" : "LocationPath"'
467
463
  puts "val: #{val.inspect}"
468
464
  end
469
- result = Rubyang::Xpath::Predicate::PathExpr.new val[0]
465
+ result = Rubyang::Xpath::PathExpr.new val[0]
470
466
  }
471
467
  | "FilterExpr"
472
468
  {
@@ -474,7 +470,7 @@ rule
474
470
  puts '"PathExpr" : "FilterExpr"'
475
471
  puts "val: #{val.inspect}"
476
472
  end
477
- result = Rubyang::Xpath::Predicate::PathExpr.new val[0]
473
+ result = Rubyang::Xpath::PathExpr.new val[0]
478
474
  }
479
475
  | "FilterExpr" "/" "RelativeLocationPath"
480
476
  {
@@ -482,7 +478,7 @@ rule
482
478
  puts '"PathExpr" : "FilterExpr" "/" "RelativeLocationPath"'
483
479
  puts "val: #{val.inspect}"
484
480
  end
485
- result = Rubyang::Xpath::Predicate::PathExpr.new val[0], val[1], val[2]
481
+ result = Rubyang::Xpath::PathExpr.new val[0], val[1], val[2]
486
482
  }
487
483
  | "FilterExpr" "//" "RelativeLocationPath"
488
484
  {
@@ -490,7 +486,7 @@ rule
490
486
  puts '"PathExpr" : "FilterExpr" "//" "RelativeLocationPath"'
491
487
  puts "val: #{val.inspect}"
492
488
  end
493
- result = Rubyang::Xpath::Predicate::PathExpr.new val[0], val[1], val[2]
489
+ result = Rubyang::Xpath::PathExpr.new val[0], val[1], val[2]
494
490
  }
495
491
 
496
492
  "FilterExpr" : "PrimaryExpr"
@@ -499,7 +495,7 @@ rule
499
495
  puts '"FilterExpr" : "PrimaryExpr"'
500
496
  puts "val: #{val.inspect}"
501
497
  end
502
- result = Rubyang::Xpath::Predicate::FilterExpr.new val[0]
498
+ result = Rubyang::Xpath::FilterExpr.new val[0]
503
499
  }
504
500
  | "FilterExpr Predicat"
505
501
  {
@@ -507,7 +503,7 @@ rule
507
503
  puts '"FilterExpr" : "FilterExpr Predicat"'
508
504
  puts "val: #{val.inspect}"
509
505
  end
510
- result = Rubyang::Xpath::Predicate::FilterExpr.new val[0], val[1]
506
+ result = Rubyang::Xpath::FilterExpr.new val[0], val[1]
511
507
  }
512
508
 
513
509
  "OrExpr" : "AndExpr"
@@ -516,7 +512,7 @@ rule
516
512
  puts '"OrExpr" : "AndExpr"'
517
513
  puts "val: #{val.inspect}"
518
514
  end
519
- result = Rubyang::Xpath::Predicate::OrExpr.new val[0]
515
+ result = Rubyang::Xpath::OrExpr.new val[0]
520
516
  }
521
517
  | "OrExpr" "or" "AndExpr"
522
518
  {
@@ -524,7 +520,7 @@ rule
524
520
  puts '"OrExpr" : "OrExpr" "or" "AndExpr"'
525
521
  puts "val: #{val.inspect}"
526
522
  end
527
- result = Rubyang::Xpath::Predicate::OrExpr.new val[0], val[2]
523
+ result = Rubyang::Xpath::OrExpr.new val[0], val[2]
528
524
  }
529
525
 
530
526
  "AndExpr" : "EqualityExpr"
@@ -533,7 +529,7 @@ rule
533
529
  puts '"AndExpr" : "EqualityExpr"'
534
530
  puts "val: #{val.inspect}"
535
531
  end
536
- result = Rubyang::Xpath::Predicate::AndExpr.new val[0]
532
+ result = Rubyang::Xpath::AndExpr.new val[0]
537
533
  }
538
534
  | "AndExpr" "and" "EqualityExpr"
539
535
  {
@@ -541,7 +537,7 @@ rule
541
537
  puts '"AndExpr" : "AndExpr" "and" "EqualityExpr"'
542
538
  puts "val: #{val.inspect}"
543
539
  end
544
- result = Rubyang::Xpath::Predicate::AndExpr.new val[0], val[2]
540
+ result = Rubyang::Xpath::AndExpr.new val[0], val[2]
545
541
  }
546
542
 
547
543
  "EqualityExpr" : "RelationalExpr"
@@ -550,7 +546,7 @@ rule
550
546
  puts '"EqualityExpr" : "RelationalExpr"'
551
547
  puts "val: #{val.inspect}"
552
548
  end
553
- result = Rubyang::Xpath::Predicate::EqualityExpr.new val[0]
549
+ result = Rubyang::Xpath::EqualityExpr.new val[0]
554
550
  }
555
551
  | "EqualityExpr" "=" "RelationalExpr"
556
552
  {
@@ -558,7 +554,7 @@ rule
558
554
  puts '"EqualityExpr" : "EqualityExpr" "=" "RelationalExpr"'
559
555
  puts "val: #{val.inspect}"
560
556
  end
561
- result = Rubyang::Xpath::Predicate::EqualityExpr.new val[0], val[1], val[2]
557
+ result = Rubyang::Xpath::EqualityExpr.new val[0], val[1], val[2]
562
558
  }
563
559
  | "EqualityExpr" "!=" "RelationalExpr"
564
560
  {
@@ -566,7 +562,7 @@ rule
566
562
  puts '"EqualityExpr" : "EqualityExpr" "!=" "RelationalExpr"'
567
563
  puts "val: #{val.inspect}"
568
564
  end
569
- result = Rubyang::Xpath::Predicate::EqualityExpr.new val[0], val[1], val[2]
565
+ result = Rubyang::Xpath::EqualityExpr.new val[0], val[1], val[2]
570
566
  }
571
567
 
572
568
  "RelationalExpr" : "AdditiveExpr"
@@ -575,7 +571,7 @@ rule
575
571
  puts '"RelationalExpr" : "AdditiveExpr"'
576
572
  puts "val: #{val.inspect}"
577
573
  end
578
- result = Rubyang::Xpath::Predicate::RelationalExpr.new val[0]
574
+ result = Rubyang::Xpath::RelationalExpr.new val[0]
579
575
  }
580
576
  | "RelationalExpr" "<" "AdditiveExpr"
581
577
  {
@@ -583,7 +579,7 @@ rule
583
579
  puts '"RelationalExpr" : "RelationalExpr" "<" "AdditiveExpr"'
584
580
  puts "val: #{val.inspect}"
585
581
  end
586
- result = Rubyang::Xpath::Predicate::RelationalExpr.new val[0], val[1], val[2]
582
+ result = Rubyang::Xpath::RelationalExpr.new val[0], val[1], val[2]
587
583
  }
588
584
  | "RelationalExpr" ">" "AdditiveExpr"
589
585
  {
@@ -591,7 +587,7 @@ rule
591
587
  puts '"RelationalExpr" : "RelationalExpr" ">" "AdditiveExpr"'
592
588
  puts "val: #{val.inspect}"
593
589
  end
594
- result = Rubyang::Xpath::Predicate::RelationalExpr.new val[0], val[1], val[2]
590
+ result = Rubyang::Xpath::RelationalExpr.new val[0], val[1], val[2]
595
591
  }
596
592
  | "RelationalExpr" "<=" "AdditiveExpr"
597
593
  {
@@ -599,7 +595,7 @@ rule
599
595
  puts '"RelationalExpr" : "RelationalExpr" "<=" "AdditiveExpr"'
600
596
  puts "val: #{val.inspect}"
601
597
  end
602
- result = Rubyang::Xpath::Predicate::RelationalExpr.new val[0], val[1], val[2]
598
+ result = Rubyang::Xpath::RelationalExpr.new val[0], val[1], val[2]
603
599
  }
604
600
  | "RelationalExpr" ">=" "AdditiveExpr"
605
601
  {
@@ -607,7 +603,7 @@ rule
607
603
  puts '"RelationalExpr" : "RelationalExpr" ">=" "AdditiveExpr"'
608
604
  puts "val: #{val.inspect}"
609
605
  end
610
- result = Rubyang::Xpath::Predicate::RelationalExpr.new val[0], val[1], val[2]
606
+ result = Rubyang::Xpath::RelationalExpr.new val[0], val[1], val[2]
611
607
  }
612
608
 
613
609
  "AdditiveExpr" : "MultiplicativeExpr"
@@ -616,7 +612,7 @@ rule
616
612
  puts '"AdditiveExpr" : "MultiplicativeExpr"'
617
613
  puts "val: #{val.inspect}"
618
614
  end
619
- result = Rubyang::Xpath::Predicate::AdditiveExpr.new val[0]
615
+ result = Rubyang::Xpath::AdditiveExpr.new val[0]
620
616
  }
621
617
  | "AdditiveExpr" "+" "MultiplicativeExpr"
622
618
  {
@@ -624,7 +620,7 @@ rule
624
620
  puts '"AdditiveExpr" : "AdditiveExpr" "+" "MultiplicativeExpr"'
625
621
  puts "val: #{val.inspect}"
626
622
  end
627
- result = Rubyang::Xpath::Predicate::AdditiveExpr.new val[0], val[1], val[2]
623
+ result = Rubyang::Xpath::AdditiveExpr.new val[0], val[1], val[2]
628
624
  }
629
625
  | "AdditiveExpr" "-" "MultiplicativeExpr"
630
626
  {
@@ -632,7 +628,7 @@ rule
632
628
  puts '"AdditiveExpr" : "AdditiveExpr" "-" "MultiplicativeExpr"'
633
629
  puts "val: #{val.inspect}"
634
630
  end
635
- result = Rubyang::Xpath::Predicate::AdditiveExpr.new val[0], val[1], val[2]
631
+ result = Rubyang::Xpath::AdditiveExpr.new val[0], val[1], val[2]
636
632
  }
637
633
 
638
634
  "MultiplicativeExpr" : "UnaryExpr"
@@ -641,7 +637,7 @@ rule
641
637
  puts '"MultiplicativeExpr" : "UnaryExpr"'
642
638
  puts "val: #{val.inspect}"
643
639
  end
644
- result = Rubyang::Xpath::Predicate::MultiplicativeExpr.new val[0]
640
+ result = Rubyang::Xpath::MultiplicativeExpr.new val[0]
645
641
  }
646
642
  | "MultiplicativeExpr" "*" "UnaryExpr"
647
643
  {
@@ -649,7 +645,7 @@ rule
649
645
  puts '"MultiplicativeExpr" : "MultiplicativeExpr" "*" "UnaryExpr"'
650
646
  puts "val: #{val.inspect}"
651
647
  end
652
- result = Rubyang::Xpath::Predicate::MultiplicativeExpr.new val[0], val[1], val[2]
648
+ result = Rubyang::Xpath::MultiplicativeExpr.new val[0], val[1], val[2]
653
649
  }
654
650
  | "MultiplicativeExpr" "div" "UnaryExpr"
655
651
  {
@@ -657,7 +653,7 @@ rule
657
653
  puts '"MultiplicativeExpr" : "MultiplicativeExpr" "div" "UnaryExpr"'
658
654
  puts "val: #{val.inspect}"
659
655
  end
660
- result = Rubyang::Xpath::Predicate::MultiplicativeExpr.new val[0], val[1], val[2]
656
+ result = Rubyang::Xpath::MultiplicativeExpr.new val[0], val[1], val[2]
661
657
  }
662
658
  | "MultiplicativeExpr" "mod" "UnaryExpr"
663
659
  {
@@ -665,7 +661,7 @@ rule
665
661
  puts '"MultiplicativeExpr" : "MultiplicativeExpr" "mod" "UnaryExpr"'
666
662
  puts "val: #{val.inspect}"
667
663
  end
668
- result = Rubyang::Xpath::Predicate::MultiplicativeExpr.new val[0], val[1], val[2]
664
+ result = Rubyang::Xpath::MultiplicativeExpr.new val[0], val[1], val[2]
669
665
  }
670
666
 
671
667
  "UnaryExpr" : "UnionExpr"
@@ -674,7 +670,7 @@ rule
674
670
  puts '"UnaryExp" : "UnionExpr"'
675
671
  puts "val: #{val.inspect}"
676
672
  end
677
- result = Rubyang::Xpath::Predicate::UnaryExpr.new val[0]
673
+ result = Rubyang::Xpath::UnaryExpr.new val[0]
678
674
  }
679
675
  | "-" "UnaryExp"
680
676
  {
@@ -682,7 +678,7 @@ rule
682
678
  puts '"UnaryExp" : "-" "UnaryExp"'
683
679
  puts "val: #{val.inspect}"
684
680
  end
685
- result = Rubyang::Xpath::Predicate::UnaryExpr.new val[1], val[0]
681
+ result = Rubyang::Xpath::UnaryExpr.new val[1], val[0]
686
682
  }
687
683
 
688
684
  "Number" : "Digits"
@@ -724,7 +720,7 @@ rule
724
720
  puts '"FunctionName(" : "last("'
725
721
  puts "val: #{val.inspect}"
726
722
  end
727
- result = Rubyang::Xpath::Predicate::FunctionCall::LAST
723
+ result = Rubyang::Xpath::FunctionCall::LAST
728
724
  }
729
725
  | "position("
730
726
  {
@@ -732,7 +728,7 @@ rule
732
728
  puts '"FunctionName(" : "position("'
733
729
  puts "val: #{val.inspect}"
734
730
  end
735
- result = Rubyang::Xpath::Predicate::FunctionCall::LAST
731
+ result = Rubyang::Xpath::FunctionCall::LAST
736
732
  result = val[0]
737
733
  }
738
734
  | "count("
@@ -741,7 +737,7 @@ rule
741
737
  puts '"FunctionName(" : "count("'
742
738
  puts "val: #{val.inspect}"
743
739
  end
744
- result = Rubyang::Xpath::Predicate::FunctionCall::LAST
740
+ result = Rubyang::Xpath::FunctionCall::LAST
745
741
  result = val[0]
746
742
  }
747
743
  | "id("
@@ -750,7 +746,7 @@ rule
750
746
  puts '"FunctionName(" : "id("'
751
747
  puts "val: #{val.inspect}"
752
748
  end
753
- result = Rubyang::Xpath::Predicate::FunctionCall::LAST
749
+ result = Rubyang::Xpath::FunctionCall::LAST
754
750
  result = val[0]
755
751
  }
756
752
  | "local-name("
@@ -760,7 +756,7 @@ rule
760
756
  puts "val: #{val.inspect}"
761
757
  end
762
758
  result = val[0]
763
- result = Rubyang::Xpath::Predicate::FunctionCall::LAST
759
+ result = Rubyang::Xpath::FunctionCall::LAST
764
760
  }
765
761
  | "namespace-uri("
766
762
  {
@@ -769,7 +765,7 @@ rule
769
765
  puts "val: #{val.inspect}"
770
766
  end
771
767
  result = val[0]
772
- result = Rubyang::Xpath::Predicate::FunctionCall::LAST
768
+ result = Rubyang::Xpath::FunctionCall::LAST
773
769
  }
774
770
  | "name("
775
771
  {
@@ -778,7 +774,7 @@ rule
778
774
  puts "val: #{val.inspect}"
779
775
  end
780
776
  result = val[0]
781
- result = Rubyang::Xpath::Predicate::FunctionCall::LAST
777
+ result = Rubyang::Xpath::FunctionCall::LAST
782
778
  }
783
779
  | "string("
784
780
  {
@@ -787,7 +783,7 @@ rule
787
783
  puts "val: #{val.inspect}"
788
784
  end
789
785
  result = val[0]
790
- result = Rubyang::Xpath::Predicate::FunctionCall::LAST
786
+ result = Rubyang::Xpath::FunctionCall::LAST
791
787
  }
792
788
  | "concat("
793
789
  {
@@ -796,7 +792,7 @@ rule
796
792
  puts "val: #{val.inspect}"
797
793
  end
798
794
  result = val[0]
799
- result = Rubyang::Xpath::Predicate::FunctionCall::LAST
795
+ result = Rubyang::Xpath::FunctionCall::LAST
800
796
  }
801
797
  | "starts-with("
802
798
  {
@@ -805,7 +801,7 @@ rule
805
801
  puts "val: #{val.inspect}"
806
802
  end
807
803
  result = val[0]
808
- result = Rubyang::Xpath::Predicate::FunctionCall::LAST
804
+ result = Rubyang::Xpath::FunctionCall::LAST
809
805
  }
810
806
  | "contains("
811
807
  {
@@ -814,7 +810,7 @@ rule
814
810
  puts "val: #{val.inspect}"
815
811
  end
816
812
  result = val[0]
817
- result = Rubyang::Xpath::Predicate::FunctionCall::LAST
813
+ result = Rubyang::Xpath::FunctionCall::LAST
818
814
  }
819
815
  | "substring-before("
820
816
  {
@@ -823,7 +819,7 @@ rule
823
819
  puts "val: #{val.inspect}"
824
820
  end
825
821
  result = val[0]
826
- result = Rubyang::Xpath::Predicate::FunctionCall::LAST
822
+ result = Rubyang::Xpath::FunctionCall::LAST
827
823
  }
828
824
  | "substring-after("
829
825
  {
@@ -832,7 +828,7 @@ rule
832
828
  puts "val: #{val.inspect}"
833
829
  end
834
830
  result = val[0]
835
- result = Rubyang::Xpath::Predicate::FunctionCall::LAST
831
+ result = Rubyang::Xpath::FunctionCall::LAST
836
832
  }
837
833
  | "substring("
838
834
  {
@@ -841,7 +837,7 @@ rule
841
837
  puts "val: #{val.inspect}"
842
838
  end
843
839
  result = val[0]
844
- result = Rubyang::Xpath::Predicate::FunctionCall::LAST
840
+ result = Rubyang::Xpath::FunctionCall::LAST
845
841
  }
846
842
  | "string-length("
847
843
  {
@@ -850,7 +846,7 @@ rule
850
846
  puts "val: #{val.inspect}"
851
847
  end
852
848
  result = val[0]
853
- result = Rubyang::Xpath::Predicate::FunctionCall::LAST
849
+ result = Rubyang::Xpath::FunctionCall::LAST
854
850
  }
855
851
  | "normalize-space("
856
852
  {
@@ -859,7 +855,7 @@ rule
859
855
  puts "val: #{val.inspect}"
860
856
  end
861
857
  result = val[0]
862
- result = Rubyang::Xpath::Predicate::FunctionCall::LAST
858
+ result = Rubyang::Xpath::FunctionCall::LAST
863
859
  }
864
860
  | "translate("
865
861
  {
@@ -868,7 +864,7 @@ rule
868
864
  puts "val: #{val.inspect}"
869
865
  end
870
866
  result = val[0]
871
- result = Rubyang::Xpath::Predicate::FunctionCall::LAST
867
+ result = Rubyang::Xpath::FunctionCall::LAST
872
868
  }
873
869
  | "boolean("
874
870
  {
@@ -877,7 +873,7 @@ rule
877
873
  puts "val: #{val.inspect}"
878
874
  end
879
875
  result = val[0]
880
- result = Rubyang::Xpath::Predicate::FunctionCall::LAST
876
+ result = Rubyang::Xpath::FunctionCall::LAST
881
877
  }
882
878
  | "not("
883
879
  {
@@ -886,7 +882,7 @@ rule
886
882
  puts "val: #{val.inspect}"
887
883
  end
888
884
  result = val[0]
889
- result = Rubyang::Xpath::Predicate::FunctionCall::LAST
885
+ result = Rubyang::Xpath::FunctionCall::LAST
890
886
  }
891
887
  | "true("
892
888
  {
@@ -895,7 +891,7 @@ rule
895
891
  puts "val: #{val.inspect}"
896
892
  end
897
893
  result = val[0]
898
- result = Rubyang::Xpath::Predicate::FunctionCall::LAST
894
+ result = Rubyang::Xpath::FunctionCall::LAST
899
895
  }
900
896
  | "false("
901
897
  {
@@ -904,7 +900,7 @@ rule
904
900
  puts "val: #{val.inspect}"
905
901
  end
906
902
  result = val[0]
907
- result = Rubyang::Xpath::Predicate::FunctionCall::LAST
903
+ result = Rubyang::Xpath::FunctionCall::LAST
908
904
  }
909
905
  | "lang("
910
906
  {
@@ -913,7 +909,7 @@ rule
913
909
  puts "val: #{val.inspect}"
914
910
  end
915
911
  result = val[0]
916
- result = Rubyang::Xpath::Predicate::FunctionCall::LAST
912
+ result = Rubyang::Xpath::FunctionCall::LAST
917
913
  }
918
914
  | "number("
919
915
  {
@@ -922,7 +918,7 @@ rule
922
918
  puts "val: #{val.inspect}"
923
919
  end
924
920
  result = val[0]
925
- result = Rubyang::Xpath::Predicate::FunctionCall::LAST
921
+ result = Rubyang::Xpath::FunctionCall::LAST
926
922
  }
927
923
  | "sum("
928
924
  {
@@ -931,7 +927,7 @@ rule
931
927
  puts "val: #{val.inspect}"
932
928
  end
933
929
  result = val[0]
934
- result = Rubyang::Xpath::Predicate::FunctionCall::LAST
930
+ result = Rubyang::Xpath::FunctionCall::LAST
935
931
  }
936
932
  | "floor("
937
933
  {
@@ -940,7 +936,7 @@ rule
940
936
  puts "val: #{val.inspect}"
941
937
  end
942
938
  result = val[0]
943
- result = Rubyang::Xpath::Predicate::FunctionCall::LAST
939
+ result = Rubyang::Xpath::FunctionCall::LAST
944
940
  }
945
941
  | "ceiling("
946
942
  {
@@ -949,7 +945,7 @@ rule
949
945
  puts "val: #{val.inspect}"
950
946
  end
951
947
  result = val[0]
952
- result = Rubyang::Xpath::Predicate::FunctionCall::LAST
948
+ result = Rubyang::Xpath::FunctionCall::LAST
953
949
  }
954
950
  | "round("
955
951
  {
@@ -958,7 +954,7 @@ rule
958
954
  puts "val: #{val.inspect}"
959
955
  end
960
956
  result = val[0]
961
- result = Rubyang::Xpath::Predicate::FunctionCall::LAST
957
+ result = Rubyang::Xpath::FunctionCall::LAST
962
958
  }
963
959
  | "current("
964
960
  {
@@ -966,7 +962,7 @@ rule
966
962
  puts '"FunctionName(" : "current("'
967
963
  puts "val: #{val.inspect}"
968
964
  end
969
- result = Rubyang::Xpath::Predicate::FunctionCall::CURRENT
965
+ result = Rubyang::Xpath::FunctionCall::CURRENT
970
966
  }
971
967
 
972
968
  "VariableReference" : "$" "QName"
@@ -112,17 +112,27 @@ module Rubyang
112
112
 
113
113
  until s.eos?
114
114
  token = s.scan( scanre )
115
- #p token
115
+ if DEBUG
116
+ p token
117
+ end
116
118
  next if "S" == scanre_list.find{ |s| s[1] =~ token }[0]
117
119
  @tokens.push [scanre_list.find{ |s| s[1] =~ token }[0], token]
120
+ if DEBUG
121
+ p @tokens.last
122
+ end
118
123
  end
119
124
 
125
+ if DEBUG
126
+ p 'run do_parse'
127
+ end
120
128
  result = self.do_parse
121
129
  result
122
130
  end
123
131
 
124
132
  def next_token
125
- #p @tokens.first
133
+ if DEBUG
134
+ p @tokens.first
135
+ end
126
136
  @tokens.shift
127
137
  end
128
138
  end