Guest User

Untitled

a guest
Jan 24th, 2020
151
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. program : definitionList
  2.  
  3. definitionList : definitionList functionDefinition
  4. definitionList : definitionList functionDeclaration
  5.  
  6. functionDefinition : TYPE SELF_DEFINED OPEN_PAREN args CLOSE_PAREN block
  7.  
  8. functionDeclaration : TYPE SELF_DEFINED OPEN_PAREN args CLOSE_PAREN SEMICOLON
  9.  
  10. args : args COMMA TYPE SELF_DEFINED
  11. args : TYPE SELF_DEFINED
  12. args :
  13.  
  14. block : OPEN_BRACE block content CLOSE_BRACE
  15. block : OPEN_BRACE content CLOSE_BRACE
  16.  
  17. content : content single_line
  18. content : content loop
  19. content : content branch
  20. content :
  21.  
  22. single_line : initialization SEMICOLON
  23. single_line : function_call SEMICOLON
  24. single_line : designation SEMICOLON
  25. single_line : SEMICOLON
  26.  
  27. # While loop
  28. loop : LOOPING OPEN_PAREN boolean CLOSE_PAREN block
  29. loop : LOOPING OPEN_PAREN boolean CLOSE_PAREN content
  30. # For loop
  31. loop : LOOPING OPEN_PAREN designation SEMICOLON collation SEMICOLON designation CLOSE_PAREN block
  32. loop : LOOPING OPEN_PAREN designation SEMICOLON collation SEMICOLON designation CLOSE_PAREN content
  33. loop : LOOPING OPEN_PAREN initialization SEMICOLON collation SEMICOLON designation CLOSE_PAREN block
  34. loop : LOOPING OPEN_PAREN initialization SEMICOLON collation SEMICOLON designation CLOSE_PAREN content
  35. # Do While loop
  36. loop : LOOPING block LOOPING OPEN_PAREN boolean CLOSE_PAREN SEMICOLON
  37. loop : LOOPING content LOOPING OPEN_PAREN boolean CLOSE_PAREN SEMICOLON
  38.  
  39. # if
  40. branch : BRANCHING OPEN_PAREN boolean CLOSE_PAREN block
  41. branch : BRANCHING OPEN_PAREN boolean CLOSE_PAREN content
  42. # else if
  43. branch : BRANCHING BRANCHING OPEN_PAREN boolean CLOSE_PAREN block
  44. branch : BRANCHING BRANCHING OPEN_PAREN boolean CLOSE_PAREN content
  45. # else
  46. branch : BRANCHING block
  47. branch : BRANCHING content
  48. # switch
  49. branch : BRANCHING OPEN_PAREN value CLOSE_PAREN block
  50. # case
  51. branch : BRANCHING literal COLON block
  52. branch : BRANCHING literal COLON content
  53. # default
  54. branch : BRANCHING COLON block
  55. branch : BRANCHING COLON content
  56.  
  57. goto :
  58.  
  59. # no semicolon to allow for use other places than in a single_line
  60. initialization : TYPE designation
  61. initialization : TYPE SELF_DEFINED
  62.  
  63. # no semicolon to allow for use other places than in a single_line
  64. designation : SELF_DEFINED ASSIGNMENT value
  65. designation : SELF_DEFINED ASSIGNMENT
RAW Paste Data