Advertisement
Guest User

Untitled

a guest
Jan 26th, 2020
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.66 KB | None | 0 0
  1. grammar = {
  2. # 19.7
  3. NT.MODIFIERS: [
  4. NT.MODIFIER,
  5. (NT.MODIFIERS, NT.MODIFIER),
  6. ],
  7. NT.MODIFIER: [
  8. T.PUBLIC,
  9. T.PROTECTED,
  10. T.STATIC,
  11. T.ABSTRACT,
  12. T.FINAL,
  13. T.NATIVE,
  14. ],
  15.  
  16. # 19.8.1
  17. NT.CLASS_DECLARATION: (OPT(NT.MODIFIERS), T.CLASS, T.IDENTIFIER, OPT(NT.SUPER), OPT(NT.INTERFACES), NT.CLASS_BODY),
  18. NT.SUPER: (T.EXTENDS, NT.CLASS_TYPE),
  19. NT.INTERFACES: (T.IMPLEMENTS, NT.INTERFACE_TYPE_LIST),
  20. NT.INTERFACE_TYPE_LIST: [
  21. NT.INTERFACE_TYPE,
  22. (NT.INTERFACE_TYPE_LIST, NT.INTERFACE_TYPE)
  23. ],
  24. NT.CLASS_BODY: (T.LBRACE, OPT(NT.CLASS_BODY_DECLARATIONS), T.RBRACE),
  25. NT.CLASS_BODY_DECLARATIONS: [
  26. NT.CLASS_BODY_DECLARATION,
  27. (NT.CLASS_BODY_DECLARATIONS, NT.CLASS_BODY_DECLARATION)
  28. ],
  29. NT.CLASS_BODY_DECLARATION: [
  30. NT.CLASS_MEMBER_DECLARATION,
  31. NT.STATIC_INITIALIZER,
  32. NT.CONSTRUCTOR_DECLARATION
  33. ],
  34. NT.CLASS_MEMBER_DECLARATION: [
  35. NT.FIELD_DECLARATION,
  36. NT.METHOD_DECLARATION,
  37. ],
  38.  
  39. # 19.8.2
  40. NT.FIELD_DECLARATION: (OPT(NT.MODIFIERS), NT.TYPE, NT.VARIABLE_DECLARATORS),
  41. NT.VARIABLE_DECLARATORS: [
  42. NT.VARIABLE_DECLARATOR,
  43. (NT.VARIABLE_DECLARATORS, T.COMMA, NT.VARIABLE_DECLARATOR)
  44. ],
  45. NT.VARIABLE_DECLARATOR: [
  46. NT.VARIABLE_DECLARATOR_ID,
  47. (NT.VARIABLE_DECLARATOR_ID, T.EQUALS, NT.VARIABLE_INITIALIZER)
  48. ],
  49. NT.VARIABLE_DECLARATOR_ID: [
  50. T.IDENTIFIER,
  51. (NT.VARIABLE_DECLARATOR_ID, T.LBRACK, T.RBRACK)
  52. ],
  53. NT.VARIABLE_INITIALIZER: [
  54. NT.EXPRESSION,
  55. NT.ARRAY_INITIALIZER
  56. ]
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement