Ignore:
Timestamp:
Aug 9, 2017, 12:09:47 AM (7 years ago)
Author:
chronos
Message:
  • Added: RuleItem can be selected as terminal or non-terminal node.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/generator/pascal.grm

    r110 r111  
    66      <RuleItems>
    77        <RuleItem>
    8           <Name>begin</Name>
     8          <Type>0</Type>
     9          <Terminal>begin</Terminal>
    910        </RuleItem>
    1011        <RuleItem>
    11           <Name>command</Name>
     12          <Type>1</Type>
     13          <NonTerminal>Command</NonTerminal>
    1214        </RuleItem>
    1315        <RuleItem>
    14           <Name>end</Name>
     16          <Type>0</Type>
     17          <Terminal>end</Terminal>
    1518        </RuleItem>
    1619      </RuleItems>
     
    1821    <Rule>
    1922      <Name>IfThenElse</Name>
    20       <RuleItems/>
     23      <RuleItems>
     24        <RuleItem>
     25          <Type>0</Type>
     26          <Terminal>if</Terminal>
     27        </RuleItem>
     28        <RuleItem>
     29          <Type>1</Type>
     30          <NonTerminal>Expression</NonTerminal>
     31        </RuleItem>
     32        <RuleItem>
     33          <Type>0</Type>
     34          <Terminal>then</Terminal>
     35        </RuleItem>
     36        <RuleItem>
     37          <Type>1</Type>
     38          <NonTerminal>Command</NonTerminal>
     39        </RuleItem>
     40        <RuleItem>
     41          <Type>0</Type>
     42          <Terminal>else</Terminal>
     43        </RuleItem>
     44        <RuleItem>
     45          <Type>1</Type>
     46          <NonTerminal>Command</NonTerminal>
     47        </RuleItem>
     48        <RuleItem>
     49          <Type>0</Type>
     50          <Terminal>end</Terminal>
     51        </RuleItem>
     52      </RuleItems>
    2153    </Rule>
    2254    <Rule>
    2355      <Name>WhileDo</Name>
    24       <RuleItems/>
     56      <RuleItems>
     57        <RuleItem>
     58          <Type>0</Type>
     59          <Terminal>while</Terminal>
     60        </RuleItem>
     61        <RuleItem>
     62          <Type>1</Type>
     63          <NonTerminal>Expression</NonTerminal>
     64        </RuleItem>
     65        <RuleItem>
     66          <Type>0</Type>
     67          <Terminal>do</Terminal>
     68        </RuleItem>
     69        <RuleItem>
     70          <Type>1</Type>
     71          <NonTerminal>Command</NonTerminal>
     72        </RuleItem>
     73      </RuleItems>
    2574    </Rule>
    2675    <Rule>
    2776      <Name>RepeatUntil</Name>
    28       <RuleItems/>
     77      <RuleItems>
     78        <RuleItem>
     79          <Type>0</Type>
     80          <Terminal>repeat</Terminal>
     81        </RuleItem>
     82        <RuleItem>
     83          <Type>1</Type>
     84          <NonTerminal>Command</NonTerminal>
     85        </RuleItem>
     86        <RuleItem>
     87          <Type>0</Type>
     88          <Terminal>until</Terminal>
     89        </RuleItem>
     90        <RuleItem>
     91          <Type>1</Type>
     92          <NonTerminal>Expression</NonTerminal>
     93        </RuleItem>
     94      </RuleItems>
    2995    </Rule>
    3096    <Rule>
     
    42108    <Rule>
    43109      <Name>Assignment</Name>
    44       <RuleItems/>
     110      <RuleItems>
     111        <RuleItem>
     112          <Type>1</Type>
     113          <NonTerminal>Variable</NonTerminal>
     114        </RuleItem>
     115        <RuleItem>
     116          <Type>0</Type>
     117          <Terminal>:=</Terminal>
     118        </RuleItem>
     119        <RuleItem>
     120          <Type>1</Type>
     121          <NonTerminal>Expression</NonTerminal>
     122        </RuleItem>
     123      </RuleItems>
    45124    </Rule>
    46125    <Rule>
     
    48127      <RuleItems/>
    49128    </Rule>
     129    <Rule>
     130      <Name>Expression</Name>
     131      <RuleItems/>
     132    </Rule>
     133    <Rule>
     134      <Name>Variable</Name>
     135      <RuleItems/>
     136    </Rule>
    50137  </Rules>
    51138</GrammerProject>
Note: See TracChangeset for help on using the changeset viewer.