Guest User

Untitled

a guest
Dec 26th, 2019
276
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <class>
  2.   <keyword> class </keyword>
  3.   <identifier> Main </identifier>
  4.   <symbol> { </symbol>
  5.   <classVarDec>
  6.     <keyword> static </keyword>
  7.     <keyword> boolean </keyword>
  8.     <identifier> test </identifier>
  9.     <symbol> ; </symbol>
  10.   </classVarDec>
  11.   <subroutineDec>
  12.     <keyword> function </keyword>
  13.     <keyword> void </keyword>
  14.     <identifier> main </identifier>
  15.     <symbol> ( </symbol>
  16.     <parameterList>
  17.     </parameterList>
  18.     <symbol> ) </symbol>
  19.     <subroutineBody>
  20.       <symbol> { </symbol>
  21.       <varDec>
  22.         <keyword> var </keyword>
  23.         <identifier> SquareGame </identifier>
  24.         <identifier> game </identifier>
  25.         <symbol> ; </symbol>
  26.       </varDec>
  27.       <statements>
  28.         <letStatement>
  29.           <keyword> let </keyword>
  30.           <identifier> game </identifier>
  31.           <symbol> = </symbol>
  32.           <expression>
  33.             <term>
  34.               <identifier> SquareGame </identifier>
  35.               <symbol> . </symbol>
  36.               <identifier> new </identifier>
  37.               <symbol> ( </symbol>
  38.               <expressionList>
  39.               </expressionList>
  40.               <symbol> ) </symbol>
  41.             </term>
  42.           </expression>
  43.           <symbol> ; </symbol>
  44.         </letStatement>
  45.         <doStatement>
  46.           <keyword> do </keyword>
  47.           <identifier> game </identifier>
  48.           <symbol> . </symbol>
  49.           <identifier> run </identifier>
  50.           <symbol> ( </symbol>
  51.           <expressionList>
  52.           </expressionList>
  53.           <symbol> ) </symbol>
  54.           <symbol> ; </symbol>
  55.         </doStatement>
  56.         <doStatement>
  57.           <keyword> do </keyword>
  58.           <identifier> game </identifier>
  59.           <symbol> . </symbol>
  60.           <identifier> dispose </identifier>
  61.           <symbol> ( </symbol>
  62.           <expressionList>
  63.           </expressionList>
  64.           <symbol> ) </symbol>
  65.           <symbol> ; </symbol>
  66.         </doStatement>
  67.         <returnStatement>
  68.           <keyword> return </keyword>
  69.           <symbol> ; </symbol>
  70.         </returnStatement>
  71.       </statements>
  72.       <symbol> } </symbol>
  73.     </subroutineBody>
  74.   </subroutineDec>
  75.   <subroutineDec>
  76.     <keyword> function </keyword>
  77.     <keyword> void </keyword>
  78.     <identifier> test </identifier>
  79.     <symbol> ( </symbol>
  80.     <parameterList>
  81.     </parameterList>
  82.     <symbol> ) </symbol>
  83.     <subroutineBody>
  84.       <symbol> { </symbol>
  85.       <varDec>
  86.         <keyword> var </keyword>
  87.         <keyword> int </keyword>
  88.         <identifier> i </identifier>
  89.         <symbol> , </symbol>
  90.         <identifier> j </identifier>
  91.         <symbol> ; </symbol>
  92.       </varDec>
  93.       <varDec>
  94.         <keyword> var </keyword>
  95.         <identifier> String </identifier>
  96.         <identifier> s </identifier>
  97.         <symbol> ; </symbol>
  98.       </varDec>
  99.       <varDec>
  100.         <keyword> var </keyword>
  101.         <identifier> Array </identifier>
  102.         <identifier> a </identifier>
  103.         <symbol> ; </symbol>
  104.       </varDec>
  105.       <statements>
  106.         <ifStatement>
  107.           <keyword> if </keyword>
  108.           <symbol> ( </symbol>
  109.           <expression>
  110.             <term>
  111.               <keyword> false </keyword>
  112.             </term>
  113.           </expression>
  114.           <symbol> ) </symbol>
  115.           <symbol> { </symbol>
  116.           <statements>
  117.             <letStatement>
  118.               <keyword> let </keyword>
  119.               <identifier> s </identifier>
  120.               <symbol> = </symbol>
  121.               <expression>
  122.                 <term>
  123.                   <stringConstant> string constant </stringConstant>
  124.                 </term>
  125.               </expression>
  126.               <symbol> ; </symbol>
  127.             </letStatement>
  128.             <letStatement>
  129.               <keyword> let </keyword>
  130.               <identifier> s </identifier>
  131.               <symbol> = </symbol>
  132.               <expression>
  133.                 <term>
  134.                   <keyword> null </keyword>
  135.                 </term>
  136.               </expression>
  137.               <symbol> ; </symbol>
  138.             </letStatement>
  139.             <letStatement>
  140.               <keyword> let </keyword>
  141.               <identifier> a </identifier>
  142.               <symbol> [ </symbol>
  143.               <expression>
  144.                 <term>
  145.                   <integerConstant> 1 </integerConstant>
  146.                 </term>
  147.               </expression>
  148.               <symbol> ] </symbol>
  149.               <symbol> = </symbol>
  150.               <expression>
  151.                 <term>
  152.                   <identifier> a </identifier>
  153.                   <symbol> [ </symbol>
  154.                   <expression>
  155.                     <term>
  156.                       <integerConstant> 2 </integerConstant>
  157.                     </term>
  158.                   </expression>
  159.                   <symbol> ] </symbol>
  160.                 </term>
  161.               </expression>
  162.               <symbol> ; </symbol>
  163.             </letStatement>
  164.           </statements>
  165.           <symbol> } </symbol>
  166.           <keyword> else </keyword>
  167.           <symbol> { </symbol>
  168.           <statements>
  169.             <letStatement>
  170.               <keyword> let </keyword>
  171.               <identifier> i </identifier>
  172.               <symbol> = </symbol>
  173.               <expression>
  174.                 <term>
  175.                   <identifier> i </identifier>
  176.                 </term>
  177.                 <symbol> * </symbol>
  178.                 <term>
  179.                   <symbol> ( </symbol>
  180.                   <expression>
  181.                     <term>
  182.                       <symbol> - </symbol>
  183.                       <term>
  184.                         <identifier> j </identifier>
  185.                       </term>
  186.                     </term>
  187.                   </expression>
  188.                   <symbol> ) </symbol>
  189.                 </term>
  190.               </expression>
  191.               <symbol> ; </symbol>
  192.             </letStatement>
  193.             <letStatement>
  194.               <keyword> let </keyword>
  195.               <identifier> j </identifier>
  196.               <symbol> = </symbol>
  197.               <expression>
  198.                 <term>
  199.                   <identifier> j </identifier>
  200.                 </term>
  201.                 <symbol> / </symbol>
  202.                 <term>
  203.                   <symbol> ( </symbol>
  204.                   <expression>
  205.                     <term>
  206.                       <symbol> - </symbol>
  207.                       <term>
  208.                         <integerConstant> 2 </integerConstant>
  209.                       </term>
  210.                     </term>
  211.                   </expression>
  212.                   <symbol> ) </symbol>
  213.                 </term>
  214.               </expression>
  215.               <symbol> ; </symbol>
  216.             </letStatement>
  217.             <letStatement>
  218.               <keyword> let </keyword>
  219.               <identifier> i </identifier>
  220.               <symbol> = </symbol>
  221.               <expression>
  222.                 <term>
  223.                   <identifier> i </identifier>
  224.                 </term>
  225.                 <symbol> | </symbol>
  226.                 <term>
  227.                   <identifier> j </identifier>
  228.                 </term>
  229.               </expression>
  230.               <symbol> ; </symbol>
  231.             </letStatement>
  232.           </statements>
  233.           <symbol> } </symbol>
  234.         </ifStatement>
  235.         <returnStatement>
  236.           <keyword> return </keyword>
  237.           <symbol> ; </symbol>
  238.         </returnStatement>
  239.       </statements>
  240.       <symbol> } </symbol>
  241.     </subroutineBody>
  242.   </subroutineDec>
  243.   <symbol> } </symbol>
  244. </class>
RAW Paste Data