diff options
Diffstat (limited to 'qface/idl/parser/T.g4')
-rw-r--r-- | qface/idl/parser/T.g4 | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/qface/idl/parser/T.g4 b/qface/idl/parser/T.g4 index 8d07623..2551937 100644 --- a/qface/idl/parser/T.g4 +++ b/qface/idl/parser/T.g4 @@ -7,8 +7,8 @@ documentSymbol ; /** -module name; -import name; +module <name> <version>; +import <name> <version>; */ headerSymbol : moduleSymbol importSymbol* @@ -52,7 +52,7 @@ signalSymbol propertySymbol - : comment=DOCCOMMENT? tagSymbol* propertyModifierSymbol? typeSymbol name=IDENTIFIER ';'? + : comment=DOCCOMMENT? tagSymbol* propertyModifierSymbol? typeSymbol name=IDENTIFIER ('=' value=STRING)? ';'? ; propertyModifierSymbol @@ -109,7 +109,7 @@ structSymbol ; structFieldSymbol - : comment=DOCCOMMENT? tagSymbol* typeSymbol name=IDENTIFIER ';'? + : comment=DOCCOMMENT? tagSymbol* typeSymbol name=IDENTIFIER ('=' value=STRING)? ';'? ; enumSymbol @@ -130,6 +130,9 @@ intSymbol | value=HEXCONSTANT ; +STRING: DOUBLE_STRING | SINGLE_STRING; +DOUBLE_STRING : '"' ( ESC | ~ ["\\] )* '"'; +SINGLE_STRING : '\'' ( ESC | ~ ['\\] )* '\''; TAGLINE : '@' ~[\r\n]*; INTCONSTANT : ('+' | '-')? '0'..'9'+; HEXCONSTANT : '0x' ('0'..'9' | 'a'..'f' | 'A'..'F')+; @@ -140,4 +143,4 @@ DOCCOMMENT : '/**' .*? '*/'; WHITESPACE : [ \t\r\n]+ -> skip; COMMENT : '//' ~[\r\n]* -> skip; MULTICOMM : '/*' .*? '*/' -> skip; - +fragment ESC : '\\' ( ["\\/bfnrt] ); |