Ignore:
Timestamp:
Nov 29, 2017, 12:31:26 PM (7 years ago)
Author:
chronos
Message:
  • Added: New rules flag directing if source node should be generated for them.
  • Added: New and Save menu actions.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/generator/pascal.grm

    r118 r119  
    44    <Rule>
    55      <Name>BeginEnd</Name>
     6      <CreateSourceNode>-1</CreateSourceNode>
    67      <RuleItems>
    78        <Type>0</Type>
     
    2829    <Rule>
    2930      <Name>IfThenElse</Name>
     31      <CreateSourceNode>-1</CreateSourceNode>
    3032      <RuleItems>
    3133        <Type>0</Type>
     
    7880    <Rule>
    7981      <Name>WhileDo</Name>
     82      <CreateSourceNode>-1</CreateSourceNode>
    8083      <RuleItems>
    8184        <Type>0</Type>
     
    108111    <Rule>
    109112      <Name>RepeatUntil</Name>
     113      <CreateSourceNode>-1</CreateSourceNode>
    110114      <RuleItems>
    111115        <Type>0</Type>
     
    138142    <Rule>
    139143      <Name>ForToDo</Name>
     144      <CreateSourceNode>-1</CreateSourceNode>
    140145      <RuleItems>
    141146        <Type>0</Type>
     
    150155          <Optional>0</Optional>
    151156          <Repetitive>0</Repetitive>
    152           <NonTerminal>VariableRef</NonTerminal>
     157          <NonTerminal>VariableReference</NonTerminal>
    153158        </RuleItem>
    154159        <RuleItem>
     
    192197    <Rule>
    193198      <Name>WithDo</Name>
     199      <CreateSourceNode>-1</CreateSourceNode>
    194200      <RuleItems>
    195201        <Type>0</Type>
     
    204210          <Optional>0</Optional>
    205211          <Repetitive>0</Repetitive>
    206           <NonTerminal>VariableRef</NonTerminal>
     212          <NonTerminal>VariableReference</NonTerminal>
    207213        </RuleItem>
    208214        <RuleItem>
     
    222228    <Rule>
    223229      <Name>CaseOf</Name>
     230      <CreateSourceNode>-1</CreateSourceNode>
    224231      <RuleItems>
    225232        <Type>0</Type>
     
    252259    <Rule>
    253260      <Name>Assignment</Name>
    254       <RuleItems>
    255         <Type>0</Type>
    256         <RuleItem>
    257           <Type>1</Type>
    258           <Optional>0</Optional>
    259           <Repetitive>0</Repetitive>
    260           <NonTerminal>VariableRef</NonTerminal>
     261      <CreateSourceNode>-1</CreateSourceNode>
     262      <RuleItems>
     263        <Type>0</Type>
     264        <RuleItem>
     265          <Type>1</Type>
     266          <Optional>0</Optional>
     267          <Repetitive>0</Repetitive>
     268          <NonTerminal>VariableReference</NonTerminal>
    261269        </RuleItem>
    262270        <RuleItem>
     
    276284    <Rule>
    277285      <Name>Statement</Name>
     286      <CreateSourceNode>-1</CreateSourceNode>
    278287      <RuleItems>
    279288        <Type>1</Type>
     
    330339    <Rule>
    331340      <Name>Expression</Name>
    332       <RuleItems>
    333         <Type>0</Type>
    334       </RuleItems>
    335     </Rule>
    336     <Rule>
    337       <Name>VariableRef</Name>
    338       <RuleItems>
    339         <Type>0</Type>
     341      <CreateSourceNode>-1</CreateSourceNode>
     342      <RuleItems>
     343        <Type>0</Type>
     344        <RuleItem>
     345          <Type>1</Type>
     346          <Optional>0</Optional>
     347          <Repetitive>0</Repetitive>
     348          <NonTerminal>Term</NonTerminal>
     349        </RuleItem>
     350      </RuleItems>
     351    </Rule>
     352    <Rule>
     353      <Name>VariableReference</Name>
     354      <CreateSourceNode>0</CreateSourceNode>
     355      <RuleItems>
     356        <Type>0</Type>
     357        <RuleItem>
     358          <Type>1</Type>
     359          <Optional>0</Optional>
     360          <Repetitive>0</Repetitive>
     361          <NonTerminal>Identifier</NonTerminal>
     362        </RuleItem>
    340363      </RuleItems>
    341364    </Rule>
    342365    <Rule>
    343366      <Name>Program</Name>
     367      <CreateSourceNode>-1</CreateSourceNode>
    344368      <RuleItems>
    345369        <Type>0</Type>
     
    372396        <RuleItem>
    373397          <Type>1</Type>
     398          <Optional>-1</Optional>
     399          <Repetitive>0</Repetitive>
     400          <NonTerminal>Uses</NonTerminal>
     401        </RuleItem>
     402        <RuleItem>
     403          <Type>1</Type>
     404          <Optional>0</Optional>
     405          <Repetitive>0</Repetitive>
     406          <NonTerminal>DeclarationBlock</NonTerminal>
     407        </RuleItem>
     408        <RuleItem>
     409          <Type>0</Type>
     410          <Optional>0</Optional>
     411          <Repetitive>0</Repetitive>
     412          <Terminal>.</Terminal>
     413        </RuleItem>
     414      </RuleItems>
     415    </Rule>
     416    <Rule>
     417      <Name>Uses</Name>
     418      <CreateSourceNode>0</CreateSourceNode>
     419      <RuleItems>
     420        <Type>0</Type>
     421        <RuleItem>
     422          <Type>0</Type>
     423          <Optional>0</Optional>
     424          <Repetitive>0</Repetitive>
     425          <Terminal>uses</Terminal>
     426        </RuleItem>
     427        <RuleItem>
     428          <Type>1</Type>
     429          <Optional>0</Optional>
     430          <Repetitive>0</Repetitive>
     431          <NonTerminal>UnitReference</NonTerminal>
     432        </RuleItem>
     433        <RuleItem>
     434          <Type>0</Type>
     435          <Optional>0</Optional>
     436          <Repetitive>0</Repetitive>
     437          <Terminal>,</Terminal>
     438        </RuleItem>
     439      </RuleItems>
     440    </Rule>
     441    <Rule>
     442      <Name>UnitName</Name>
     443      <CreateSourceNode>0</CreateSourceNode>
     444      <RuleItems>
     445        <Type>0</Type>
     446        <RuleItem>
     447          <Type>1</Type>
     448          <Optional>0</Optional>
     449          <Repetitive>0</Repetitive>
     450          <NonTerminal>Identifier</NonTerminal>
     451        </RuleItem>
     452      </RuleItems>
     453    </Rule>
     454    <Rule>
     455      <Name>Function</Name>
     456      <CreateSourceNode>-1</CreateSourceNode>
     457      <RuleItems>
     458        <Type>0</Type>
     459        <RuleItem>
     460          <Type>0</Type>
     461          <Optional>0</Optional>
     462          <Repetitive>0</Repetitive>
     463          <Terminal>function</Terminal>
     464        </RuleItem>
     465        <RuleItem>
     466          <Type>1</Type>
     467          <Optional>0</Optional>
     468          <Repetitive>0</Repetitive>
     469          <NonTerminal>FunctionName</NonTerminal>
     470        </RuleItem>
     471        <RuleItem>
     472          <Type>1</Type>
     473          <Optional>-1</Optional>
     474          <Repetitive>0</Repetitive>
     475          <NonTerminal>FunctionParameters</NonTerminal>
     476        </RuleItem>
     477        <RuleItem>
     478          <Type>0</Type>
     479          <Optional>0</Optional>
     480          <Repetitive>0</Repetitive>
     481          <Terminal>:</Terminal>
     482        </RuleItem>
     483        <RuleItem>
     484          <Type>1</Type>
     485          <Optional>0</Optional>
     486          <Repetitive>0</Repetitive>
     487          <NonTerminal>TypeReference</NonTerminal>
     488        </RuleItem>
     489        <RuleItem>
     490          <Type>0</Type>
     491          <Optional>0</Optional>
     492          <Repetitive>0</Repetitive>
     493          <Terminal>;</Terminal>
     494        </RuleItem>
     495        <RuleItem>
     496          <Type>1</Type>
    374497          <Optional>0</Optional>
    375498          <Repetitive>0</Repetitive>
     
    380503          <Optional>0</Optional>
    381504          <Repetitive>0</Repetitive>
    382           <Terminal>.</Terminal>
    383         </RuleItem>
    384       </RuleItems>
    385     </Rule>
    386     <Rule>
    387       <Name>Uses</Name>
    388       <RuleItems>
    389         <Type>0</Type>
    390         <RuleItem>
    391           <Type>0</Type>
    392           <Optional>0</Optional>
    393           <Repetitive>0</Repetitive>
    394           <Terminal>uses</Terminal>
    395         </RuleItem>
    396         <RuleItem>
    397           <Type>1</Type>
    398           <Optional>0</Optional>
    399           <Repetitive>0</Repetitive>
    400           <NonTerminal>UnitReference</NonTerminal>
    401         </RuleItem>
    402         <RuleItem>
    403           <Type>0</Type>
    404           <Optional>0</Optional>
    405           <Repetitive>0</Repetitive>
    406           <Terminal>,</Terminal>
    407         </RuleItem>
    408       </RuleItems>
    409     </Rule>
    410     <Rule>
    411       <Name>UnitName</Name>
    412       <RuleItems>
    413         <Type>0</Type>
    414       </RuleItems>
    415     </Rule>
    416     <Rule>
    417       <Name>Function</Name>
    418       <RuleItems>
    419         <Type>0</Type>
    420         <RuleItem>
    421           <Type>0</Type>
    422           <Optional>0</Optional>
    423           <Repetitive>0</Repetitive>
    424           <Terminal>function</Terminal>
    425         </RuleItem>
    426         <RuleItem>
    427           <Type>1</Type>
    428           <Optional>0</Optional>
    429           <Repetitive>0</Repetitive>
    430           <NonTerminal>FunctionName</NonTerminal>
    431         </RuleItem>
    432         <RuleItem>
    433           <Type>1</Type>
     505          <Terminal>;</Terminal>
     506        </RuleItem>
     507      </RuleItems>
     508    </Rule>
     509    <Rule>
     510      <Name>Identifier</Name>
     511      <CreateSourceNode>0</CreateSourceNode>
     512      <RuleItems>
     513        <Type>0</Type>
     514        <RuleItem>
     515          <Type>1</Type>
     516          <Optional>0</Optional>
     517          <Repetitive>0</Repetitive>
     518          <NonTerminal>Letter</NonTerminal>
     519        </RuleItem>
     520        <RuleItem>
     521          <Type>2</Type>
    434522          <Optional>-1</Optional>
    435           <Repetitive>0</Repetitive>
    436           <NonTerminal>FunctionParameters</NonTerminal>
    437         </RuleItem>
    438         <RuleItem>
    439           <Type>0</Type>
    440           <Optional>0</Optional>
    441           <Repetitive>0</Repetitive>
    442           <Terminal>:</Terminal>
    443         </RuleItem>
    444         <RuleItem>
    445           <Type>1</Type>
    446           <Optional>0</Optional>
    447           <Repetitive>0</Repetitive>
    448           <NonTerminal>TypeReference</NonTerminal>
    449         </RuleItem>
    450         <RuleItem>
    451           <Type>0</Type>
    452           <Optional>0</Optional>
    453           <Repetitive>0</Repetitive>
    454           <Terminal>;</Terminal>
    455         </RuleItem>
    456         <RuleItem>
    457           <Type>1</Type>
    458           <Optional>0</Optional>
    459           <Repetitive>0</Repetitive>
    460           <NonTerminal>BeginEnd</NonTerminal>
    461         </RuleItem>
    462         <RuleItem>
    463           <Type>0</Type>
    464           <Optional>0</Optional>
    465           <Repetitive>0</Repetitive>
    466           <Terminal>;</Terminal>
    467         </RuleItem>
    468       </RuleItems>
    469     </Rule>
    470     <Rule>
    471       <Name>Identifier</Name>
    472       <RuleItems>
    473         <Type>0</Type>
     523          <Repetitive>-1</Repetitive>
     524          <SubItems>
     525            <Type>1</Type>
     526            <RuleItem>
     527              <Type>1</Type>
     528              <Optional>0</Optional>
     529              <Repetitive>0</Repetitive>
     530              <NonTerminal>Letter</NonTerminal>
     531            </RuleItem>
     532            <RuleItem>
     533              <Type>1</Type>
     534              <Optional>0</Optional>
     535              <Repetitive>0</Repetitive>
     536              <NonTerminal>Digit</NonTerminal>
     537            </RuleItem>
     538            <RuleItem>
     539              <Type>0</Type>
     540              <Optional>0</Optional>
     541              <Repetitive>0</Repetitive>
     542              <Terminal>_</Terminal>
     543            </RuleItem>
     544          </SubItems>
     545        </RuleItem>
    474546      </RuleItems>
    475547    </Rule>
    476548    <Rule>
    477549      <Name>VarSection</Name>
     550      <CreateSourceNode>0</CreateSourceNode>
    478551      <RuleItems>
    479552        <Type>0</Type>
     
    494567    <Rule>
    495568      <Name>FunctionParameters</Name>
     569      <CreateSourceNode>0</CreateSourceNode>
    496570      <RuleItems>
    497571        <Type>0</Type>
     
    518592              <Optional>0</Optional>
    519593              <Repetitive>0</Repetitive>
    520               <Terminal>,</Terminal>
     594              <Terminal>;</Terminal>
    521595            </RuleItem>
    522596            <RuleItem>
     
    538612    <Rule>
    539613      <Name>FunctionParameter</Name>
    540       <RuleItems>
    541         <Type>0</Type>
     614      <CreateSourceNode>0</CreateSourceNode>
     615      <RuleItems>
     616        <Type>0</Type>
     617        <RuleItem>
     618          <Type>1</Type>
     619          <Optional>0</Optional>
     620          <Repetitive>0</Repetitive>
     621          <NonTerminal>ParameterName</NonTerminal>
     622        </RuleItem>
     623        <RuleItem>
     624          <Type>0</Type>
     625          <Optional>0</Optional>
     626          <Repetitive>0</Repetitive>
     627          <Terminal>:</Terminal>
     628        </RuleItem>
     629        <RuleItem>
     630          <Type>1</Type>
     631          <Optional>0</Optional>
     632          <Repetitive>0</Repetitive>
     633          <NonTerminal>TypeReference</NonTerminal>
     634        </RuleItem>
    542635      </RuleItems>
    543636    </Rule>
    544637    <Rule>
    545638      <Name>VariableDefinition</Name>
     639      <CreateSourceNode>0</CreateSourceNode>
    546640      <RuleItems>
    547641        <Type>0</Type>
     
    574668    <Rule>
    575669      <Name>TypeReference</Name>
    576       <RuleItems>
    577         <Type>0</Type>
     670      <CreateSourceNode>0</CreateSourceNode>
     671      <RuleItems>
     672        <Type>0</Type>
     673        <RuleItem>
     674          <Type>1</Type>
     675          <Optional>0</Optional>
     676          <Repetitive>0</Repetitive>
     677          <NonTerminal>Identifier</NonTerminal>
     678        </RuleItem>
    578679      </RuleItems>
    579680    </Rule>
    580681    <Rule>
    581682      <Name>VariableName</Name>
    582       <RuleItems>
    583         <Type>0</Type>
     683      <CreateSourceNode>0</CreateSourceNode>
     684      <RuleItems>
     685        <Type>0</Type>
     686        <RuleItem>
     687          <Type>1</Type>
     688          <Optional>0</Optional>
     689          <Repetitive>0</Repetitive>
     690          <NonTerminal>Identifier</NonTerminal>
     691        </RuleItem>
    584692      </RuleItems>
    585693    </Rule>
    586694    <Rule>
    587695      <Name>Unit</Name>
     696      <CreateSourceNode>-1</CreateSourceNode>
    588697      <RuleItems>
    589698        <Type>0</Type>
     
    606715          <Terminal>;</Terminal>
    607716        </RuleItem>
     717        <RuleItem>
     718          <Type>1</Type>
     719          <Optional>-1</Optional>
     720          <Repetitive>0</Repetitive>
     721          <NonTerminal>Uses</NonTerminal>
     722        </RuleItem>
    608723      </RuleItems>
    609724    </Rule>
    610725    <Rule>
    611726      <Name>UnitReference</Name>
    612       <RuleItems>
    613         <Type>0</Type>
     727      <CreateSourceNode>0</CreateSourceNode>
     728      <RuleItems>
     729        <Type>0</Type>
     730        <RuleItem>
     731          <Type>1</Type>
     732          <Optional>0</Optional>
     733          <Repetitive>0</Repetitive>
     734          <NonTerminal>Identifier</NonTerminal>
     735        </RuleItem>
    614736      </RuleItems>
    615737    </Rule>
    616738    <Rule>
    617739      <Name>ForInDo</Name>
     740      <CreateSourceNode>-1</CreateSourceNode>
    618741      <RuleItems>
    619742        <Type>0</Type>
     
    628751          <Optional>0</Optional>
    629752          <Repetitive>0</Repetitive>
    630           <NonTerminal>VariableRef</NonTerminal>
     753          <NonTerminal>VariableReference</NonTerminal>
    631754        </RuleItem>
    632755        <RuleItem>
     
    658781    <Rule>
    659782      <Name>TypeRecord</Name>
     783      <CreateSourceNode>-1</CreateSourceNode>
    660784      <RuleItems>
    661785        <Type>0</Type>
     
    708832    <Rule>
    709833      <Name>ProgramName</Name>
    710       <RuleItems>
    711         <Type>0</Type>
     834      <CreateSourceNode>0</CreateSourceNode>
     835      <RuleItems>
     836        <Type>0</Type>
     837        <RuleItem>
     838          <Type>1</Type>
     839          <Optional>0</Optional>
     840          <Repetitive>0</Repetitive>
     841          <NonTerminal>Identifier</NonTerminal>
     842        </RuleItem>
    712843      </RuleItems>
    713844    </Rule>
    714845    <Rule>
    715846      <Name>FunctionName</Name>
    716       <RuleItems>
    717         <Type>0</Type>
     847      <CreateSourceNode>0</CreateSourceNode>
     848      <RuleItems>
     849        <Type>0</Type>
     850        <RuleItem>
     851          <Type>1</Type>
     852          <Optional>0</Optional>
     853          <Repetitive>0</Repetitive>
     854          <NonTerminal>Identifier</NonTerminal>
     855        </RuleItem>
     856      </RuleItems>
     857    </Rule>
     858    <Rule>
     859      <Name>Digit</Name>
     860      <CreateSourceNode>0</CreateSourceNode>
     861      <RuleItems>
     862        <Type>1</Type>
     863        <RuleItem>
     864          <Type>0</Type>
     865          <Optional>0</Optional>
     866          <Repetitive>0</Repetitive>
     867          <Terminal>0</Terminal>
     868        </RuleItem>
     869        <RuleItem>
     870          <Type>0</Type>
     871          <Optional>0</Optional>
     872          <Repetitive>0</Repetitive>
     873          <Terminal>1</Terminal>
     874        </RuleItem>
     875        <RuleItem>
     876          <Type>0</Type>
     877          <Optional>0</Optional>
     878          <Repetitive>0</Repetitive>
     879          <Terminal>2</Terminal>
     880        </RuleItem>
     881        <RuleItem>
     882          <Type>0</Type>
     883          <Optional>0</Optional>
     884          <Repetitive>0</Repetitive>
     885          <Terminal>3</Terminal>
     886        </RuleItem>
     887        <RuleItem>
     888          <Type>0</Type>
     889          <Optional>0</Optional>
     890          <Repetitive>0</Repetitive>
     891          <Terminal>4</Terminal>
     892        </RuleItem>
     893        <RuleItem>
     894          <Type>0</Type>
     895          <Optional>0</Optional>
     896          <Repetitive>0</Repetitive>
     897          <Terminal>5</Terminal>
     898        </RuleItem>
     899        <RuleItem>
     900          <Type>0</Type>
     901          <Optional>0</Optional>
     902          <Repetitive>0</Repetitive>
     903          <Terminal>6</Terminal>
     904        </RuleItem>
     905        <RuleItem>
     906          <Type>0</Type>
     907          <Optional>0</Optional>
     908          <Repetitive>0</Repetitive>
     909          <Terminal>7</Terminal>
     910        </RuleItem>
     911        <RuleItem>
     912          <Type>0</Type>
     913          <Optional>0</Optional>
     914          <Repetitive>0</Repetitive>
     915          <Terminal>8</Terminal>
     916        </RuleItem>
     917        <RuleItem>
     918          <Type>0</Type>
     919          <Optional>0</Optional>
     920          <Repetitive>0</Repetitive>
     921          <Terminal>9</Terminal>
     922        </RuleItem>
     923      </RuleItems>
     924    </Rule>
     925    <Rule>
     926      <Name>Sign</Name>
     927      <CreateSourceNode>0</CreateSourceNode>
     928      <RuleItems>
     929        <Type>1</Type>
     930        <RuleItem>
     931          <Type>0</Type>
     932          <Optional>0</Optional>
     933          <Repetitive>0</Repetitive>
     934          <Terminal>+</Terminal>
     935        </RuleItem>
     936        <RuleItem>
     937          <Type>0</Type>
     938          <Optional>0</Optional>
     939          <Repetitive>0</Repetitive>
     940          <Terminal>-</Terminal>
     941        </RuleItem>
     942      </RuleItems>
     943    </Rule>
     944    <Rule>
     945      <Name>UnsignedDigitSequence</Name>
     946      <CreateSourceNode>0</CreateSourceNode>
     947      <RuleItems>
     948        <Type>0</Type>
     949        <RuleItem>
     950          <Type>1</Type>
     951          <Optional>0</Optional>
     952          <Repetitive>0</Repetitive>
     953          <NonTerminal>Digit</NonTerminal>
     954        </RuleItem>
     955        <RuleItem>
     956          <Type>1</Type>
     957          <Optional>-1</Optional>
     958          <Repetitive>-1</Repetitive>
     959          <NonTerminal>Digit</NonTerminal>
     960        </RuleItem>
     961      </RuleItems>
     962    </Rule>
     963    <Rule>
     964      <Name>DigitSequence</Name>
     965      <CreateSourceNode>0</CreateSourceNode>
     966      <RuleItems>
     967        <Type>0</Type>
     968        <RuleItem>
     969          <Type>1</Type>
     970          <Optional>-1</Optional>
     971          <Repetitive>0</Repetitive>
     972          <NonTerminal>Sign</NonTerminal>
     973        </RuleItem>
     974        <RuleItem>
     975          <Type>1</Type>
     976          <Optional>0</Optional>
     977          <Repetitive>0</Repetitive>
     978          <NonTerminal>UnsignedDigitSequence</NonTerminal>
     979        </RuleItem>
     980      </RuleItems>
     981    </Rule>
     982    <Rule>
     983      <Name>RealNumber</Name>
     984      <CreateSourceNode>0</CreateSourceNode>
     985      <RuleItems>
     986        <Type>0</Type>
     987        <RuleItem>
     988          <Type>1</Type>
     989          <Optional>0</Optional>
     990          <Repetitive>0</Repetitive>
     991          <NonTerminal>DigitSequence</NonTerminal>
     992        </RuleItem>
     993        <RuleItem>
     994          <Type>0</Type>
     995          <Optional>0</Optional>
     996          <Repetitive>0</Repetitive>
     997          <Terminal>.</Terminal>
     998        </RuleItem>
     999        <RuleItem>
     1000          <Type>1</Type>
     1001          <Optional>0</Optional>
     1002          <Repetitive>0</Repetitive>
     1003          <NonTerminal>UnsignedDigitSequence</NonTerminal>
     1004        </RuleItem>
     1005      </RuleItems>
     1006    </Rule>
     1007    <Rule>
     1008      <Name>IntegerNumber</Name>
     1009      <CreateSourceNode>0</CreateSourceNode>
     1010      <RuleItems>
     1011        <Type>0</Type>
     1012        <RuleItem>
     1013          <Type>1</Type>
     1014          <Optional>0</Optional>
     1015          <Repetitive>0</Repetitive>
     1016          <NonTerminal>DigitSequence</NonTerminal>
     1017        </RuleItem>
     1018      </RuleItems>
     1019    </Rule>
     1020    <Rule>
     1021      <Name>Number</Name>
     1022      <CreateSourceNode>0</CreateSourceNode>
     1023      <RuleItems>
     1024        <Type>1</Type>
     1025        <RuleItem>
     1026          <Type>1</Type>
     1027          <Optional>0</Optional>
     1028          <Repetitive>0</Repetitive>
     1029          <NonTerminal>IntegerNumber</NonTerminal>
     1030        </RuleItem>
     1031        <RuleItem>
     1032          <Type>1</Type>
     1033          <Optional>0</Optional>
     1034          <Repetitive>0</Repetitive>
     1035          <NonTerminal>RealNumber</NonTerminal>
     1036        </RuleItem>
     1037      </RuleItems>
     1038    </Rule>
     1039    <Rule>
     1040      <Name>Letter</Name>
     1041      <CreateSourceNode>0</CreateSourceNode>
     1042      <RuleItems>
     1043        <Type>1</Type>
     1044        <RuleItem>
     1045          <Type>0</Type>
     1046          <Optional>0</Optional>
     1047          <Repetitive>0</Repetitive>
     1048          <Terminal>a</Terminal>
     1049        </RuleItem>
     1050        <RuleItem>
     1051          <Type>0</Type>
     1052          <Optional>0</Optional>
     1053          <Repetitive>0</Repetitive>
     1054          <Terminal>b</Terminal>
     1055        </RuleItem>
     1056        <RuleItem>
     1057          <Type>0</Type>
     1058          <Optional>0</Optional>
     1059          <Repetitive>0</Repetitive>
     1060          <Terminal>c</Terminal>
     1061        </RuleItem>
     1062        <RuleItem>
     1063          <Type>0</Type>
     1064          <Optional>0</Optional>
     1065          <Repetitive>0</Repetitive>
     1066          <Terminal>d</Terminal>
     1067        </RuleItem>
     1068        <RuleItem>
     1069          <Type>0</Type>
     1070          <Optional>0</Optional>
     1071          <Repetitive>0</Repetitive>
     1072          <Terminal>e</Terminal>
     1073        </RuleItem>
     1074        <RuleItem>
     1075          <Type>0</Type>
     1076          <Optional>0</Optional>
     1077          <Repetitive>0</Repetitive>
     1078          <Terminal>f</Terminal>
     1079        </RuleItem>
     1080        <RuleItem>
     1081          <Type>0</Type>
     1082          <Optional>0</Optional>
     1083          <Repetitive>0</Repetitive>
     1084          <Terminal>g</Terminal>
     1085        </RuleItem>
     1086        <RuleItem>
     1087          <Type>0</Type>
     1088          <Optional>0</Optional>
     1089          <Repetitive>0</Repetitive>
     1090          <Terminal>h</Terminal>
     1091        </RuleItem>
     1092        <RuleItem>
     1093          <Type>0</Type>
     1094          <Optional>0</Optional>
     1095          <Repetitive>0</Repetitive>
     1096          <Terminal>i</Terminal>
     1097        </RuleItem>
     1098        <RuleItem>
     1099          <Type>0</Type>
     1100          <Optional>0</Optional>
     1101          <Repetitive>0</Repetitive>
     1102          <Terminal>j</Terminal>
     1103        </RuleItem>
     1104        <RuleItem>
     1105          <Type>0</Type>
     1106          <Optional>0</Optional>
     1107          <Repetitive>0</Repetitive>
     1108          <Terminal>k</Terminal>
     1109        </RuleItem>
     1110        <RuleItem>
     1111          <Type>0</Type>
     1112          <Optional>0</Optional>
     1113          <Repetitive>0</Repetitive>
     1114          <Terminal>l</Terminal>
     1115        </RuleItem>
     1116        <RuleItem>
     1117          <Type>0</Type>
     1118          <Optional>0</Optional>
     1119          <Repetitive>0</Repetitive>
     1120          <Terminal>m</Terminal>
     1121        </RuleItem>
     1122        <RuleItem>
     1123          <Type>0</Type>
     1124          <Optional>0</Optional>
     1125          <Repetitive>0</Repetitive>
     1126          <Terminal>n</Terminal>
     1127        </RuleItem>
     1128        <RuleItem>
     1129          <Type>0</Type>
     1130          <Optional>0</Optional>
     1131          <Repetitive>0</Repetitive>
     1132          <Terminal>o</Terminal>
     1133        </RuleItem>
     1134        <RuleItem>
     1135          <Type>0</Type>
     1136          <Optional>0</Optional>
     1137          <Repetitive>0</Repetitive>
     1138          <Terminal>p</Terminal>
     1139        </RuleItem>
     1140        <RuleItem>
     1141          <Type>0</Type>
     1142          <Optional>0</Optional>
     1143          <Repetitive>0</Repetitive>
     1144          <Terminal>q</Terminal>
     1145        </RuleItem>
     1146        <RuleItem>
     1147          <Type>0</Type>
     1148          <Optional>0</Optional>
     1149          <Repetitive>0</Repetitive>
     1150          <Terminal>r</Terminal>
     1151        </RuleItem>
     1152        <RuleItem>
     1153          <Type>0</Type>
     1154          <Optional>0</Optional>
     1155          <Repetitive>0</Repetitive>
     1156          <Terminal>s</Terminal>
     1157        </RuleItem>
     1158        <RuleItem>
     1159          <Type>0</Type>
     1160          <Optional>0</Optional>
     1161          <Repetitive>0</Repetitive>
     1162          <Terminal>t</Terminal>
     1163        </RuleItem>
     1164        <RuleItem>
     1165          <Type>0</Type>
     1166          <Optional>0</Optional>
     1167          <Repetitive>0</Repetitive>
     1168          <Terminal>u</Terminal>
     1169        </RuleItem>
     1170        <RuleItem>
     1171          <Type>0</Type>
     1172          <Optional>0</Optional>
     1173          <Repetitive>0</Repetitive>
     1174          <Terminal>v</Terminal>
     1175        </RuleItem>
     1176        <RuleItem>
     1177          <Type>0</Type>
     1178          <Optional>0</Optional>
     1179          <Repetitive>0</Repetitive>
     1180          <Terminal>w</Terminal>
     1181        </RuleItem>
     1182        <RuleItem>
     1183          <Type>0</Type>
     1184          <Optional>0</Optional>
     1185          <Repetitive>0</Repetitive>
     1186          <Terminal>x</Terminal>
     1187        </RuleItem>
     1188        <RuleItem>
     1189          <Type>0</Type>
     1190          <Optional>0</Optional>
     1191          <Repetitive>0</Repetitive>
     1192          <Terminal>y</Terminal>
     1193        </RuleItem>
     1194        <RuleItem>
     1195          <Type>0</Type>
     1196          <Optional>0</Optional>
     1197          <Repetitive>0</Repetitive>
     1198          <Terminal>z</Terminal>
     1199        </RuleItem>
     1200      </RuleItems>
     1201    </Rule>
     1202    <Rule>
     1203      <Name>ConstSection</Name>
     1204      <CreateSourceNode>0</CreateSourceNode>
     1205      <RuleItems>
     1206        <Type>0</Type>
     1207        <RuleItem>
     1208          <Type>0</Type>
     1209          <Optional>0</Optional>
     1210          <Repetitive>0</Repetitive>
     1211          <Terminal>const</Terminal>
     1212        </RuleItem>
     1213      </RuleItems>
     1214    </Rule>
     1215    <Rule>
     1216      <Name>Declaration</Name>
     1217      <CreateSourceNode>0</CreateSourceNode>
     1218      <RuleItems>
     1219        <Type>1</Type>
     1220        <RuleItem>
     1221          <Type>1</Type>
     1222          <Optional>0</Optional>
     1223          <Repetitive>0</Repetitive>
     1224          <NonTerminal>VarSection</NonTerminal>
     1225        </RuleItem>
     1226        <RuleItem>
     1227          <Type>1</Type>
     1228          <Optional>0</Optional>
     1229          <Repetitive>0</Repetitive>
     1230          <NonTerminal>ConstSection</NonTerminal>
     1231        </RuleItem>
     1232        <RuleItem>
     1233          <Type>1</Type>
     1234          <Optional>0</Optional>
     1235          <Repetitive>0</Repetitive>
     1236          <NonTerminal>TypeSection</NonTerminal>
     1237        </RuleItem>
     1238      </RuleItems>
     1239    </Rule>
     1240    <Rule>
     1241      <Name>TypeSection</Name>
     1242      <CreateSourceNode>0</CreateSourceNode>
     1243      <RuleItems>
     1244        <Type>0</Type>
     1245        <RuleItem>
     1246          <Type>0</Type>
     1247          <Optional>0</Optional>
     1248          <Repetitive>0</Repetitive>
     1249          <Terminal>type</Terminal>
     1250        </RuleItem>
     1251      </RuleItems>
     1252    </Rule>
     1253    <Rule>
     1254      <Name>DeclarationBlock</Name>
     1255      <CreateSourceNode>0</CreateSourceNode>
     1256      <RuleItems>
     1257        <Type>0</Type>
     1258        <RuleItem>
     1259          <Type>1</Type>
     1260          <Optional>-1</Optional>
     1261          <Repetitive>-1</Repetitive>
     1262          <NonTerminal>Declaration</NonTerminal>
     1263        </RuleItem>
     1264        <RuleItem>
     1265          <Type>1</Type>
     1266          <Optional>0</Optional>
     1267          <Repetitive>0</Repetitive>
     1268          <NonTerminal>BeginEnd</NonTerminal>
     1269        </RuleItem>
     1270      </RuleItems>
     1271    </Rule>
     1272    <Rule>
     1273      <Name>ConstDefinition</Name>
     1274      <CreateSourceNode>0</CreateSourceNode>
     1275      <RuleItems>
     1276        <Type>0</Type>
     1277        <RuleItem>
     1278          <Type>1</Type>
     1279          <Optional>0</Optional>
     1280          <Repetitive>0</Repetitive>
     1281          <NonTerminal>ConstName</NonTerminal>
     1282        </RuleItem>
     1283        <RuleItem>
     1284          <Type>0</Type>
     1285          <Optional>0</Optional>
     1286          <Repetitive>0</Repetitive>
     1287          <Terminal>:</Terminal>
     1288        </RuleItem>
     1289        <RuleItem>
     1290          <Type>1</Type>
     1291          <Optional>0</Optional>
     1292          <Repetitive>0</Repetitive>
     1293          <NonTerminal>TypeReference</NonTerminal>
     1294        </RuleItem>
     1295        <RuleItem>
     1296          <Type>0</Type>
     1297          <Optional>0</Optional>
     1298          <Repetitive>0</Repetitive>
     1299          <Terminal>=</Terminal>
     1300        </RuleItem>
     1301        <RuleItem>
     1302          <Type>0</Type>
     1303          <Optional>0</Optional>
     1304          <Repetitive>0</Repetitive>
     1305          <Terminal>;</Terminal>
     1306        </RuleItem>
     1307      </RuleItems>
     1308    </Rule>
     1309    <Rule>
     1310      <Name>ConstName</Name>
     1311      <CreateSourceNode>0</CreateSourceNode>
     1312      <RuleItems>
     1313        <Type>0</Type>
     1314      </RuleItems>
     1315    </Rule>
     1316    <Rule>
     1317      <Name>Term</Name>
     1318      <CreateSourceNode>0</CreateSourceNode>
     1319      <RuleItems>
     1320        <Type>0</Type>
     1321        <RuleItem>
     1322          <Type>1</Type>
     1323          <Optional>0</Optional>
     1324          <Repetitive>0</Repetitive>
     1325          <NonTerminal>Factor</NonTerminal>
     1326        </RuleItem>
     1327        <RuleItem>
     1328          <Type>2</Type>
     1329          <Optional>-1</Optional>
     1330          <Repetitive>-1</Repetitive>
     1331          <SubItems>
     1332            <Type>0</Type>
     1333            <RuleItem>
     1334              <Type>1</Type>
     1335              <Optional>0</Optional>
     1336              <Repetitive>0</Repetitive>
     1337              <NonTerminal>Factor</NonTerminal>
     1338            </RuleItem>
     1339            <RuleItem>
     1340              <Type>1</Type>
     1341              <Optional>0</Optional>
     1342              <Repetitive>0</Repetitive>
     1343              <NonTerminal>Operator</NonTerminal>
     1344            </RuleItem>
     1345          </SubItems>
     1346        </RuleItem>
     1347      </RuleItems>
     1348    </Rule>
     1349    <Rule>
     1350      <Name>Factor</Name>
     1351      <CreateSourceNode>0</CreateSourceNode>
     1352      <RuleItems>
     1353        <Type>1</Type>
     1354        <RuleItem>
     1355          <Type>1</Type>
     1356          <Optional>0</Optional>
     1357          <Repetitive>0</Repetitive>
     1358          <NonTerminal>VariableReference</NonTerminal>
     1359        </RuleItem>
     1360        <RuleItem>
     1361          <Type>1</Type>
     1362          <Optional>0</Optional>
     1363          <Repetitive>0</Repetitive>
     1364          <NonTerminal>ConstReference</NonTerminal>
     1365        </RuleItem>
     1366        <RuleItem>
     1367          <Type>2</Type>
     1368          <Optional>0</Optional>
     1369          <Repetitive>0</Repetitive>
     1370          <SubItems>
     1371            <Type>0</Type>
     1372            <RuleItem>
     1373              <Type>0</Type>
     1374              <Optional>0</Optional>
     1375              <Repetitive>0</Repetitive>
     1376              <Terminal>(</Terminal>
     1377            </RuleItem>
     1378            <RuleItem>
     1379              <Type>1</Type>
     1380              <Optional>0</Optional>
     1381              <Repetitive>0</Repetitive>
     1382              <NonTerminal>Expression</NonTerminal>
     1383            </RuleItem>
     1384            <RuleItem>
     1385              <Type>0</Type>
     1386              <Optional>0</Optional>
     1387              <Repetitive>0</Repetitive>
     1388              <Terminal>)</Terminal>
     1389            </RuleItem>
     1390          </SubItems>
     1391        </RuleItem>
     1392        <RuleItem>
     1393          <Type>1</Type>
     1394          <Optional>0</Optional>
     1395          <Repetitive>0</Repetitive>
     1396          <NonTerminal>Number</NonTerminal>
     1397        </RuleItem>
     1398        <RuleItem>
     1399          <Type>1</Type>
     1400          <Optional>0</Optional>
     1401          <Repetitive>0</Repetitive>
     1402          <NonTerminal>String</NonTerminal>
     1403        </RuleItem>
     1404      </RuleItems>
     1405    </Rule>
     1406    <Rule>
     1407      <Name>Operator</Name>
     1408      <CreateSourceNode>0</CreateSourceNode>
     1409      <RuleItems>
     1410        <Type>1</Type>
     1411        <RuleItem>
     1412          <Type>0</Type>
     1413          <Optional>0</Optional>
     1414          <Repetitive>0</Repetitive>
     1415          <Terminal>&lt;</Terminal>
     1416        </RuleItem>
     1417        <RuleItem>
     1418          <Type>0</Type>
     1419          <Optional>0</Optional>
     1420          <Repetitive>0</Repetitive>
     1421          <Terminal>&gt;</Terminal>
     1422        </RuleItem>
     1423        <RuleItem>
     1424          <Type>0</Type>
     1425          <Optional>0</Optional>
     1426          <Repetitive>0</Repetitive>
     1427          <Terminal>&lt;=</Terminal>
     1428        </RuleItem>
     1429        <RuleItem>
     1430          <Type>0</Type>
     1431          <Optional>0</Optional>
     1432          <Repetitive>0</Repetitive>
     1433          <Terminal>&gt;=</Terminal>
     1434        </RuleItem>
     1435        <RuleItem>
     1436          <Type>0</Type>
     1437          <Optional>0</Optional>
     1438          <Repetitive>0</Repetitive>
     1439          <Terminal>=</Terminal>
     1440        </RuleItem>
     1441        <RuleItem>
     1442          <Type>0</Type>
     1443          <Optional>0</Optional>
     1444          <Repetitive>0</Repetitive>
     1445          <Terminal>&lt;&gt;</Terminal>
     1446        </RuleItem>
     1447        <RuleItem>
     1448          <Type>0</Type>
     1449          <Optional>0</Optional>
     1450          <Repetitive>0</Repetitive>
     1451          <Terminal>+</Terminal>
     1452        </RuleItem>
     1453        <RuleItem>
     1454          <Type>0</Type>
     1455          <Optional>0</Optional>
     1456          <Repetitive>0</Repetitive>
     1457          <Terminal>-</Terminal>
     1458        </RuleItem>
     1459        <RuleItem>
     1460          <Type>0</Type>
     1461          <Optional>0</Optional>
     1462          <Repetitive>0</Repetitive>
     1463          <Terminal>/</Terminal>
     1464        </RuleItem>
     1465        <RuleItem>
     1466          <Type>0</Type>
     1467          <Optional>0</Optional>
     1468          <Repetitive>0</Repetitive>
     1469          <Terminal>*</Terminal>
     1470        </RuleItem>
     1471        <RuleItem>
     1472          <Type>0</Type>
     1473          <Optional>0</Optional>
     1474          <Repetitive>0</Repetitive>
     1475          <Terminal>div</Terminal>
     1476        </RuleItem>
     1477        <RuleItem>
     1478          <Type>0</Type>
     1479          <Optional>0</Optional>
     1480          <Repetitive>0</Repetitive>
     1481          <Terminal>+</Terminal>
     1482        </RuleItem>
     1483        <RuleItem>
     1484          <Type>0</Type>
     1485          <Optional>0</Optional>
     1486          <Repetitive>0</Repetitive>
     1487          <Terminal>-</Terminal>
     1488        </RuleItem>
     1489      </RuleItems>
     1490    </Rule>
     1491    <Rule>
     1492      <Name>ConstReference</Name>
     1493      <CreateSourceNode>0</CreateSourceNode>
     1494      <RuleItems>
     1495        <Type>0</Type>
     1496        <RuleItem>
     1497          <Type>1</Type>
     1498          <Optional>0</Optional>
     1499          <Repetitive>0</Repetitive>
     1500          <NonTerminal>Identifier</NonTerminal>
     1501        </RuleItem>
     1502      </RuleItems>
     1503    </Rule>
     1504    <Rule>
     1505      <Name>String</Name>
     1506      <CreateSourceNode>0</CreateSourceNode>
     1507      <RuleItems>
     1508        <Type>0</Type>
     1509        <RuleItem>
     1510          <Type>0</Type>
     1511          <Optional>0</Optional>
     1512          <Repetitive>0</Repetitive>
     1513          <Terminal>'</Terminal>
     1514        </RuleItem>
     1515        <RuleItem>
     1516          <Type>1</Type>
     1517          <Optional>-1</Optional>
     1518          <Repetitive>-1</Repetitive>
     1519          <NonTerminal>StringCharacter</NonTerminal>
     1520        </RuleItem>
     1521        <RuleItem>
     1522          <Type>0</Type>
     1523          <Optional>0</Optional>
     1524          <Repetitive>0</Repetitive>
     1525          <Terminal>'</Terminal>
     1526        </RuleItem>
     1527      </RuleItems>
     1528    </Rule>
     1529    <Rule>
     1530      <Name>StringCharacter</Name>
     1531      <CreateSourceNode>0</CreateSourceNode>
     1532      <RuleItems>
     1533        <Type>0</Type>
     1534      </RuleItems>
     1535    </Rule>
     1536    <Rule>
     1537      <Name>ParameterName</Name>
     1538      <CreateSourceNode>0</CreateSourceNode>
     1539      <RuleItems>
     1540        <Type>0</Type>
     1541        <RuleItem>
     1542          <Type>1</Type>
     1543          <Optional>0</Optional>
     1544          <Repetitive>0</Repetitive>
     1545          <NonTerminal>Identifier</NonTerminal>
     1546        </RuleItem>
    7181547      </RuleItems>
    7191548    </Rule>
Note: See TracChangeset for help on using the changeset viewer.