Skip to content
Snippets Groups Projects
Commit dbe2b6e2 authored by Sven Gestegård Robertz's avatar Sven Gestegård Robertz
Browse files

WiP: started adding intentions to parser

parent 5d955a0c
No related branches found
No related tags found
No related merge requests found
...@@ -54,7 +54,20 @@ List var_decl_list = ...@@ -54,7 +54,20 @@ List var_decl_list =
| var_decl_list.l var_decl.v {: return l.add(v); :} | var_decl_list.l var_decl.v {: return l.add(v); :}
; ;
List intentions = {: return new List(); :} List intentions =
/* empty list */ {: return new List(); :}
| intention_list.l {: return l; :}
;
List intention_list =
intention.i {: return new List().add(i); :}
| intention_list.l intention.i {: return l.add(i); :}
;
String key = IDENTIFIER;
String stringliteral = IDENTIFIER;
Intention intention = LPAREN key.k COLON stringliteral.v RPAREN {: return new Intention(k,v); :};
TypeInstance type_instance = TypeInstance type_instance =
intentions.i type.t IDENTIFIER {: return new TypeInstance(t, IDENTIFIER, i); :} intentions.i type.t IDENTIFIER {: return new TypeInstance(t, IDENTIFIER, i); :}
......
...@@ -76,7 +76,10 @@ NonZeroDigit = [1-9] ...@@ -76,7 +76,10 @@ NonZeroDigit = [1-9]
"}" { return sym(Terminals.RBRACE); } "}" { return sym(Terminals.RBRACE); }
"[" { return sym(Terminals.LBRACK); } "[" { return sym(Terminals.LBRACK); }
"]" { return sym(Terminals.RBRACK); } "]" { return sym(Terminals.RBRACK); }
"(" { return sym(Terminals.LPAREN); }
")" { return sym(Terminals.RPAREN); }
";" { return sym(Terminals.SEMICOLON); } ";" { return sym(Terminals.SEMICOLON); }
":" { return sym(Terminals.COLON); }
"," { return sym(Terminals.COMMA); } "," { return sym(Terminals.COMMA); }
{Identifier} { return sym(Terminals.IDENTIFIER); } {Identifier} { return sym(Terminals.IDENTIFIER); }
......
...@@ -11,4 +11,9 @@ aspect Refactoring { ...@@ -11,4 +11,9 @@ aspect Refactoring {
this(t, n, new List<Annotation>()); this(t, n, new List<Annotation>());
System.out.println("WARNING! TypeInstance(DataType, String) ignoring intention list"); System.out.println("WARNING! TypeInstance(DataType, String) ignoring intention list");
} }
public ConcreteType.ConcreteType(Type t, String n) {
this(t, n, new List<Intention>());
System.out.println("WARNING! ConcreteType(Type, String) ignoring intention list");
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment