Skip to content

Commit cf13f6c

Browse files
committed
Simplified grammar to reduce exceptions
1 parent 3b8b20c commit cf13f6c

File tree

1 file changed

+18
-17
lines changed

1 file changed

+18
-17
lines changed

server/src/antlr/vba.g4

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -101,8 +101,8 @@ nameAttr
101101
//---------------------------------------------------------------------------------------
102102
// 5.1 Module Body Structure
103103
// Everything from here down is user generated code.
104-
proceduralModuleBody: proceduralModuleDeclarationSection? endOfLine* proceduralModuleCode;
105-
classModuleBody: classModuleDeclarationSection? classModuleCode;
104+
proceduralModuleBody: proceduralModuleCode;
105+
classModuleBody: classModuleCode;
106106
unrestrictedName
107107
: reservedIdentifier
108108
| name
@@ -121,17 +121,16 @@ untypedName
121121

122122
//---------------------------------------------------------------------------------------
123123
// 5.2 Module Declaration Section Structure
124-
proceduralModuleDeclarationSection
125-
: (endOfLine+ proceduralModuleDeclarationElement)+
126-
| ((endOfLine+ proceduralModuleDirectiveElement)* endOfLine+ defDirective) (proceduralModuleDeclarationElement endOfLineNoWs)*
127-
;
128-
classModuleDeclarationSection
129-
: (classModuleDeclarationElement endOfLine+)+
130-
| ((classModuleDirectiveElement endOfLine+)* defDirective) (classModuleDeclarationElement endOfLine+)*
131-
;
124+
// proceduralModuleDeclarationSection
125+
// : (endOfLine+ proceduralModuleDeclarationElement)+
126+
// | ((endOfLine+ proceduralModuleDirectiveElement)* endOfLine+ defDirective) (proceduralModuleDeclarationElement endOfLineNoWs)*
127+
// ;
128+
// classModuleDeclarationSection
129+
// : (classModuleDeclarationElement endOfLine+)+
130+
// | ((classModuleDirectiveElement endOfLine+)* defDirective) (classModuleDeclarationElement endOfLine+)*
131+
// ;
132132
proceduralModuleDirectiveElement
133-
: commonOptionDirective
134-
| optionPrivateDirective
133+
: optionPrivateDirective
135134
| defDirective
136135
;
137136
proceduralModuleDeclarationElement
@@ -140,18 +139,15 @@ proceduralModuleDeclarationElement
140139
| publicConstDeclaration
141140
| publicExternalProcedureDeclaration
142141
| globalEnumDeclaration
143-
| commonOptionDirective
144142
| optionPrivateDirective
145143
;
146144
classModuleDirectiveElement
147-
: commonOptionDirective
148-
| defDirective
145+
: defDirective
149146
| implementsDirective
150147
;
151148
classModuleDeclarationElement
152149
: commonModuleDeclarationElement
153150
| eventDeclaration
154-
| commonOptionDirective
155151
| implementsDirective
156152
;
157153

@@ -360,8 +356,13 @@ classModuleCodeElement
360356
// Added AttributeStatement.
361357
commonModuleCodeElement
362358
: remStatement
363-
| procedureDeclaration
364359
| attributeStatement
360+
| procedureDeclaration
361+
| commonOptionDirective
362+
| proceduralModuleDirectiveElement
363+
| proceduralModuleDeclarationElement
364+
| classModuleDirectiveElement
365+
| classModuleDeclarationElement
365366
;
366367
procedureDeclaration
367368
: subroutineDeclaration

0 commit comments

Comments
 (0)