diff --git a/src/test/jastadd/relations/Relations.jrag b/src/test/jastadd/relations/Relations.jrag index f8571163de1be37f6812e90dca22fb1a73e37966..057cdde2ea87ff904198cf79e54dd277c542c4b1 100644 --- a/src/test/jastadd/relations/Relations.jrag +++ b/src/test/jastadd/relations/Relations.jrag @@ -1 +1,39 @@ import java.util.ArrayList; + +aspect NTA { + + // E ::= ... /<NT1>/ ... ; + syn String E.getNT1() = ""; + + // E ::= ... /<NT2:String>/ ... ; + syn String E.getNT2() = ""; + + // E ::= ... /<NT3:boolean>/ ... ; + syn boolean E.getNT3() = false; + + // E ::= ... /<NT4:int>/ ... ; + syn int E.getNT4() = 1; + + // E ::= ... /<NT5:float>/ ... ; + syn float E.getNT5() = 1.0f; + + // E ::= ... /<NT6:double>/ ... ; + syn double E.getNT6() = 1.0d; + + // E ::= ... /<NT7:long>/ ... ; + syn long E.getNT7() = 1l; + +// there are not Opt-NTAs like /[NT8:A]/ /[A]/ +// // E ::= ... /[NT8:A]/ ... ; +// syn Opt<A> E.getNT8() = new Opt<A>(); +// +// // E ::= ... /[A]/ ... ; +// syn Opt<A> E.getA() = new Opt<A>(); + + // E ::= ... /NT10:A*/ ... ; + syn List<A> E.getNT10List() = new List<A>(); + + // E ::= ... /B*/ ... ; + syn List<B> E.getBList() = new List<B>(); + +} diff --git a/src/test/jastadd/relations/Relations.relast b/src/test/jastadd/relations/Relations.relast index 12f132e5e58968baff38120d79fde1090151acf8..791cc0a0f776335b2730b68cbdb5680416027a5a 100644 --- a/src/test/jastadd/relations/Relations.relast +++ b/src/test/jastadd/relations/Relations.relast @@ -49,11 +49,13 @@ C ; D ::= SingleA:A ListOfA:A* [OptionalA:A] /NTAA:A/ ; // production with tokens, nonterminal-tokens, multi-line +// there are not Opt-NTAs like /[NT8:A]/ /[A]/ E ::= <T1> <T2:String> <T3:boolean> <T4:int> <T5:float> <T6:double> <T7:long> <T8:java.lang.Object> <T9:ArrayList<String>> <T10:java.util.ArrayList<java.lang.String>> - /<NT2:String>/ /<NT3:boolean>/ /<NT4:int>/ /<NT5:float>/ /<NT6:double>/ /<NT7:long>/ ; + /<NT1>/ /<NT2:String>/ /<NT3:boolean>/ /<NT4:int>/ /<NT5:float>/ /<NT6:double>/ /<NT7:long>/ + /NT10:A*/ /B*/; -rel E.NT1 -> A ; +rel E.R1 -> A ; // inheritance and empty F : A ;