aboutsummaryrefslogtreecommitdiffstats
path: root/qface/idl/parser/T.g4
diff options
context:
space:
mode:
Diffstat (limited to 'qface/idl/parser/T.g4')
-rw-r--r--qface/idl/parser/T.g415
1 files changed, 12 insertions, 3 deletions
diff --git a/qface/idl/parser/T.g4 b/qface/idl/parser/T.g4
index 4ec68c8..9cfe4e7 100644
--- a/qface/idl/parser/T.g4
+++ b/qface/idl/parser/T.g4
@@ -29,7 +29,7 @@ definitionSymbol
;
interfaceSymbol
- : comment=DOCCOMMENT? tagSymbol* 'interface' name=IDENTIFIER '{' interfaceMemberSymbol* '}' ';'?
+ : comment=DOCCOMMENT? tagSymbol* 'interface' name=IDENTIFIER ('extends' extends=IDENTIFIER)? '{' interfaceMemberSymbol* '}' ';'?
;
interfaceMemberSymbol
@@ -39,7 +39,11 @@ interfaceMemberSymbol
;
operationSymbol
- : comment=DOCCOMMENT? tagSymbol* (typeSymbol | 'void') name=IDENTIFIER '(' operationParameterSymbol* ')' ';'?
+ : comment=DOCCOMMENT? tagSymbol* (typeSymbol | 'void') name=IDENTIFIER '(' operationParameterSymbol* ')' operationModifierSymbol? ';'?
+ ;
+
+operationModifierSymbol
+ : is_const='const'
;
signalSymbol
@@ -48,7 +52,12 @@ signalSymbol
propertySymbol
- : comment=DOCCOMMENT? tagSymbol* isReadOnly='readonly'? typeSymbol name=IDENTIFIER ';'?
+ : comment=DOCCOMMENT? tagSymbol* propertyModifierSymbol? typeSymbol name=IDENTIFIER ';'?
+ ;
+
+propertyModifierSymbol
+ : is_readonly='readonly'
+ | is_const='const'
;
operationParameterSymbol