Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- grammar = {
- # 19.7
- NT.MODIFIERS: [
- NT.MODIFIER,
- (NT.MODIFIERS, NT.MODIFIER),
- ],
- NT.MODIFIER: [
- T.PUBLIC,
- T.PROTECTED,
- T.STATIC,
- T.ABSTRACT,
- T.FINAL,
- T.NATIVE,
- ],
- # 19.8.1
- NT.CLASS_DECLARATION: (OPT(NT.MODIFIERS), T.CLASS, T.IDENTIFIER, OPT(NT.SUPER), OPT(NT.INTERFACES), NT.CLASS_BODY),
- NT.SUPER: (T.EXTENDS, NT.CLASS_TYPE),
- NT.INTERFACES: (T.IMPLEMENTS, NT.INTERFACE_TYPE_LIST),
- NT.INTERFACE_TYPE_LIST: [
- NT.INTERFACE_TYPE,
- (NT.INTERFACE_TYPE_LIST, NT.INTERFACE_TYPE)
- ],
- NT.CLASS_BODY: (T.LBRACE, OPT(NT.CLASS_BODY_DECLARATIONS), T.RBRACE),
- NT.CLASS_BODY_DECLARATIONS: [
- NT.CLASS_BODY_DECLARATION,
- (NT.CLASS_BODY_DECLARATIONS, NT.CLASS_BODY_DECLARATION)
- ],
- NT.CLASS_BODY_DECLARATION: [
- NT.CLASS_MEMBER_DECLARATION,
- NT.STATIC_INITIALIZER,
- NT.CONSTRUCTOR_DECLARATION
- ],
- NT.CLASS_MEMBER_DECLARATION: [
- NT.FIELD_DECLARATION,
- NT.METHOD_DECLARATION,
- ],
- # 19.8.2
- NT.FIELD_DECLARATION: (OPT(NT.MODIFIERS), NT.TYPE, NT.VARIABLE_DECLARATORS),
- NT.VARIABLE_DECLARATORS: [
- NT.VARIABLE_DECLARATOR,
- (NT.VARIABLE_DECLARATORS, T.COMMA, NT.VARIABLE_DECLARATOR)
- ],
- NT.VARIABLE_DECLARATOR: [
- NT.VARIABLE_DECLARATOR_ID,
- (NT.VARIABLE_DECLARATOR_ID, T.EQUALS, NT.VARIABLE_INITIALIZER)
- ],
- NT.VARIABLE_DECLARATOR_ID: [
- T.IDENTIFIER,
- (NT.VARIABLE_DECLARATOR_ID, T.LBRACK, T.RBRACK)
- ],
- NT.VARIABLE_INITIALIZER: [
- NT.EXPRESSION,
- NT.ARRAY_INITIALIZER
- ]
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement