@@ -65,7 +65,7 @@ final public SemgrexPattern Root() throws ParseException {// Root pattern for th
65
65
case 11 :
66
66
case 15 :
67
67
case 17 :
68
- case 23 :{
68
+ case 24 :{
69
69
node = SubNode (GraphRelation .ROOT );
70
70
children .add (node );
71
71
label_1 :
@@ -135,7 +135,7 @@ final public SemgrexPattern Root() throws ParseException {// Root pattern for th
135
135
}
136
136
case 15 :
137
137
case 17 :
138
- case 23 :{
138
+ case 24 :{
139
139
result = ModNode (r );
140
140
switch ((jj_ntk ==-1 )?jj_ntk_f ():jj_ntk ) {
141
141
case RELATION :
@@ -397,7 +397,7 @@ final public SemgrexPattern Root() throws ParseException {// Root pattern for th
397
397
switch ((jj_ntk ==-1 )?jj_ntk_f ():jj_ntk ) {
398
398
case 15 :
399
399
case 17 :
400
- case 23 :{
400
+ case 24 :{
401
401
node = ModNode (reln );
402
402
break ;
403
403
}
@@ -454,7 +454,7 @@ final public SemgrexPattern Root() throws ParseException {// Root pattern for th
454
454
case 14 :
455
455
case 15 :
456
456
case 17 :
457
- case 23 :{
457
+ case 24 :{
458
458
;
459
459
break ;
460
460
}
@@ -485,7 +485,7 @@ final public SemgrexPattern Root() throws ParseException {// Root pattern for th
485
485
boolean startUnderNeg ;
486
486
switch ((jj_ntk ==-1 )?jj_ntk_f ():jj_ntk ) {
487
487
case 17 :
488
- case 23 :{
488
+ case 24 :{
489
489
child = Child (r );
490
490
break ;
491
491
}
@@ -512,7 +512,7 @@ final public SemgrexPattern Root() throws ParseException {// Root pattern for th
512
512
child = NodeDisj (r );
513
513
break ;
514
514
}
515
- case 23 :{
515
+ case 24 :{
516
516
child = Description (r );
517
517
break ;
518
518
}
@@ -569,8 +569,22 @@ final public SemgrexPattern Root() throws ParseException {// Root pattern for th
569
569
}
570
570
break ;
571
571
}
572
- case ALIGNRELN :{
573
- attrType = jj_consume_token (ALIGNRELN );
572
+ case ALIGNRELN :
573
+ case 23 :{
574
+ switch ((jj_ntk ==-1 )?jj_ntk_f ():jj_ntk ) {
575
+ case ALIGNRELN :{
576
+ attrType = jj_consume_token (ALIGNRELN );
577
+ break ;
578
+ }
579
+ case 23 :{
580
+ attrType = jj_consume_token (23 );
581
+ break ;
582
+ }
583
+ default :
584
+ jj_la1 [25 ] = jj_gen ;
585
+ jj_consume_token (-1 );
586
+ throw new ParseException ();
587
+ }
574
588
key = jj_consume_token (IDENTIFIER );
575
589
jj_consume_token (21 );
576
590
switch ((jj_ntk ==-1 )?jj_ntk_f ():jj_ntk ) {
@@ -583,19 +597,20 @@ final public SemgrexPattern Root() throws ParseException {// Root pattern for th
583
597
break ;
584
598
}
585
599
default :
586
- jj_la1 [25 ] = jj_gen ;
600
+ jj_la1 [26 ] = jj_gen ;
587
601
jj_consume_token (-1 );
588
602
throw new ParseException ();
589
603
}
590
604
if (attr == null || key == null || value == null ) {
591
605
{if (true ) throw new SemgrexParseException ("null while parsing semgrex expression: attr=" + attr +
592
606
" key=" + key + " value=" + value );}
593
607
}
594
- attributes .addContains (attr .image , key .image , value .image );
608
+ boolean negated = attrType .image .equals ("!@" );
609
+ attributes .addContains (attr .image , key .image , value .image , negated );
595
610
break ;
596
611
}
597
612
default :
598
- jj_la1 [26 ] = jj_gen ;
613
+ jj_la1 [27 ] = jj_gen ;
599
614
jj_consume_token (-1 );
600
615
throw new ParseException ();
601
616
}
@@ -612,7 +627,7 @@ final public SemgrexPattern Root() throws ParseException {// Root pattern for th
612
627
break ;
613
628
}
614
629
default :
615
- jj_la1 [27 ] = jj_gen ;
630
+ jj_la1 [28 ] = jj_gen ;
616
631
jj_consume_token (-1 );
617
632
throw new ParseException ();
618
633
}
@@ -622,7 +637,7 @@ final public SemgrexPattern Root() throws ParseException {// Root pattern for th
622
637
boolean link = false ;
623
638
NodeAttributes attributes = new NodeAttributes ();
624
639
NodePattern pat ;
625
- jj_consume_token (23 );
640
+ jj_consume_token (24 );
626
641
switch ((jj_ntk ==-1 )?jj_ntk_f ():jj_ntk ) {
627
642
case IDENTIFIER :
628
643
case EMPTY :
@@ -631,24 +646,24 @@ final public SemgrexPattern Root() throws ParseException {// Root pattern for th
631
646
label_6 :
632
647
while (true ) {
633
648
switch ((jj_ntk ==-1 )?jj_ntk_f ():jj_ntk ) {
634
- case 24 :{
649
+ case 25 :{
635
650
;
636
651
break ;
637
652
}
638
653
default :
639
- jj_la1 [28 ] = jj_gen ;
654
+ jj_la1 [29 ] = jj_gen ;
640
655
break label_6 ;
641
656
}
642
- jj_consume_token (24 );
657
+ jj_consume_token (25 );
643
658
AddAttribute (attributes );
644
659
}
645
660
break ;
646
661
}
647
662
default :
648
- jj_la1 [29 ] = jj_gen ;
663
+ jj_la1 [30 ] = jj_gen ;
649
664
;
650
665
}
651
- jj_consume_token (25 );
666
+ jj_consume_token (26 );
652
667
switch ((jj_ntk ==-1 )?jj_ntk_f ():jj_ntk ) {
653
668
case 21 :{
654
669
jj_consume_token (21 );
@@ -665,7 +680,7 @@ final public SemgrexPattern Root() throws ParseException {// Root pattern for th
665
680
break ;
666
681
}
667
682
default :
668
- jj_la1 [30 ] = jj_gen ;
683
+ jj_la1 [31 ] = jj_gen ;
669
684
;
670
685
}
671
686
pat = new NodePattern (r , underNodeNegation , attributes , link , name != null ? name .image : null );
@@ -682,13 +697,13 @@ final public SemgrexPattern Root() throws ParseException {// Root pattern for th
682
697
public Token jj_nt ;
683
698
private int jj_ntk ;
684
699
private int jj_gen ;
685
- final private int [] jj_la1 = new int [31 ];
700
+ final private int [] jj_la1 = new int [32 ];
686
701
static private int [] jj_la1_0 ;
687
702
static {
688
703
jj_la1_init_0 ();
689
704
}
690
705
private static void jj_la1_init_0 () {
691
- jj_la1_0 = new int [] {0x400 ,0x828808 ,0x3801c ,0x3801c ,0x828800 ,0x2000 ,0x3c01c ,0x4000 ,0x3801c ,0x2001c ,0x80000 ,0x10 ,0x110 ,0x110 ,0x100000 ,0x200000 ,0x1c ,0x828800 ,0x2000 ,0x82c000 ,0x4000 ,0x828000 , 0x820000 ,0x400400 ,0x110 ,0x110 ,0x400408 ,0xd0 ,0x1000000 ,0xd0 ,0x200000 ,};
706
+ jj_la1_0 = new int [] {0x400 ,0x1028808 ,0x3801c ,0x3801c ,0x1028800 ,0x2000 ,0x3c01c ,0x4000 ,0x3801c ,0x2001c ,0x80000 ,0x10 ,0x110 ,0x110 ,0x100000 ,0x200000 ,0x1c ,0x1028800 ,0x2000 ,0x102c000 ,0x4000 ,0x1028000 , 0x1020000 ,0x400400 ,0x110 ,0x800008 , 0x110 ,0xc00408 ,0xd0 ,0x2000000 ,0xd0 ,0x200000 ,};
692
707
}
693
708
694
709
/** Constructor with InputStream. */
@@ -702,7 +717,7 @@ public SemgrexParser(java.io.InputStream stream, String encoding) {
702
717
token = new Token ();
703
718
jj_ntk = -1 ;
704
719
jj_gen = 0 ;
705
- for (int i = 0 ; i < 31 ; i ++) jj_la1 [i ] = -1 ;
720
+ for (int i = 0 ; i < 32 ; i ++) jj_la1 [i ] = -1 ;
706
721
}
707
722
708
723
/** Reinitialise. */
@@ -716,7 +731,7 @@ public void ReInit(java.io.InputStream stream, String encoding) {
716
731
token = new Token ();
717
732
jj_ntk = -1 ;
718
733
jj_gen = 0 ;
719
- for (int i = 0 ; i < 31 ; i ++) jj_la1 [i ] = -1 ;
734
+ for (int i = 0 ; i < 32 ; i ++) jj_la1 [i ] = -1 ;
720
735
}
721
736
722
737
/** Constructor. */
@@ -726,7 +741,7 @@ public SemgrexParser(java.io.Reader stream) {
726
741
token = new Token ();
727
742
jj_ntk = -1 ;
728
743
jj_gen = 0 ;
729
- for (int i = 0 ; i < 31 ; i ++) jj_la1 [i ] = -1 ;
744
+ for (int i = 0 ; i < 32 ; i ++) jj_la1 [i ] = -1 ;
730
745
}
731
746
732
747
/** Reinitialise. */
@@ -744,7 +759,7 @@ public void ReInit(java.io.Reader stream) {
744
759
token = new Token ();
745
760
jj_ntk = -1 ;
746
761
jj_gen = 0 ;
747
- for (int i = 0 ; i < 31 ; i ++) jj_la1 [i ] = -1 ;
762
+ for (int i = 0 ; i < 32 ; i ++) jj_la1 [i ] = -1 ;
748
763
}
749
764
750
765
/** Constructor with generated Token Manager. */
@@ -753,7 +768,7 @@ public SemgrexParser(SemgrexParserTokenManager tm) {
753
768
token = new Token ();
754
769
jj_ntk = -1 ;
755
770
jj_gen = 0 ;
756
- for (int i = 0 ; i < 31 ; i ++) jj_la1 [i ] = -1 ;
771
+ for (int i = 0 ; i < 32 ; i ++) jj_la1 [i ] = -1 ;
757
772
}
758
773
759
774
/** Reinitialise. */
@@ -762,7 +777,7 @@ public void ReInit(SemgrexParserTokenManager tm) {
762
777
token = new Token ();
763
778
jj_ntk = -1 ;
764
779
jj_gen = 0 ;
765
- for (int i = 0 ; i < 31 ; i ++) jj_la1 [i ] = -1 ;
780
+ for (int i = 0 ; i < 32 ; i ++) jj_la1 [i ] = -1 ;
766
781
}
767
782
768
783
private Token jj_consume_token (int kind ) throws ParseException {
@@ -813,12 +828,12 @@ private int jj_ntk_f() {
813
828
/** Generate ParseException. */
814
829
public ParseException generateParseException () {
815
830
jj_expentries .clear ();
816
- boolean [] la1tokens = new boolean [26 ];
831
+ boolean [] la1tokens = new boolean [27 ];
817
832
if (jj_kind >= 0 ) {
818
833
la1tokens [jj_kind ] = true ;
819
834
jj_kind = -1 ;
820
835
}
821
- for (int i = 0 ; i < 31 ; i ++) {
836
+ for (int i = 0 ; i < 32 ; i ++) {
822
837
if (jj_la1 [i ] == jj_gen ) {
823
838
for (int j = 0 ; j < 32 ; j ++) {
824
839
if ((jj_la1_0 [i ] & (1 <<j )) != 0 ) {
@@ -827,7 +842,7 @@ public ParseException generateParseException() {
827
842
}
828
843
}
829
844
}
830
- for (int i = 0 ; i < 26 ; i ++) {
845
+ for (int i = 0 ; i < 27 ; i ++) {
831
846
if (la1tokens [i ]) {
832
847
jj_expentry = new int [1 ];
833
848
jj_expentry [0 ] = i ;
0 commit comments