Changeset 137 for branches


Ignore:
Timestamp:
Dec 27, 2017, 6:05:11 PM (7 years ago)
Author:
chronos
Message:
  • Added: Lookup tables can be defined and their usage set from grammer rules.
Location:
branches/generator
Files:
4 added
13 edited

Legend:

Unmodified
Added
Removed
  • branches/generator/Forms/UFormMain.lfm

    r132 r137  
    2929      Height = 28
    3030      Top = 5
    31       Width = 169
     31      Width = 198
    3232      Align = alNone
    3333      AutoSize = True
     
    7474        Action = AGrammerSettings
    7575      end
     76      object ToolButton7: TToolButton
     77        Left = 169
     78        Top = 0
     79        Action = ALookupTables
     80      end
    7681    end
    7782  end
     
    154159    end
    155160    object MenuItem8: TMenuItem
    156       Caption = 'Tools'
     161      Caption = 'Grammer'
    157162      object MenuItem9: TMenuItem
    158163        Action = ABuildCompiler
     164      end
     165      object MenuItem3: TMenuItem
     166        Action = ALookupTables
    159167      end
    160168    end
     
    228236      OnExecute = AToolbarVisibleExecute
    229237    end
     238    object ALookupTables: TAction
     239      Caption = 'Lookup tables'
     240      ImageIndex = 8
     241      OnExecute = ALookupTablesExecute
     242    end
    230243  end
    231244  object OpenDialog1: TOpenDialog
  • branches/generator/Forms/UFormMain.pas

    r136 r137  
    1616  TFormMain = class(TForm)
    1717    ABuildCompiler: TAction;
     18    ALookupTables: TAction;
    1819    AToolbarVisible: TAction;
    1920    AProjectOpenRecent: TAction;
     
    3839    MenuItem13: TMenuItem;
    3940    MenuItem2: TMenuItem;
     41    MenuItem3: TMenuItem;
    4042    MenuItemRecent: TMenuItem;
    4143    MenuItemToolbar: TMenuItem;
     
    6062    ToolButton5: TToolButton;
    6163    ToolButton6: TToolButton;
     64    ToolButton7: TToolButton;
    6265    procedure ABuildCompilerExecute(Sender: TObject);
     66    procedure ALookupTablesExecute(Sender: TObject);
    6367    procedure AToolbarVisibleExecute(Sender: TObject);
    6468    procedure AExitExecute(Sender: TObject);
     
    96100
    97101uses
    98   UFormRules, UCore, UFormGrammer, UBuilder;
     102  UFormRules, UCore, UFormGrammer, UBuilder, UFormLookupTables;
    99103
    100104resourcestring
     
    300304end;
    301305
     306procedure TFormMain.ALookupTablesExecute(Sender: TObject);
     307var
     308  FormLookupTables: TFormLookupTables;
     309begin
     310  FormLookupTables := TFormLookupTables.Create(nil);
     311  try
     312    FormLookupTables.LookupTables := Core.Grammer.LookupTables;
     313    if FormLookupTables.ShowModal = mrOk then begin
     314
     315    end;
     316  finally
     317    FreeAndNil(FormLookupTables);
     318  end;
     319end;
     320
    302321procedure TFormMain.AToolbarVisibleExecute(Sender: TObject);
    303322begin
  • branches/generator/Forms/UFormRuleItem.lfm

    r136 r137  
    6161    Top = 88
    6262    Width = 632
    63     ActivePage = TabSheetTerminalRange
     63    ActivePage = TabSheetNonTerminal
    6464    Anchors = [akTop, akLeft, akRight, akBottom]
    6565    ShowTabs = False
    66     TabIndex = 3
     66    TabIndex = 1
    6767    TabOrder = 3
    6868    object TabSheetTerminal: TTabSheet
     
    9393      object LabelNonTerminal: TLabel
    9494        Left = 8
    95         Height = 20
    96         Top = 16
    97         Width = 92
     95        Height = 23
     96        Top = 8
     97        Width = 105
    9898        Caption = 'Non-terminal:'
    9999        ParentColor = False
    100100      end
    101       object ListBox1: TListBox
    102         Left = 128
    103         Height = 232
    104         Top = 16
    105         Width = 484
     101      object ListBoxNonTerminals: TListBox
     102        Left = 8
     103        Height = 210
     104        Top = 40
     105        Width = 304
    106106        Anchors = [akTop, akLeft, akRight, akBottom]
    107107        ItemHeight = 0
    108         ScrollWidth = 482
     108        ScrollWidth = 302
    109109        TabOrder = 0
    110110        TopIndex = -1
     111      end
     112      object CheckBoxLookupTable: TCheckBox
     113        Left = 352
     114        Height = 27
     115        Top = 8
     116        Width = 152
     117        Caption = 'Use lookup table'
     118        OnChange = CheckBoxLookupTableChange
     119        TabOrder = 1
     120      end
     121      object ListBoxLookupTable: TListBox
     122        Left = 352
     123        Height = 176
     124        Top = 40
     125        Width = 248
     126        Anchors = [akTop, akLeft, akRight, akBottom]
     127        ItemHeight = 0
     128        ScrollWidth = 246
     129        TabOrder = 2
     130        TopIndex = -1
     131      end
     132      object Label1: TLabel
     133        Left = 352
     134        Height = 23
     135        Top = 224
     136        Width = 90
     137        Caption = 'Item action:'
     138        ParentColor = False
     139      end
     140      object ComboBoxLookupTableAction: TComboBox
     141        Left = 464
     142        Height = 35
     143        Top = 224
     144        Width = 134
     145        ItemHeight = 0
     146        ItemIndex = 0
     147        Items.Strings = (
     148          'Create'
     149          'Reference'
     150        )
     151        Style = csDropDownList
     152        TabOrder = 3
     153        Text = 'Create'
    111154      end
    112155    end
  • branches/generator/Forms/UFormRuleItem.pas

    r136 r137  
    1616    ButtonCancel: TButton;
    1717    ButtonOk: TButton;
     18    CheckBoxLookupTable: TCheckBox;
    1819    CheckBoxAnyExcept: TCheckBox;
    1920    CheckBoxEscapedString: TCheckBox;
    2021    CheckBoxOptional: TCheckBox;
    2122    CheckBoxRepetitive: TCheckBox;
     23    ComboBoxLookupTableAction: TComboBox;
    2224    ComboBoxType: TComboBox;
    2325    EditTerminal: TEdit;
    2426    EditTerminalFrom: TEdit;
    2527    EditTerminalTo: TEdit;
     28    Label1: TLabel;
    2629    Label2: TLabel;
    2730    LabelNonTerminal: TLabel;
     
    2932    LabelTerminal1: TLabel;
    3033    LabelTerminal2: TLabel;
    31     ListBox1: TListBox;
     34    ListBoxNonTerminals: TListBox;
     35    ListBoxLookupTable: TListBox;
    3236    PageControl1: TPageControl;
    3337    TabSheetTerminalRange: TTabSheet;
     
    3539    TabSheetNonTerminal: TTabSheet;
    3640    TabSheetSubItems: TTabSheet;
     41    procedure CheckBoxLookupTableChange(Sender: TObject);
    3742    procedure ComboBoxTypeChange(Sender: TObject);
    3843    procedure EditTerminalKeyPress(Sender: TObject; var Key: char);
     
    4449    FormRuleItems: TForm;
    4550    procedure ReloadNonTerminals(Grammer: TGrammer);
     51    procedure ReloadLookupTables(Grammer: TGrammer);
    4652  public
    4753    RuleItem: TRuleItem;
     
    7076end;
    7177
     78procedure TFormRuleItem.CheckBoxLookupTableChange(Sender: TObject);
     79begin
     80  UpdateInterface;
     81end;
     82
    7283procedure TFormRuleItem.EditTerminalKeyPress(Sender: TObject; var Key: char);
    7384begin
     
    99110  case RuleItem.RuleItemType of
    100111    ritTerminal: EditTerminal.SetFocus;
    101     ritNonTerminal: ListBox1.SetFocus;
     112    ritNonTerminal: ListBoxNonTerminals.SetFocus;
    102113    ritSubItems: TFormRuleItems(FormRuleItems).ListView1.SetFocus;
    103114    ritTerminalRange: EditTerminalFrom.SetFocus;
     
    110121  Rule: TRule;
    111122begin
    112   ListBox1.Items.Clear;
     123  ListBoxNonTerminals.Items.Clear;
    113124  for Rule in Grammer.Rules do begin
    114     ListBox1.Items.AddObject(Rule.Name, Rule);
    115   end;
    116   ListBox1.Sorted := True;
     125    ListBoxNonTerminals.Items.AddObject(Rule.Name, Rule);
     126  end;
     127  ListBoxNonTerminals.Sorted := True;
     128end;
     129
     130procedure TFormRuleItem.ReloadLookupTables(Grammer: TGrammer);
     131var
     132  Item: TLookupTable;
     133begin
     134  ListBoxLookupTable.Items.Clear;
     135  for Item in Grammer.LookupTables do begin
     136    ListBoxLookupTable.Items.AddObject(Item.Name, Item);
     137  end;
     138  ListBoxLookupTable.Sorted := True;
    117139end;
    118140
     
    122144  EditTerminal.Visible := RuleItem.RuleItemType = ritTerminal;
    123145  LabelTerminal.Visible := RuleItem.RuleItemType = ritTerminal;
    124   ListBox1.Visible := RuleItem.RuleItemType = ritNonTerminal;
     146  ListBoxNonTerminals.Visible := RuleItem.RuleItemType = ritNonTerminal;
    125147  LabelNonTerminal.Visible := RuleItem.RuleItemType = ritNonTerminal;
    126148  CheckBoxOptional.Enabled := RuleItem.ParentRule.Items.RuleType = rtAnd;
     
    128150  CheckBoxEscapedString.Enabled := (RuleItem.RuleItemType = ritTerminal) or
    129151    (RuleItem.RuleItemType = ritTerminalRange);
     152  ListBoxLookupTable.Enabled := CheckBoxLookupTable.Checked;
     153  ComboBoxLookupTableAction.Enabled := CheckBoxLookupTable.Checked;
    130154end;
    131155
     
    135159  ReloadNonTerminals(RuleItem.Grammer);
    136160  ComboBoxType.ItemIndex := Integer(RuleItem.RuleItemType);
    137   ListBox1.ItemIndex := ListBox1.Items.IndexOfObject(RuleItem.NonTerminal);
     161  ListBoxNonTerminals.ItemIndex := ListBoxNonTerminals.Items.IndexOfObject(RuleItem.NonTerminal);
    138162  EditTerminal.Text := RuleItem.Terminal;
    139163  EditTerminalFrom.Text := RuleItem.TerminalFrom;
     
    144168  TFormRuleItems(FormRuleItems).LoadData(RuleItem.SubItems);
    145169  CheckBoxEscapedString.Checked := RuleItem.EscapedStrings;
     170  // Lookup table
     171  CheckBoxLookupTable.Checked := RuleItem.LookupTableUsed;
     172  ReloadLookupTables(RuleItem.Grammer);
     173  ComboBoxLookupTableAction.ItemIndex := Integer(RuleItem.LookupTableAction);
     174  ListBoxLookupTable.ItemIndex := ListBoxLookupTable.Items.IndexOfObject(RuleItem.LookupTable);
    146175  UpdateInterface;
    147176end;
     
    155184  RuleItem.TerminalFrom := EditTerminalFrom.Text;
    156185  RuleItem.TerminalTo := EditTerminalTo.Text;
    157   if ListBox1.ItemIndex <> -1 then
    158     RuleItem.NonTerminal := TRule(ListBox1.Items.Objects[ListBox1.ItemIndex])
     186  if ListBoxNonTerminals.ItemIndex <> -1 then
     187    RuleItem.NonTerminal := TRule(ListBoxNonTerminals.Items.Objects[ListBoxNonTerminals.ItemIndex])
    159188    else RuleItem.NonTerminal := nil;
    160189  RuleItem.Optional := CheckBoxOptional.Checked;
     
    162191  RuleItem.AnyExcept := CheckBoxAnyExcept.Checked;
    163192  RuleItem.EscapedStrings := CheckBoxEscapedString.Checked;
     193  // Lookup table
     194  RuleItem.LookupTableUsed := CheckBoxLookupTable.Checked;
     195  RuleItem.LookupTableAction := TLookupTableAction(ComboBoxLookupTableAction.ItemIndex);
     196  if ListBoxLookupTable.ItemIndex <> -1 then
     197    RuleItem.LookupTable := TLookupTable(ListBoxLookupTable.Items.Objects[ListBoxLookupTable.ItemIndex])
     198    else RuleItem.LookupTable := nil;
    164199end;
    165200
  • branches/generator/Forms/UFormRules.lfm

    r129 r137  
    77  ClientHeight = 611
    88  ClientWidth = 857
    9   DesignTimePPI = 120
    109  OnClose = FormClose
    1110  OnCreate = FormCreate
    1211  OnShow = FormShow
    13   LCLVersion = '1.8.0.6'
     12  LCLVersion = '1.8.0.4'
    1413  object CoolBar1: TCoolBar
    1514    Left = 0
     
    2827      AnchorSideTop.Control = CoolBar1
    2928      Left = 24
    30       Height = 22
     29      Height = 28
    3130      Top = 5
    32       Width = 70
     31      Width = 88
    3332      Align = alNone
    3433      AutoSize = True
     
    4847      end
    4948      object ToolButton2: TToolButton
    50         Left = 24
     49        Left = 30
    5150        Top = 0
    5251        Action = AModify
    5352      end
    5453      object ToolButton3: TToolButton
    55         Left = 47
     54        Left = 59
    5655        Top = 0
    5756        Action = ARemove
     
    9493    TabOrder = 1
    9594    ViewStyle = vsReport
    96     OnCompare = ListView1Compare
    9795    OnData = ListView1Data
    9896    OnDblClick = ListView1DblClick
  • branches/generator/Forms/UFormRules.pas

    r130 r137  
    3535    procedure FormCreate(Sender: TObject);
    3636    procedure FormShow(Sender: TObject);
    37     procedure ListView1Compare(Sender: TObject; Item1, Item2: TListItem;
    38       Data: Integer; var Compare: Integer);
    3937    procedure ListView1Data(Sender: TObject; Item: TListItem);
    4038    procedure ListView1DblClick(Sender: TObject);
     
    7371  ReloadList;
    7472  UpdateInterface;
    75 end;
    76 
    77 procedure TFormRules.ListView1Compare(Sender: TObject; Item1, Item2: TListItem;
    78   Data: Integer; var Compare: Integer);
    79 begin
    80 
    8173end;
    8274
  • branches/generator/Languages/generator.cs.po

    r136 r137  
    3131#: tformgrammer.label2.caption
    3232msgid "White space rule:"
    33 msgstr ""
     33msgstr "Pravidlo bílÃœch znaků:"
     34
     35#: tformlookuptable.buttoncancel.caption
     36msgctxt "tformlookuptable.buttoncancel.caption"
     37msgid "Cancel"
     38msgstr "ZruÅ¡it"
     39
     40#: tformlookuptable.buttonok.caption
     41msgctxt "tformlookuptable.buttonok.caption"
     42msgid "Ok"
     43msgstr "Ok"
     44
     45#: tformlookuptable.caption
     46msgid "Lookup table"
     47msgstr "Hledací tabulka:"
     48
     49#: tformlookuptable.label1.caption
     50msgctxt "tformlookuptable.label1.caption"
     51msgid "Name:"
     52msgstr "Jméno:"
     53
     54#: tformlookuptables.aadd.caption
     55msgctxt "tformlookuptables.aadd.caption"
     56msgid "Add"
     57msgstr "Přidat"
     58
     59#: tformlookuptables.aadd.hint
     60msgctxt "tformlookuptables.aadd.hint"
     61msgid "Add"
     62msgstr "Přidat"
     63
     64#: tformlookuptables.amodify.caption
     65msgctxt "tformlookuptables.amodify.caption"
     66msgid "Modify"
     67msgstr "Upravit"
     68
     69#: tformlookuptables.amodify.hint
     70msgctxt "tformlookuptables.amodify.hint"
     71msgid "Modify"
     72msgstr "Upravit"
     73
     74#: tformlookuptables.aremove.caption
     75msgctxt "tformlookuptables.aremove.caption"
     76msgid "Remove"
     77msgstr "Odstranit"
     78
     79#: tformlookuptables.aremove.hint
     80msgctxt "tformlookuptables.aremove.hint"
     81msgid "Remove"
     82msgstr "Odstranit"
     83
     84#: tformlookuptables.caption
     85msgctxt "tformlookuptables.caption"
     86msgid "Lookup tables"
     87msgstr "Hledací tabulky:"
     88
     89#: tformlookuptables.listview1.columns[0].caption
     90msgctxt "tformlookuptables.listview1.columns[0].caption"
     91msgid "Name"
     92msgstr "Název"
    3493
    3594#: tformmain.abuildcompiler.caption
     
    51110msgstr "Nastavení"
    52111
     112#: tformmain.alookuptables.caption
     113msgctxt "tformmain.alookuptables.caption"
     114msgid "Lookup tables"
     115msgstr "Hledací tabulky"
     116
    53117#: tformmain.aprojectclose.caption
    54118msgid "Close"
     
    116180
    117181#: tformmain.menuitem8.caption
    118 msgid "Tools"
     182msgid "Grammer"
    119183msgstr "Nástroje"
    120184
     
    156220
    157221#: tformrule.label1.caption
     222msgctxt "tformrule.label1.caption"
    158223msgid "Name:"
    159224msgstr "Jméno:"
     
    202267msgctxt "tformruleitem.checkboxescapedstring.caption"
    203268msgid "Escaped strings"
    204 msgstr ""
     269msgstr "PrefixovanÃœ znaky"
     270
     271#: tformruleitem.checkboxlookuptable.caption
     272msgid "Use lookup table"
     273msgstr "Pouşít hledací tabulku"
    205274
    206275#: tformruleitem.checkboxoptional.caption
     
    211280msgid "Repetitive"
    212281msgstr "OpakovanÜ"
     282
     283#: tformruleitem.comboboxlookuptableaction.text
     284msgid "Create"
     285msgstr "Vytvořit"
     286
     287#: tformruleitem.label1.caption
     288msgid "Item action:"
     289msgstr "Akce poloÅŸky:"
    213290
    214291#: tformruleitem.label2.caption
     
    277354#: tformruleitems.checkboxwhitespace.caption
    278355msgid "With white spaces"
    279 msgstr ""
     356msgstr "S bílÃœmi znaky"
    280357
    281358#: tformruleitems.label1.caption
     
    356433msgid "Unsaved changes"
    357434msgstr "NeuloÅŸené změny"
    358 
  • branches/generator/Languages/generator.po

    r136 r137  
    2323msgstr ""
    2424
     25#: tformlookuptable.buttoncancel.caption
     26msgctxt "tformlookuptable.buttoncancel.caption"
     27msgid "Cancel"
     28msgstr ""
     29
     30#: tformlookuptable.buttonok.caption
     31msgctxt "tformlookuptable.buttonok.caption"
     32msgid "Ok"
     33msgstr ""
     34
     35#: tformlookuptable.caption
     36msgid "Lookup table"
     37msgstr ""
     38
     39#: tformlookuptable.label1.caption
     40msgctxt "tformlookuptable.label1.caption"
     41msgid "Name:"
     42msgstr ""
     43
     44#: tformlookuptables.aadd.caption
     45msgctxt "tformlookuptables.aadd.caption"
     46msgid "Add"
     47msgstr ""
     48
     49#: tformlookuptables.aadd.hint
     50msgctxt "tformlookuptables.aadd.hint"
     51msgid "Add"
     52msgstr ""
     53
     54#: tformlookuptables.amodify.caption
     55msgctxt "tformlookuptables.amodify.caption"
     56msgid "Modify"
     57msgstr ""
     58
     59#: tformlookuptables.amodify.hint
     60msgctxt "tformlookuptables.amodify.hint"
     61msgid "Modify"
     62msgstr ""
     63
     64#: tformlookuptables.aremove.caption
     65msgctxt "tformlookuptables.aremove.caption"
     66msgid "Remove"
     67msgstr ""
     68
     69#: tformlookuptables.aremove.hint
     70msgctxt "tformlookuptables.aremove.hint"
     71msgid "Remove"
     72msgstr ""
     73
     74#: tformlookuptables.caption
     75msgctxt "tformlookuptables.caption"
     76msgid "Lookup tables"
     77msgstr ""
     78
     79#: tformlookuptables.listview1.columns[0].caption
     80msgctxt "tformlookuptables.listview1.columns[0].caption"
     81msgid "Name"
     82msgstr ""
     83
    2584#: tformmain.abuildcompiler.caption
    2685msgid "Build compiler"
     
    41100msgstr ""
    42101
     102#: tformmain.alookuptables.caption
     103msgctxt "tformmain.alookuptables.caption"
     104msgid "Lookup tables"
     105msgstr ""
     106
    43107#: tformmain.aprojectclose.caption
    44108msgid "Close"
     
    106170
    107171#: tformmain.menuitem8.caption
    108 msgid "Tools"
     172msgid "Grammer"
    109173msgstr ""
    110174
     
    146210
    147211#: tformrule.label1.caption
     212msgctxt "tformrule.label1.caption"
    148213msgid "Name:"
    149214msgstr ""
     
    194259msgstr ""
    195260
     261#: tformruleitem.checkboxlookuptable.caption
     262msgid "Use lookup table"
     263msgstr ""
     264
    196265#: tformruleitem.checkboxoptional.caption
    197266msgid "Optional"
     
    200269#: tformruleitem.checkboxrepetitive.caption
    201270msgid "Repetitive"
     271msgstr ""
     272
     273#: tformruleitem.comboboxlookuptableaction.text
     274msgid "Create"
     275msgstr ""
     276
     277#: tformruleitem.label1.caption
     278msgid "Item action:"
    202279msgstr ""
    203280
  • branches/generator/UBuilder.pas

    r136 r137  
    163163    Add('    Position := StartPos;');
    164164    Add('    if Required then Error(''Expected "'' + Text + ''" but found "'' + ReadText + ''".'');');
    165     Add('  end;');
     165    Add('  end else WriteLn(''Expect: '' + Text);');
    166166    Add('end;');
    167167    Add('');
     
    178178    Add('    Position := StartPos;');
    179179    Add('    if Required then Error(''Expected "'' + CharFrom + ''" to "'' + CharTo + ''" but found "'' + ReadChar + ''".'');');
    180     Add('  end;');
     180    Add('  end else WriteLn(''ExpectRange: '' + CharFrom + ''..'' + CharTo + '': '' + ReadChar);');
    181181    Add('end;');
    182182    Add('');
     
    192192      Text := Text + '  OldPosition: TPosition;' + LineEnding;
    193193      Text := Text + 'begin' + LineEnding;
     194      //Text := Text + '  WriteLn(''Rule check: ' + Rule.Name + ''');';
    194195      Text := Text + '  Result := True;' + LineEnding;
    195196      Text := Text + FunctionBody;
     197      Text := Text + '  if Result then WriteLn(''Rule: ' + Rule.Name + ''');';
    196198      Text := Text + 'end;' + LineEnding + LineEnding;
    197199    end;
     
    223225      end;
    224226      rtAnd: begin
    225         if Assigned(Items.Grammer.WhiteSpaceRule) and Items.WithWhiteSpeaces
    226         and (I > 0) then begin
    227           Line := Line + Indent(IndentLevel) + 'repeat' + LineEnding;
    228           Inc(IndentLevel);
    229           Line := Line + Indent(IndentLevel) + 'if not Parse' +
    230             Items.Grammer.WhiteSpaceRule.Name + '(False)' +
    231             ' then Break;' + LineEnding;
    232           Dec(IndentLevel);
    233           Line := Line + Indent(IndentLevel) + 'until False;' + LineEnding;
    234         end;
    235 
    236227        if not Item.Optional then
    237228          Line := Line + Indent(IndentLevel) + 'Result := Result and ';
     
    256247          Indent(IndentLevel + 1) + 'Exit;' + LineEnding +
    257248          Indent(IndentLevel) + 'end;';
     249
     250        // Check white spaces
     251        if Assigned(Items.Grammer.WhiteSpaceRule) and Items.WithWhiteSpeaces
     252        then begin
     253          Line := Line + Indent(IndentLevel) + 'repeat' + LineEnding;
     254          Inc(IndentLevel);
     255          Line := Line + Indent(IndentLevel) + 'if not Parse' +
     256            Items.Grammer.WhiteSpaceRule.Name + '(False)' +
     257            ' then Break;' + LineEnding;
     258          Dec(IndentLevel);
     259          Line := Line + Indent(IndentLevel) + 'until False;' + LineEnding;
     260        end;
    258261      end;
    259262    end;
     
    302305    Add('  CloseFile(SourceFile);');
    303306    if Assigned(Grammer.TopRule) then
    304       Add('  Parser.Parse' + Grammer.TopRule.Name + ';');
     307      Add('  Parser.Parse' + Grammer.TopRule.Name + '(True);');
    305308    Add('  FreeAndNil(Parser);');
    306309    Add('end;');
     
    374377var
    375378  Item: TRuleItem;
     379  Line: string;
    376380begin
    377381  Result := '';
     382  Line := '';
    378383  with SourceFile do begin
    379384    for Item in Items do begin
    380385      case Item.RuleItemType of
    381         ritTerminal: Result := Result + '(Value = ''' + StringText(Item.Terminal, Item.EscapedStrings) + ''')';
    382         ritNonTerminal: Result := Result + 'Is' + Item.NonTerminalName + '(Value)';
    383         ritTerminalRange: Result := Result + '((Value > ''' + StringText(Item.TerminalFrom, Item.EscapedStrings) + ''') and (Value < ''' + StringText(Item.TerminalTo, Item.EscapedStrings) + '''))';
    384         ritSubItems: Result := Result + '(' + BuildTokenizerItems(SourceFile, Item.SubItems) + ')';
     386        ritTerminal: Line := Line + '(Value = ''' + StringText(Item.Terminal, Item.EscapedStrings) + ''')';
     387        ritNonTerminal: Line := Line + 'Is' + Item.NonTerminalName + '(Value)';
     388        ritTerminalRange: Line := Line + '((Value > ''' + StringText(Item.TerminalFrom, Item.EscapedStrings) + ''') and (Value < ''' + StringText(Item.TerminalTo, Item.EscapedStrings) + '''))';
     389        ritSubItems: Line := Line + '(' + BuildTokenizerItems(SourceFile, Item.SubItems) + ')';
    385390      end;
    386391      if Item <> Items[Items.Count - 1] then
    387         Result := Result + ' ' + RuleTypeText[Items.RuleType] + ' ';
    388     end;
     392        Line := Line + ' ' + RuleTypeText[Items.RuleType] + ' ';
     393      if Length(Line) > 80 then begin
     394        Result := Result + Line + LineEnding;
     395        Line := '';
     396      end;
     397    end;
     398    Result := Result + Line;
    389399  end;
    390400end;
  • branches/generator/UGrammer.pas

    r136 r137  
    1313  TGrammer = class;
    1414  TRuleItems = class;
     15  TLookupTable = class;
    1516
    1617  TRuleItemType = (ritTerminal, ritNonTerminal, ritSubItems, ritTerminalRange);
    1718  TGrammerNotation = (gnBnf, gnEbnf);
     19  TLookupTableAction = (taCreate, taReference);
    1820
    1921  { TRuleItem }
     
    3739    NonTerminal: TRule;
    3840    SubItems: TRuleItems;
     41    LookupTableUsed: Boolean;
     42    LookupTable: TLookupTable;
     43    LookupTableName: string;
     44    LookupTableAction: TLookupTableAction;
    3945    function GetCharLength: Integer;
    4046    procedure LoadFromXmlNode(Node: TDOMNode);
     
    115121  end;
    116122
     123  TLookupTableItem = class
     124    Name: string;
     125  end;
     126
     127  { TLookupTable }
     128
     129  TLookupTable = class
     130    Name: string;
     131    Grammer: TGrammer;
     132    Items: TFPGObjectList<TLookupTableItem>;
     133    procedure LoadFromXmlNode(Node: TDOMNode);
     134    procedure SaveToXmlNode(Node: TDOMNode);
     135    constructor Create;
     136    destructor Destroy; override;
     137  end;
     138
     139  { TLookupTables }
     140
     141  TLookupTables = class(TFPGObjectList<TLookupTable>)
     142    Grammer: TGrammer;
     143    function FindName(Name: string): TLookupTable;
     144    procedure LoadFromXmlNode(Node: TDOMNode);
     145    procedure SaveToXmlNode(Node: TDOMNode);
     146  end;
     147
    117148  { TGrammer }
    118149
     
    128159    FileName: string;
    129160    Rules: TRules;
     161    LookupTables: TLookupTables;
    130162    TopRule: TRule;
    131163    WhiteSpaceRule: TRule;
     
    151183implementation
    152184
     185{ TLookupTables }
     186
     187function TLookupTables.FindName(Name: string): TLookupTable;
     188var
     189  I: Integer;
     190begin
     191  I := 0;
     192  while (I < Count) and (Items[I].Name <> Name) do Inc(I);
     193  if I < Count then Result := Items[I]
     194    else Result := nil;
     195end;
     196
     197procedure TLookupTables.LoadFromXmlNode(Node: TDOMNode);
     198var
     199  RuleNode: TDOMNode;
     200  LookupTable: TLookupTable;
     201begin
     202  RuleNode := Node.FirstChild;
     203  while Assigned(RuleNode) do begin
     204    if RuleNode.NodeName = 'LookupTable' then begin
     205      LookupTable := TLookupTable.Create;
     206      LookupTable.Grammer := Grammer;
     207      LookupTable.LoadFromXmlNode(RuleNode);
     208      Add(LookupTable);
     209    end;
     210    RuleNode := RuleNode.NextSibling;
     211  end;
     212end;
     213
     214procedure TLookupTables.SaveToXmlNode(Node: TDOMNode);
     215var
     216  LookupTable: TLookupTable;
     217  RuleNode: TDOMNode;
     218begin
     219  for LookupTable in Self do begin
     220    RuleNode := Node.OwnerDocument.CreateElement('LookupTable');
     221    LookupTable.SaveToXmlNode(RuleNode);
     222    Node.AppendChild(RuleNode);
     223  end;
     224end;
     225
     226{ TLookupTable }
     227
     228procedure TLookupTable.LoadFromXmlNode(Node: TDOMNode);
     229begin
     230  Name := ReadString(Node, 'Name', '');
     231end;
     232
     233procedure TLookupTable.SaveToXmlNode(Node: TDOMNode);
     234begin
     235  WriteString(Node, 'Name', Name);
     236end;
     237
     238constructor TLookupTable.Create;
     239begin
     240  Items := TFPGObjectList<TLookupTableItem>.Create;
     241end;
     242
     243destructor TLookupTable.Destroy;
     244begin
     245  FreeAndNil(Items);
     246  inherited Destroy;
     247end;
     248
    153249{ TGrammer }
    154250
     
    188284        Rules.LoadFromXmlNode(RulesNode);
    189285      end;
     286      RulesNode := RootNode.FindNode('LookupTables');
     287      if Assigned(RulesNode) then begin
     288        LookupTables.LoadFromXmlNode(RulesNode);
     289      end;
    190290
    191291      TopRule := Rules.FindName(ReadString(RootNode, 'TopRule', ''));
     
    217317    Rules.SaveToXmlNode(RulesNode);
    218318
     319    RulesNode := Doc.CreateElement('LookupTables');
     320    RootNode.AppendChild(RulesNode);
     321    LookupTables.SaveToXmlNode(RulesNode);
     322
    219323    if Assigned(TopRule) then
    220324      WriteString(RootNode, 'TopRule', TopRule.Name);
     
    239343  Rules := TRules.Create;
    240344  Rules.Grammer := Self;
     345  LookupTables := TLookupTables.Create;
     346  LookupTables.Grammer := Self;
    241347end;
    242348
     
    244350begin
    245351  DoDestroy;
     352  FreeAndNil(LookupTables);
    246353  FreeAndNil(Rules);
    247354  inherited Destroy;
     
    297404    end;
    298405  end;
     406  WriteBoolean(Node, 'LookupTableUsed', LookupTableUsed);
     407  WriteString(Node, 'LookupTable', LookupTableName);
     408  WriteInteger(Node, 'LookupTableAction', Integer(LookupTableAction));
    299409end;
    300410
     
    407517    end;
    408518  end;
     519  LookupTableUsed := ReadBoolean(Node, 'LookupTableUsed', False);
     520  LookupTableName := ReadString(Node, 'LookupTable', '');
     521  LookupTableAction := TLookupTableAction(ReadInteger(Node, 'LookupTableAction', 0));
    409522end;
    410523
     
    430543  RuleItem: TRuleItem;
    431544begin
    432   for RuleItem in Self do
     545  for RuleItem in Self do begin
    433546    case RuleItem.RuleItemType of
    434547      ritNonTerminal: RuleItem.NonTerminal := Grammer.Rules.FindName(RuleItem.NonTerminalName);
    435548      ritSubItems: RuleItem.SubItems.UpdateRuleReference;
    436549    end;
     550    RuleItem.LookupTable := Grammer.LookupTables.FindName(RuleItem.LookupTableName);
     551  end;
    437552end;
    438553
  • branches/generator/generator.lpi

    r129 r137  
    8585      </Item4>
    8686    </RequiredPackages>
    87     <Units Count="10">
     87    <Units Count="12">
    8888      <Unit0>
    8989        <Filename Value="generator.lpr"/>
     
    147147        <IsPartOfProject Value="True"/>
    148148      </Unit9>
     149      <Unit10>
     150        <Filename Value="Forms/UFormLookupTables.pas"/>
     151        <IsPartOfProject Value="True"/>
     152        <ComponentName Value="FormLookupTables"/>
     153        <ResourceBaseClass Value="Form"/>
     154      </Unit10>
     155      <Unit11>
     156        <Filename Value="Forms/UFormLookupTable.pas"/>
     157        <IsPartOfProject Value="True"/>
     158        <ComponentName Value="FormLookupTable"/>
     159        <ResourceBaseClass Value="Form"/>
     160      </Unit11>
    149161    </Units>
    150162  </ProjectOptions>
  • branches/generator/generator.lpr

    r130 r137  
    99  Interfaces, // this includes the LCL widgetset
    1010  Forms, UCore, Common, TemplateGenerics, UFormMain, SysUtils, UBuilder,
    11   UFormRules
     11  UFormRules, UFormLookupTables, UFormLookupTable
    1212  { you can add units after this };
    1313
     
    3232  Application.CreateForm(TFormMain, FormMain);
    3333  Application.CreateForm(TFormRules, FormRules);
     34  Application.CreateForm(TFormLookupTable, FormLookupTable);
    3435  Application.Run;
    3536end.
  • branches/generator/pascal.grm

    r136 r137  
    1616          <EscapedStrings>0</EscapedStrings>
    1717          <Terminal>begin</Terminal>
    18         </RuleItem>
    19         <RuleItem>
    20           <Type>1</Type>
     18          <LookupTableUsed>0</LookupTableUsed>
     19          <LookupTable/>
     20          <LookupTableAction>0</LookupTableAction>
     21        </RuleItem>
     22        <RuleItem>
     23          <Type>2</Type>
    2124          <Optional>-1</Optional>
    2225          <Repetitive>-1</Repetitive>
    2326          <AnyExcept>0</AnyExcept>
    2427          <EscapedStrings>0</EscapedStrings>
    25           <NonTerminal>Statement</NonTerminal>
     28          <SubItems>
     29            <Type>0</Type>
     30            <WithWhiteSpaces>-1</WithWhiteSpaces>
     31            <RuleItem>
     32              <Type>1</Type>
     33              <Optional>0</Optional>
     34              <Repetitive>0</Repetitive>
     35              <AnyExcept>0</AnyExcept>
     36              <EscapedStrings>0</EscapedStrings>
     37              <NonTerminal>Statement</NonTerminal>
     38              <LookupTableUsed>0</LookupTableUsed>
     39              <LookupTable/>
     40              <LookupTableAction>0</LookupTableAction>
     41            </RuleItem>
     42            <RuleItem>
     43              <Type>0</Type>
     44              <Optional>0</Optional>
     45              <Repetitive>0</Repetitive>
     46              <AnyExcept>0</AnyExcept>
     47              <EscapedStrings>0</EscapedStrings>
     48              <Terminal>;</Terminal>
     49              <LookupTableUsed>0</LookupTableUsed>
     50              <LookupTable/>
     51              <LookupTableAction>0</LookupTableAction>
     52            </RuleItem>
     53          </SubItems>
     54          <LookupTableUsed>0</LookupTableUsed>
     55          <LookupTable/>
     56          <LookupTableAction>0</LookupTableAction>
    2657        </RuleItem>
    2758        <RuleItem>
     
    3263          <EscapedStrings>0</EscapedStrings>
    3364          <Terminal>end</Terminal>
     65          <LookupTableUsed>0</LookupTableUsed>
     66          <LookupTable/>
     67          <LookupTableAction>0</LookupTableAction>
    3468        </RuleItem>
    3569      </RuleItems>
     
    4983          <EscapedStrings>0</EscapedStrings>
    5084          <Terminal>if</Terminal>
     85          <LookupTableUsed>0</LookupTableUsed>
     86          <LookupTable/>
     87          <LookupTableAction>0</LookupTableAction>
    5188        </RuleItem>
    5289        <RuleItem>
     
    5794          <EscapedStrings>0</EscapedStrings>
    5895          <NonTerminal>Expression</NonTerminal>
     96          <LookupTableUsed>0</LookupTableUsed>
     97          <LookupTable/>
     98          <LookupTableAction>0</LookupTableAction>
    5999        </RuleItem>
    60100        <RuleItem>
     
    65105          <EscapedStrings>0</EscapedStrings>
    66106          <Terminal>then</Terminal>
     107          <LookupTableUsed>0</LookupTableUsed>
     108          <LookupTable/>
     109          <LookupTableAction>0</LookupTableAction>
    67110        </RuleItem>
    68111        <RuleItem>
     
    73116          <EscapedStrings>0</EscapedStrings>
    74117          <NonTerminal>Statement</NonTerminal>
     118          <LookupTableUsed>0</LookupTableUsed>
     119          <LookupTable/>
     120          <LookupTableAction>0</LookupTableAction>
    75121        </RuleItem>
    76122        <RuleItem>
     
    90136              <EscapedStrings>0</EscapedStrings>
    91137              <Terminal>else</Terminal>
     138              <LookupTableUsed>0</LookupTableUsed>
     139              <LookupTable/>
     140              <LookupTableAction>0</LookupTableAction>
    92141            </RuleItem>
    93142            <RuleItem>
     
    98147              <EscapedStrings>0</EscapedStrings>
    99148              <NonTerminal>Statement</NonTerminal>
     149              <LookupTableUsed>0</LookupTableUsed>
     150              <LookupTable/>
     151              <LookupTableAction>0</LookupTableAction>
    100152            </RuleItem>
    101153          </SubItems>
     154          <LookupTableUsed>0</LookupTableUsed>
     155          <LookupTable/>
     156          <LookupTableAction>0</LookupTableAction>
    102157        </RuleItem>
    103158      </RuleItems>
     
    117172          <EscapedStrings>0</EscapedStrings>
    118173          <Terminal>while</Terminal>
     174          <LookupTableUsed>0</LookupTableUsed>
     175          <LookupTable/>
     176          <LookupTableAction>0</LookupTableAction>
    119177        </RuleItem>
    120178        <RuleItem>
     
    125183          <EscapedStrings>0</EscapedStrings>
    126184          <NonTerminal>Expression</NonTerminal>
     185          <LookupTableUsed>0</LookupTableUsed>
     186          <LookupTable/>
     187          <LookupTableAction>0</LookupTableAction>
    127188        </RuleItem>
    128189        <RuleItem>
     
    133194          <EscapedStrings>0</EscapedStrings>
    134195          <Terminal>do</Terminal>
     196          <LookupTableUsed>0</LookupTableUsed>
     197          <LookupTable/>
     198          <LookupTableAction>0</LookupTableAction>
    135199        </RuleItem>
    136200        <RuleItem>
     
    141205          <EscapedStrings>0</EscapedStrings>
    142206          <NonTerminal>Statement</NonTerminal>
     207          <LookupTableUsed>0</LookupTableUsed>
     208          <LookupTable/>
     209          <LookupTableAction>0</LookupTableAction>
    143210        </RuleItem>
    144211      </RuleItems>
     
    158225          <EscapedStrings>0</EscapedStrings>
    159226          <Terminal>repeat</Terminal>
     227          <LookupTableUsed>0</LookupTableUsed>
     228          <LookupTable/>
     229          <LookupTableAction>0</LookupTableAction>
    160230        </RuleItem>
    161231        <RuleItem>
     
    166236          <EscapedStrings>0</EscapedStrings>
    167237          <NonTerminal>Statement</NonTerminal>
     238          <LookupTableUsed>0</LookupTableUsed>
     239          <LookupTable/>
     240          <LookupTableAction>0</LookupTableAction>
    168241        </RuleItem>
    169242        <RuleItem>
     
    174247          <EscapedStrings>0</EscapedStrings>
    175248          <Terminal>until</Terminal>
     249          <LookupTableUsed>0</LookupTableUsed>
     250          <LookupTable/>
     251          <LookupTableAction>0</LookupTableAction>
    176252        </RuleItem>
    177253        <RuleItem>
     
    182258          <EscapedStrings>0</EscapedStrings>
    183259          <NonTerminal>Expression</NonTerminal>
     260          <LookupTableUsed>0</LookupTableUsed>
     261          <LookupTable/>
     262          <LookupTableAction>0</LookupTableAction>
    184263        </RuleItem>
    185264      </RuleItems>
     
    199278          <EscapedStrings>0</EscapedStrings>
    200279          <Terminal>for</Terminal>
     280          <LookupTableUsed>0</LookupTableUsed>
     281          <LookupTable/>
     282          <LookupTableAction>0</LookupTableAction>
    201283        </RuleItem>
    202284        <RuleItem>
     
    207289          <EscapedStrings>0</EscapedStrings>
    208290          <NonTerminal>VariableReference</NonTerminal>
     291          <LookupTableUsed>0</LookupTableUsed>
     292          <LookupTable/>
     293          <LookupTableAction>0</LookupTableAction>
    209294        </RuleItem>
    210295        <RuleItem>
     
    215300          <EscapedStrings>0</EscapedStrings>
    216301          <Terminal>:=</Terminal>
     302          <LookupTableUsed>0</LookupTableUsed>
     303          <LookupTable/>
     304          <LookupTableAction>0</LookupTableAction>
    217305        </RuleItem>
    218306        <RuleItem>
     
    223311          <EscapedStrings>0</EscapedStrings>
    224312          <NonTerminal>Expression</NonTerminal>
     313          <LookupTableUsed>0</LookupTableUsed>
     314          <LookupTable/>
     315          <LookupTableAction>0</LookupTableAction>
    225316        </RuleItem>
    226317        <RuleItem>
     
    231322          <EscapedStrings>0</EscapedStrings>
    232323          <Terminal>to</Terminal>
     324          <LookupTableUsed>0</LookupTableUsed>
     325          <LookupTable/>
     326          <LookupTableAction>0</LookupTableAction>
    233327        </RuleItem>
    234328        <RuleItem>
     
    239333          <EscapedStrings>0</EscapedStrings>
    240334          <NonTerminal>Expression</NonTerminal>
     335          <LookupTableUsed>0</LookupTableUsed>
     336          <LookupTable/>
     337          <LookupTableAction>0</LookupTableAction>
    241338        </RuleItem>
    242339        <RuleItem>
     
    247344          <EscapedStrings>0</EscapedStrings>
    248345          <Terminal>do</Terminal>
     346          <LookupTableUsed>0</LookupTableUsed>
     347          <LookupTable/>
     348          <LookupTableAction>0</LookupTableAction>
    249349        </RuleItem>
    250350        <RuleItem>
     
    255355          <EscapedStrings>0</EscapedStrings>
    256356          <NonTerminal>Statement</NonTerminal>
     357          <LookupTableUsed>0</LookupTableUsed>
     358          <LookupTable/>
     359          <LookupTableAction>0</LookupTableAction>
    257360        </RuleItem>
    258361      </RuleItems>
     
    272375          <EscapedStrings>0</EscapedStrings>
    273376          <Terminal>with</Terminal>
     377          <LookupTableUsed>0</LookupTableUsed>
     378          <LookupTable/>
     379          <LookupTableAction>0</LookupTableAction>
    274380        </RuleItem>
    275381        <RuleItem>
     
    280386          <EscapedStrings>0</EscapedStrings>
    281387          <NonTerminal>VariableReference</NonTerminal>
     388          <LookupTableUsed>0</LookupTableUsed>
     389          <LookupTable/>
     390          <LookupTableAction>0</LookupTableAction>
    282391        </RuleItem>
    283392        <RuleItem>
     
    288397          <EscapedStrings>0</EscapedStrings>
    289398          <Terminal>do</Terminal>
     399          <LookupTableUsed>0</LookupTableUsed>
     400          <LookupTable/>
     401          <LookupTableAction>0</LookupTableAction>
    290402        </RuleItem>
    291403        <RuleItem>
     
    296408          <EscapedStrings>0</EscapedStrings>
    297409          <NonTerminal>Statement</NonTerminal>
     410          <LookupTableUsed>0</LookupTableUsed>
     411          <LookupTable/>
     412          <LookupTableAction>0</LookupTableAction>
    298413        </RuleItem>
    299414      </RuleItems>
     
    313428          <EscapedStrings>0</EscapedStrings>
    314429          <Terminal>case</Terminal>
     430          <LookupTableUsed>0</LookupTableUsed>
     431          <LookupTable/>
     432          <LookupTableAction>0</LookupTableAction>
    315433        </RuleItem>
    316434        <RuleItem>
     
    321439          <EscapedStrings>0</EscapedStrings>
    322440          <NonTerminal>Expression</NonTerminal>
     441          <LookupTableUsed>0</LookupTableUsed>
     442          <LookupTable/>
     443          <LookupTableAction>0</LookupTableAction>
    323444        </RuleItem>
    324445        <RuleItem>
     
    329450          <EscapedStrings>0</EscapedStrings>
    330451          <Terminal>of</Terminal>
     452          <LookupTableUsed>0</LookupTableUsed>
     453          <LookupTable/>
     454          <LookupTableAction>0</LookupTableAction>
    331455        </RuleItem>
    332456        <RuleItem>
     
    337461          <EscapedStrings>0</EscapedStrings>
    338462          <NonTerminal>CaseOfState</NonTerminal>
     463          <LookupTableUsed>0</LookupTableUsed>
     464          <LookupTable/>
     465          <LookupTableAction>0</LookupTableAction>
    339466        </RuleItem>
    340467        <RuleItem>
     
    354481              <EscapedStrings>0</EscapedStrings>
    355482              <Terminal>else</Terminal>
     483              <LookupTableUsed>0</LookupTableUsed>
     484              <LookupTable/>
     485              <LookupTableAction>0</LookupTableAction>
    356486            </RuleItem>
    357487            <RuleItem>
     
    362492              <EscapedStrings>0</EscapedStrings>
    363493              <NonTerminal>Statement</NonTerminal>
     494              <LookupTableUsed>0</LookupTableUsed>
     495              <LookupTable/>
     496              <LookupTableAction>0</LookupTableAction>
    364497            </RuleItem>
    365498            <RuleItem>
     
    370503              <EscapedStrings>0</EscapedStrings>
    371504              <Terminal>;</Terminal>
     505              <LookupTableUsed>0</LookupTableUsed>
     506              <LookupTable/>
     507              <LookupTableAction>0</LookupTableAction>
    372508            </RuleItem>
    373509          </SubItems>
     510          <LookupTableUsed>0</LookupTableUsed>
     511          <LookupTable/>
     512          <LookupTableAction>0</LookupTableAction>
    374513        </RuleItem>
    375514        <RuleItem>
     
    380519          <EscapedStrings>0</EscapedStrings>
    381520          <Terminal>end</Terminal>
     521          <LookupTableUsed>0</LookupTableUsed>
     522          <LookupTable/>
     523          <LookupTableAction>0</LookupTableAction>
    382524        </RuleItem>
    383525      </RuleItems>
     
    397539          <EscapedStrings>0</EscapedStrings>
    398540          <NonTerminal>VariableReference</NonTerminal>
     541          <LookupTableUsed>0</LookupTableUsed>
     542          <LookupTable/>
     543          <LookupTableAction>0</LookupTableAction>
    399544        </RuleItem>
    400545        <RuleItem>
     
    405550          <EscapedStrings>0</EscapedStrings>
    406551          <Terminal>:=</Terminal>
     552          <LookupTableUsed>0</LookupTableUsed>
     553          <LookupTable/>
     554          <LookupTableAction>0</LookupTableAction>
    407555        </RuleItem>
    408556        <RuleItem>
     
    413561          <EscapedStrings>0</EscapedStrings>
    414562          <NonTerminal>Expression</NonTerminal>
     563          <LookupTableUsed>0</LookupTableUsed>
     564          <LookupTable/>
     565          <LookupTableAction>0</LookupTableAction>
    415566        </RuleItem>
    416567      </RuleItems>
     
    430581          <EscapedStrings>0</EscapedStrings>
    431582          <NonTerminal>BeginEnd</NonTerminal>
     583          <LookupTableUsed>0</LookupTableUsed>
     584          <LookupTable/>
     585          <LookupTableAction>0</LookupTableAction>
    432586        </RuleItem>
    433587        <RuleItem>
     
    438592          <EscapedStrings>0</EscapedStrings>
    439593          <NonTerminal>IfThenElse</NonTerminal>
     594          <LookupTableUsed>0</LookupTableUsed>
     595          <LookupTable/>
     596          <LookupTableAction>0</LookupTableAction>
    440597        </RuleItem>
    441598        <RuleItem>
     
    446603          <EscapedStrings>0</EscapedStrings>
    447604          <NonTerminal>WhileDo</NonTerminal>
     605          <LookupTableUsed>0</LookupTableUsed>
     606          <LookupTable/>
     607          <LookupTableAction>0</LookupTableAction>
    448608        </RuleItem>
    449609        <RuleItem>
     
    454614          <EscapedStrings>0</EscapedStrings>
    455615          <NonTerminal>RepeatUntil</NonTerminal>
     616          <LookupTableUsed>0</LookupTableUsed>
     617          <LookupTable/>
     618          <LookupTableAction>0</LookupTableAction>
    456619        </RuleItem>
    457620        <RuleItem>
     
    462625          <EscapedStrings>0</EscapedStrings>
    463626          <NonTerminal>ForToDo</NonTerminal>
     627          <LookupTableUsed>0</LookupTableUsed>
     628          <LookupTable/>
     629          <LookupTableAction>0</LookupTableAction>
    464630        </RuleItem>
    465631        <RuleItem>
     
    470636          <EscapedStrings>0</EscapedStrings>
    471637          <NonTerminal>ForInDo</NonTerminal>
     638          <LookupTableUsed>0</LookupTableUsed>
     639          <LookupTable/>
     640          <LookupTableAction>0</LookupTableAction>
    472641        </RuleItem>
    473642        <RuleItem>
     
    478647          <EscapedStrings>0</EscapedStrings>
    479648          <NonTerminal>WithDo</NonTerminal>
     649          <LookupTableUsed>0</LookupTableUsed>
     650          <LookupTable/>
     651          <LookupTableAction>0</LookupTableAction>
    480652        </RuleItem>
    481653        <RuleItem>
     
    486658          <EscapedStrings>0</EscapedStrings>
    487659          <NonTerminal>CaseOf</NonTerminal>
     660          <LookupTableUsed>0</LookupTableUsed>
     661          <LookupTable/>
     662          <LookupTableAction>0</LookupTableAction>
    488663        </RuleItem>
    489664        <RuleItem>
     
    494669          <EscapedStrings>0</EscapedStrings>
    495670          <NonTerminal>Assignment</NonTerminal>
     671          <LookupTableUsed>0</LookupTableUsed>
     672          <LookupTable/>
     673          <LookupTableAction>0</LookupTableAction>
     674        </RuleItem>
     675        <RuleItem>
     676          <Type>1</Type>
     677          <Optional>0</Optional>
     678          <Repetitive>0</Repetitive>
     679          <AnyExcept>0</AnyExcept>
     680          <EscapedStrings>0</EscapedStrings>
     681          <NonTerminal>FunctionCall</NonTerminal>
     682          <LookupTableUsed>0</LookupTableUsed>
     683          <LookupTable/>
     684          <LookupTableAction>0</LookupTableAction>
    496685        </RuleItem>
    497686      </RuleItems>
     
    511700          <EscapedStrings>0</EscapedStrings>
    512701          <NonTerminal>Term</NonTerminal>
     702          <LookupTableUsed>0</LookupTableUsed>
     703          <LookupTable/>
     704          <LookupTableAction>0</LookupTableAction>
    513705        </RuleItem>
    514706      </RuleItems>
     
    528720          <EscapedStrings>0</EscapedStrings>
    529721          <NonTerminal>Identifier</NonTerminal>
     722          <LookupTableUsed>-1</LookupTableUsed>
     723          <LookupTable/>
     724          <LookupTableAction>1</LookupTableAction>
    530725        </RuleItem>
    531726      </RuleItems>
     
    554749              <EscapedStrings>0</EscapedStrings>
    555750              <Terminal>program</Terminal>
     751              <LookupTableUsed>0</LookupTableUsed>
     752              <LookupTable/>
     753              <LookupTableAction>0</LookupTableAction>
    556754            </RuleItem>
    557755            <RuleItem>
     
    562760              <EscapedStrings>0</EscapedStrings>
    563761              <NonTerminal>ProgramName</NonTerminal>
     762              <LookupTableUsed>0</LookupTableUsed>
     763              <LookupTable/>
     764              <LookupTableAction>0</LookupTableAction>
    564765            </RuleItem>
    565766            <RuleItem>
     
    570771              <EscapedStrings>0</EscapedStrings>
    571772              <Terminal>;</Terminal>
     773              <LookupTableUsed>0</LookupTableUsed>
     774              <LookupTable/>
     775              <LookupTableAction>0</LookupTableAction>
    572776            </RuleItem>
    573777          </SubItems>
     778          <LookupTableUsed>0</LookupTableUsed>
     779          <LookupTable/>
     780          <LookupTableAction>0</LookupTableAction>
    574781        </RuleItem>
    575782        <RuleItem>
     
    580787          <EscapedStrings>0</EscapedStrings>
    581788          <NonTerminal>Uses</NonTerminal>
     789          <LookupTableUsed>0</LookupTableUsed>
     790          <LookupTable/>
     791          <LookupTableAction>0</LookupTableAction>
    582792        </RuleItem>
    583793        <RuleItem>
     
    588798          <EscapedStrings>0</EscapedStrings>
    589799          <NonTerminal>DeclarationBlock</NonTerminal>
     800          <LookupTableUsed>0</LookupTableUsed>
     801          <LookupTable/>
     802          <LookupTableAction>0</LookupTableAction>
    590803        </RuleItem>
    591804        <RuleItem>
     
    596809          <EscapedStrings>0</EscapedStrings>
    597810          <Terminal>.</Terminal>
     811          <LookupTableUsed>0</LookupTableUsed>
     812          <LookupTable/>
     813          <LookupTableAction>0</LookupTableAction>
    598814        </RuleItem>
    599815      </RuleItems>
     
    613829          <EscapedStrings>0</EscapedStrings>
    614830          <Terminal>uses</Terminal>
     831          <LookupTableUsed>0</LookupTableUsed>
     832          <LookupTable/>
     833          <LookupTableAction>0</LookupTableAction>
    615834        </RuleItem>
    616835        <RuleItem>
     
    621840          <EscapedStrings>0</EscapedStrings>
    622841          <NonTerminal>UnitReference</NonTerminal>
     842          <LookupTableUsed>0</LookupTableUsed>
     843          <LookupTable/>
     844          <LookupTableAction>0</LookupTableAction>
    623845        </RuleItem>
    624846        <RuleItem>
     
    638860              <EscapedStrings>0</EscapedStrings>
    639861              <Terminal>,</Terminal>
     862              <LookupTableUsed>0</LookupTableUsed>
     863              <LookupTable/>
     864              <LookupTableAction>0</LookupTableAction>
    640865            </RuleItem>
    641866            <RuleItem>
     
    646871              <EscapedStrings>0</EscapedStrings>
    647872              <NonTerminal>UnitReference</NonTerminal>
     873              <LookupTableUsed>0</LookupTableUsed>
     874              <LookupTable/>
     875              <LookupTableAction>0</LookupTableAction>
    648876            </RuleItem>
    649877          </SubItems>
     878          <LookupTableUsed>0</LookupTableUsed>
     879          <LookupTable/>
     880          <LookupTableAction>0</LookupTableAction>
    650881        </RuleItem>
    651882        <RuleItem>
     
    656887          <EscapedStrings>0</EscapedStrings>
    657888          <Terminal>;</Terminal>
     889          <LookupTableUsed>0</LookupTableUsed>
     890          <LookupTable/>
     891          <LookupTableAction>0</LookupTableAction>
    658892        </RuleItem>
    659893      </RuleItems>
     
    673907          <EscapedStrings>0</EscapedStrings>
    674908          <NonTerminal>Identifier</NonTerminal>
     909          <LookupTableUsed>0</LookupTableUsed>
     910          <LookupTable/>
     911          <LookupTableAction>0</LookupTableAction>
    675912        </RuleItem>
    676913      </RuleItems>
     
    690927          <EscapedStrings>0</EscapedStrings>
    691928          <Terminal>function</Terminal>
     929          <LookupTableUsed>0</LookupTableUsed>
     930          <LookupTable/>
     931          <LookupTableAction>0</LookupTableAction>
    692932        </RuleItem>
    693933        <RuleItem>
     
    698938          <EscapedStrings>0</EscapedStrings>
    699939          <NonTerminal>FunctionName</NonTerminal>
     940          <LookupTableUsed>0</LookupTableUsed>
     941          <LookupTable/>
     942          <LookupTableAction>0</LookupTableAction>
    700943        </RuleItem>
    701944        <RuleItem>
     
    706949          <EscapedStrings>0</EscapedStrings>
    707950          <NonTerminal>FunctionParameters</NonTerminal>
     951          <LookupTableUsed>0</LookupTableUsed>
     952          <LookupTable/>
     953          <LookupTableAction>0</LookupTableAction>
    708954        </RuleItem>
    709955        <RuleItem>
     
    714960          <EscapedStrings>0</EscapedStrings>
    715961          <Terminal>:</Terminal>
     962          <LookupTableUsed>0</LookupTableUsed>
     963          <LookupTable/>
     964          <LookupTableAction>0</LookupTableAction>
    716965        </RuleItem>
    717966        <RuleItem>
     
    722971          <EscapedStrings>0</EscapedStrings>
    723972          <NonTerminal>TypeReference</NonTerminal>
     973          <LookupTableUsed>0</LookupTableUsed>
     974          <LookupTable/>
     975          <LookupTableAction>0</LookupTableAction>
    724976        </RuleItem>
    725977        <RuleItem>
     
    730982          <EscapedStrings>0</EscapedStrings>
    731983          <Terminal>;</Terminal>
     984          <LookupTableUsed>0</LookupTableUsed>
     985          <LookupTable/>
     986          <LookupTableAction>0</LookupTableAction>
    732987        </RuleItem>
    733988        <RuleItem>
     
    738993          <EscapedStrings>0</EscapedStrings>
    739994          <NonTerminal>DeclarationBlock</NonTerminal>
     995          <LookupTableUsed>0</LookupTableUsed>
     996          <LookupTable/>
     997          <LookupTableAction>0</LookupTableAction>
    740998        </RuleItem>
    741999        <RuleItem>
     
    7461004          <EscapedStrings>0</EscapedStrings>
    7471005          <Terminal>;</Terminal>
     1006          <LookupTableUsed>0</LookupTableUsed>
     1007          <LookupTable/>
     1008          <LookupTableAction>0</LookupTableAction>
    7481009        </RuleItem>
    7491010      </RuleItems>
     
    7631024          <EscapedStrings>0</EscapedStrings>
    7641025          <NonTerminal>Letter</NonTerminal>
     1026          <LookupTableUsed>0</LookupTableUsed>
     1027          <LookupTable/>
     1028          <LookupTableAction>0</LookupTableAction>
    7651029        </RuleItem>
    7661030        <RuleItem>
     
    7801044              <EscapedStrings>0</EscapedStrings>
    7811045              <NonTerminal>Letter</NonTerminal>
     1046              <LookupTableUsed>0</LookupTableUsed>
     1047              <LookupTable/>
     1048              <LookupTableAction>0</LookupTableAction>
    7821049            </RuleItem>
    7831050            <RuleItem>
     
    7881055              <EscapedStrings>0</EscapedStrings>
    7891056              <NonTerminal>Digit</NonTerminal>
     1057              <LookupTableUsed>0</LookupTableUsed>
     1058              <LookupTable/>
     1059              <LookupTableAction>0</LookupTableAction>
    7901060            </RuleItem>
    7911061            <RuleItem>
     
    7961066              <EscapedStrings>0</EscapedStrings>
    7971067              <Terminal>_</Terminal>
     1068              <LookupTableUsed>0</LookupTableUsed>
     1069              <LookupTable/>
     1070              <LookupTableAction>0</LookupTableAction>
    7981071            </RuleItem>
    7991072          </SubItems>
     1073          <LookupTableUsed>0</LookupTableUsed>
     1074          <LookupTable/>
     1075          <LookupTableAction>0</LookupTableAction>
    8001076        </RuleItem>
    8011077      </RuleItems>
     
    8151091          <EscapedStrings>0</EscapedStrings>
    8161092          <Terminal>var</Terminal>
     1093          <LookupTableUsed>0</LookupTableUsed>
     1094          <LookupTable/>
     1095          <LookupTableAction>0</LookupTableAction>
    8171096        </RuleItem>
    8181097        <RuleItem>
     
    8231102          <EscapedStrings>0</EscapedStrings>
    8241103          <NonTerminal>VariableDefinition</NonTerminal>
     1104          <LookupTableUsed>0</LookupTableUsed>
     1105          <LookupTable/>
     1106          <LookupTableAction>0</LookupTableAction>
    8251107        </RuleItem>
    8261108      </RuleItems>
     
    8401122          <EscapedStrings>0</EscapedStrings>
    8411123          <Terminal>(</Terminal>
     1124          <LookupTableUsed>0</LookupTableUsed>
     1125          <LookupTable/>
     1126          <LookupTableAction>0</LookupTableAction>
    8421127        </RuleItem>
    8431128        <RuleItem>
     
    8481133          <EscapedStrings>0</EscapedStrings>
    8491134          <NonTerminal>FunctionParameter</NonTerminal>
     1135          <LookupTableUsed>0</LookupTableUsed>
     1136          <LookupTable/>
     1137          <LookupTableAction>0</LookupTableAction>
    8501138        </RuleItem>
    8511139        <RuleItem>
     
    8651153              <EscapedStrings>0</EscapedStrings>
    8661154              <Terminal>;</Terminal>
     1155              <LookupTableUsed>0</LookupTableUsed>
     1156              <LookupTable/>
     1157              <LookupTableAction>0</LookupTableAction>
    8671158            </RuleItem>
    8681159            <RuleItem>
     
    8731164              <EscapedStrings>0</EscapedStrings>
    8741165              <NonTerminal>FunctionParameter</NonTerminal>
     1166              <LookupTableUsed>0</LookupTableUsed>
     1167              <LookupTable/>
     1168              <LookupTableAction>0</LookupTableAction>
    8751169            </RuleItem>
    8761170          </SubItems>
     1171          <LookupTableUsed>0</LookupTableUsed>
     1172          <LookupTable/>
     1173          <LookupTableAction>0</LookupTableAction>
    8771174        </RuleItem>
    8781175        <RuleItem>
     
    8831180          <EscapedStrings>0</EscapedStrings>
    8841181          <Terminal>)</Terminal>
     1182          <LookupTableUsed>0</LookupTableUsed>
     1183          <LookupTable/>
     1184          <LookupTableAction>0</LookupTableAction>
    8851185        </RuleItem>
    8861186      </RuleItems>
     
    9001200          <EscapedStrings>0</EscapedStrings>
    9011201          <NonTerminal>ParameterName</NonTerminal>
     1202          <LookupTableUsed>0</LookupTableUsed>
     1203          <LookupTable/>
     1204          <LookupTableAction>0</LookupTableAction>
    9021205        </RuleItem>
    9031206        <RuleItem>
     
    9081211          <EscapedStrings>0</EscapedStrings>
    9091212          <Terminal>:</Terminal>
     1213          <LookupTableUsed>0</LookupTableUsed>
     1214          <LookupTable/>
     1215          <LookupTableAction>0</LookupTableAction>
    9101216        </RuleItem>
    9111217        <RuleItem>
     
    9161222          <EscapedStrings>0</EscapedStrings>
    9171223          <NonTerminal>TypeReference</NonTerminal>
     1224          <LookupTableUsed>0</LookupTableUsed>
     1225          <LookupTable/>
     1226          <LookupTableAction>0</LookupTableAction>
    9181227        </RuleItem>
    9191228      </RuleItems>
     
    9331242          <EscapedStrings>0</EscapedStrings>
    9341243          <NonTerminal>VariableName</NonTerminal>
     1244          <LookupTableUsed>0</LookupTableUsed>
     1245          <LookupTable/>
     1246          <LookupTableAction>0</LookupTableAction>
    9351247        </RuleItem>
    9361248        <RuleItem>
     
    9411253          <EscapedStrings>0</EscapedStrings>
    9421254          <Terminal>:</Terminal>
     1255          <LookupTableUsed>0</LookupTableUsed>
     1256          <LookupTable/>
     1257          <LookupTableAction>0</LookupTableAction>
    9431258        </RuleItem>
    9441259        <RuleItem>
     
    9491264          <EscapedStrings>0</EscapedStrings>
    9501265          <NonTerminal>TypeReference</NonTerminal>
     1266          <LookupTableUsed>0</LookupTableUsed>
     1267          <LookupTable/>
     1268          <LookupTableAction>0</LookupTableAction>
    9511269        </RuleItem>
    9521270        <RuleItem>
     
    9571275          <EscapedStrings>0</EscapedStrings>
    9581276          <Terminal>;</Terminal>
     1277          <LookupTableUsed>0</LookupTableUsed>
     1278          <LookupTable/>
     1279          <LookupTableAction>0</LookupTableAction>
    9591280        </RuleItem>
    9601281      </RuleItems>
     
    9741295          <EscapedStrings>0</EscapedStrings>
    9751296          <NonTerminal>Identifier</NonTerminal>
     1297          <LookupTableUsed>-1</LookupTableUsed>
     1298          <LookupTable/>
     1299          <LookupTableAction>1</LookupTableAction>
    9761300        </RuleItem>
    9771301      </RuleItems>
     
    9911315          <EscapedStrings>0</EscapedStrings>
    9921316          <NonTerminal>Identifier</NonTerminal>
     1317          <LookupTableUsed>-1</LookupTableUsed>
     1318          <LookupTable/>
     1319          <LookupTableAction>0</LookupTableAction>
    9931320        </RuleItem>
    9941321      </RuleItems>
     
    10081335          <EscapedStrings>0</EscapedStrings>
    10091336          <Terminal>unit</Terminal>
     1337          <LookupTableUsed>0</LookupTableUsed>
     1338          <LookupTable/>
     1339          <LookupTableAction>0</LookupTableAction>
    10101340        </RuleItem>
    10111341        <RuleItem>
     
    10161346          <EscapedStrings>0</EscapedStrings>
    10171347          <NonTerminal>UnitName</NonTerminal>
     1348          <LookupTableUsed>0</LookupTableUsed>
     1349          <LookupTable/>
     1350          <LookupTableAction>0</LookupTableAction>
    10181351        </RuleItem>
    10191352        <RuleItem>
     
    10241357          <EscapedStrings>0</EscapedStrings>
    10251358          <Terminal>;</Terminal>
     1359          <LookupTableUsed>0</LookupTableUsed>
     1360          <LookupTable/>
     1361          <LookupTableAction>0</LookupTableAction>
    10261362        </RuleItem>
    10271363        <RuleItem>
     
    10321368          <EscapedStrings>0</EscapedStrings>
    10331369          <Terminal>interface</Terminal>
     1370          <LookupTableUsed>0</LookupTableUsed>
     1371          <LookupTable/>
     1372          <LookupTableAction>0</LookupTableAction>
    10341373        </RuleItem>
    10351374        <RuleItem>
     
    10401379          <EscapedStrings>0</EscapedStrings>
    10411380          <NonTerminal>Uses</NonTerminal>
     1381          <LookupTableUsed>0</LookupTableUsed>
     1382          <LookupTable/>
     1383          <LookupTableAction>0</LookupTableAction>
    10421384        </RuleItem>
    10431385        <RuleItem>
     
    10481390          <EscapedStrings>0</EscapedStrings>
    10491391          <Terminal>implementation</Terminal>
     1392          <LookupTableUsed>0</LookupTableUsed>
     1393          <LookupTable/>
     1394          <LookupTableAction>0</LookupTableAction>
    10501395        </RuleItem>
    10511396        <RuleItem>
     
    10561401          <EscapedStrings>0</EscapedStrings>
    10571402          <NonTerminal>UnitInitialization</NonTerminal>
     1403          <LookupTableUsed>0</LookupTableUsed>
     1404          <LookupTable/>
     1405          <LookupTableAction>0</LookupTableAction>
    10581406        </RuleItem>
    10591407        <RuleItem>
     
    10641412          <EscapedStrings>0</EscapedStrings>
    10651413          <NonTerminal>UnitFinalization</NonTerminal>
     1414          <LookupTableUsed>0</LookupTableUsed>
     1415          <LookupTable/>
     1416          <LookupTableAction>0</LookupTableAction>
    10661417        </RuleItem>
    10671418        <RuleItem>
     
    10721423          <EscapedStrings>0</EscapedStrings>
    10731424          <Terminal>end.</Terminal>
     1425          <LookupTableUsed>0</LookupTableUsed>
     1426          <LookupTable/>
     1427          <LookupTableAction>0</LookupTableAction>
    10741428        </RuleItem>
    10751429      </RuleItems>
     
    10891443          <EscapedStrings>0</EscapedStrings>
    10901444          <NonTerminal>Identifier</NonTerminal>
     1445          <LookupTableUsed>0</LookupTableUsed>
     1446          <LookupTable/>
     1447          <LookupTableAction>0</LookupTableAction>
    10911448        </RuleItem>
    10921449      </RuleItems>
     
    11061463          <EscapedStrings>0</EscapedStrings>
    11071464          <Terminal>for</Terminal>
     1465          <LookupTableUsed>0</LookupTableUsed>
     1466          <LookupTable/>
     1467          <LookupTableAction>0</LookupTableAction>
    11081468        </RuleItem>
    11091469        <RuleItem>
     
    11141474          <EscapedStrings>0</EscapedStrings>
    11151475          <NonTerminal>VariableReference</NonTerminal>
     1476          <LookupTableUsed>0</LookupTableUsed>
     1477          <LookupTable/>
     1478          <LookupTableAction>0</LookupTableAction>
    11161479        </RuleItem>
    11171480        <RuleItem>
     
    11221485          <EscapedStrings>0</EscapedStrings>
    11231486          <Terminal>in</Terminal>
     1487          <LookupTableUsed>0</LookupTableUsed>
     1488          <LookupTable/>
     1489          <LookupTableAction>0</LookupTableAction>
    11241490        </RuleItem>
    11251491        <RuleItem>
     
    11301496          <EscapedStrings>0</EscapedStrings>
    11311497          <NonTerminal>Expression</NonTerminal>
     1498          <LookupTableUsed>0</LookupTableUsed>
     1499          <LookupTable/>
     1500          <LookupTableAction>0</LookupTableAction>
    11321501        </RuleItem>
    11331502        <RuleItem>
     
    11381507          <EscapedStrings>0</EscapedStrings>
    11391508          <Terminal>do</Terminal>
     1509          <LookupTableUsed>0</LookupTableUsed>
     1510          <LookupTable/>
     1511          <LookupTableAction>0</LookupTableAction>
    11401512        </RuleItem>
    11411513        <RuleItem>
     
    11461518          <EscapedStrings>0</EscapedStrings>
    11471519          <NonTerminal>Statement</NonTerminal>
     1520          <LookupTableUsed>0</LookupTableUsed>
     1521          <LookupTable/>
     1522          <LookupTableAction>0</LookupTableAction>
    11481523        </RuleItem>
    11491524      </RuleItems>
     
    11631538          <EscapedStrings>0</EscapedStrings>
    11641539          <Terminal>record</Terminal>
     1540          <LookupTableUsed>0</LookupTableUsed>
     1541          <LookupTable/>
     1542          <LookupTableAction>0</LookupTableAction>
    11651543        </RuleItem>
    11661544        <RuleItem>
     
    11711549          <EscapedStrings>0</EscapedStrings>
    11721550          <Terminal>end</Terminal>
     1551          <LookupTableUsed>0</LookupTableUsed>
     1552          <LookupTable/>
     1553          <LookupTableAction>0</LookupTableAction>
    11731554        </RuleItem>
    11741555        <RuleItem>
     
    11881569              <EscapedStrings>0</EscapedStrings>
    11891570              <NonTerminal>VariableName</NonTerminal>
     1571              <LookupTableUsed>0</LookupTableUsed>
     1572              <LookupTable/>
     1573              <LookupTableAction>0</LookupTableAction>
    11901574            </RuleItem>
    11911575            <RuleItem>
     
    11961580              <EscapedStrings>0</EscapedStrings>
    11971581              <Terminal>:</Terminal>
     1582              <LookupTableUsed>0</LookupTableUsed>
     1583              <LookupTable/>
     1584              <LookupTableAction>0</LookupTableAction>
    11981585            </RuleItem>
    11991586            <RuleItem>
     
    12041591              <EscapedStrings>0</EscapedStrings>
    12051592              <NonTerminal>TypeReference</NonTerminal>
     1593              <LookupTableUsed>0</LookupTableUsed>
     1594              <LookupTable/>
     1595              <LookupTableAction>0</LookupTableAction>
    12061596            </RuleItem>
    12071597            <RuleItem>
     
    12121602              <EscapedStrings>0</EscapedStrings>
    12131603              <Terminal>;</Terminal>
     1604              <LookupTableUsed>0</LookupTableUsed>
     1605              <LookupTable/>
     1606              <LookupTableAction>0</LookupTableAction>
    12141607            </RuleItem>
    12151608          </SubItems>
     1609          <LookupTableUsed>0</LookupTableUsed>
     1610          <LookupTable/>
     1611          <LookupTableAction>0</LookupTableAction>
    12161612        </RuleItem>
    12171613      </RuleItems>
     
    12311627          <EscapedStrings>0</EscapedStrings>
    12321628          <NonTerminal>Identifier</NonTerminal>
     1629          <LookupTableUsed>0</LookupTableUsed>
     1630          <LookupTable/>
     1631          <LookupTableAction>0</LookupTableAction>
    12331632        </RuleItem>
    12341633      </RuleItems>
     
    12481647          <EscapedStrings>0</EscapedStrings>
    12491648          <NonTerminal>Identifier</NonTerminal>
     1649          <LookupTableUsed>-1</LookupTableUsed>
     1650          <LookupTable/>
     1651          <LookupTableAction>0</LookupTableAction>
    12501652        </RuleItem>
    12511653      </RuleItems>
     
    12661668          <TerminalFrom>0</TerminalFrom>
    12671669          <TerminalTo>9</TerminalTo>
     1670          <LookupTableUsed>0</LookupTableUsed>
     1671          <LookupTable/>
     1672          <LookupTableAction>0</LookupTableAction>
    12681673        </RuleItem>
    12691674      </RuleItems>
     
    12831688          <EscapedStrings>0</EscapedStrings>
    12841689          <Terminal>+</Terminal>
     1690          <LookupTableUsed>0</LookupTableUsed>
     1691          <LookupTable/>
     1692          <LookupTableAction>0</LookupTableAction>
    12851693        </RuleItem>
    12861694        <RuleItem>
     
    12911699          <EscapedStrings>0</EscapedStrings>
    12921700          <Terminal>-</Terminal>
     1701          <LookupTableUsed>0</LookupTableUsed>
     1702          <LookupTable/>
     1703          <LookupTableAction>0</LookupTableAction>
    12931704        </RuleItem>
    12941705      </RuleItems>
     
    13081719          <EscapedStrings>0</EscapedStrings>
    13091720          <NonTerminal>Digit</NonTerminal>
     1721          <LookupTableUsed>0</LookupTableUsed>
     1722          <LookupTable/>
     1723          <LookupTableAction>0</LookupTableAction>
    13101724        </RuleItem>
    13111725        <RuleItem>
     
    13161730          <EscapedStrings>0</EscapedStrings>
    13171731          <NonTerminal>Digit</NonTerminal>
     1732          <LookupTableUsed>0</LookupTableUsed>
     1733          <LookupTable/>
     1734          <LookupTableAction>0</LookupTableAction>
    13181735        </RuleItem>
    13191736      </RuleItems>
     
    13331750          <EscapedStrings>0</EscapedStrings>
    13341751          <NonTerminal>Sign</NonTerminal>
     1752          <LookupTableUsed>0</LookupTableUsed>
     1753          <LookupTable/>
     1754          <LookupTableAction>0</LookupTableAction>
    13351755        </RuleItem>
    13361756        <RuleItem>
     
    13411761          <EscapedStrings>0</EscapedStrings>
    13421762          <NonTerminal>UnsignedDigitSequence</NonTerminal>
     1763          <LookupTableUsed>0</LookupTableUsed>
     1764          <LookupTable/>
     1765          <LookupTableAction>0</LookupTableAction>
    13431766        </RuleItem>
    13441767      </RuleItems>
     
    13581781          <EscapedStrings>0</EscapedStrings>
    13591782          <NonTerminal>DigitSequence</NonTerminal>
     1783          <LookupTableUsed>0</LookupTableUsed>
     1784          <LookupTable/>
     1785          <LookupTableAction>0</LookupTableAction>
    13601786        </RuleItem>
    13611787        <RuleItem>
     
    13661792          <EscapedStrings>0</EscapedStrings>
    13671793          <Terminal>.</Terminal>
     1794          <LookupTableUsed>0</LookupTableUsed>
     1795          <LookupTable/>
     1796          <LookupTableAction>0</LookupTableAction>
    13681797        </RuleItem>
    13691798        <RuleItem>
     
    13741803          <EscapedStrings>0</EscapedStrings>
    13751804          <NonTerminal>UnsignedDigitSequence</NonTerminal>
     1805          <LookupTableUsed>0</LookupTableUsed>
     1806          <LookupTable/>
     1807          <LookupTableAction>0</LookupTableAction>
    13761808        </RuleItem>
    13771809      </RuleItems>
     
    13911823          <EscapedStrings>0</EscapedStrings>
    13921824          <NonTerminal>DigitSequence</NonTerminal>
     1825          <LookupTableUsed>0</LookupTableUsed>
     1826          <LookupTable/>
     1827          <LookupTableAction>0</LookupTableAction>
    13931828        </RuleItem>
    13941829      </RuleItems>
     
    14081843          <EscapedStrings>0</EscapedStrings>
    14091844          <NonTerminal>IntegerNumber</NonTerminal>
     1845          <LookupTableUsed>0</LookupTableUsed>
     1846          <LookupTable/>
     1847          <LookupTableAction>0</LookupTableAction>
    14101848        </RuleItem>
    14111849        <RuleItem>
     
    14161854          <EscapedStrings>0</EscapedStrings>
    14171855          <NonTerminal>RealNumber</NonTerminal>
     1856          <LookupTableUsed>0</LookupTableUsed>
     1857          <LookupTable/>
     1858          <LookupTableAction>0</LookupTableAction>
    14181859        </RuleItem>
    14191860      </RuleItems>
     
    14341875          <TerminalFrom>a</TerminalFrom>
    14351876          <TerminalTo>z</TerminalTo>
     1877          <LookupTableUsed>0</LookupTableUsed>
     1878          <LookupTable/>
     1879          <LookupTableAction>0</LookupTableAction>
    14361880        </RuleItem>
    14371881        <RuleItem>
     
    14431887          <TerminalFrom>A</TerminalFrom>
    14441888          <TerminalTo>Z</TerminalTo>
     1889          <LookupTableUsed>0</LookupTableUsed>
     1890          <LookupTable/>
     1891          <LookupTableAction>0</LookupTableAction>
    14451892        </RuleItem>
    14461893      </RuleItems>
     
    14601907          <EscapedStrings>0</EscapedStrings>
    14611908          <Terminal>const</Terminal>
     1909          <LookupTableUsed>0</LookupTableUsed>
     1910          <LookupTable/>
     1911          <LookupTableAction>0</LookupTableAction>
    14621912        </RuleItem>
    14631913        <RuleItem>
     
    14681918          <EscapedStrings>0</EscapedStrings>
    14691919          <NonTerminal>ConstantDefinition</NonTerminal>
     1920          <LookupTableUsed>0</LookupTableUsed>
     1921          <LookupTable/>
     1922          <LookupTableAction>0</LookupTableAction>
    14701923        </RuleItem>
    14711924      </RuleItems>
     
    14851938          <EscapedStrings>0</EscapedStrings>
    14861939          <NonTerminal>VariableSection</NonTerminal>
     1940          <LookupTableUsed>0</LookupTableUsed>
     1941          <LookupTable/>
     1942          <LookupTableAction>0</LookupTableAction>
    14871943        </RuleItem>
    14881944        <RuleItem>
     
    14931949          <EscapedStrings>0</EscapedStrings>
    14941950          <NonTerminal>ConstantSection</NonTerminal>
     1951          <LookupTableUsed>0</LookupTableUsed>
     1952          <LookupTable/>
     1953          <LookupTableAction>0</LookupTableAction>
    14951954        </RuleItem>
    14961955        <RuleItem>
     
    15011960          <EscapedStrings>0</EscapedStrings>
    15021961          <NonTerminal>TypeSection</NonTerminal>
     1962          <LookupTableUsed>0</LookupTableUsed>
     1963          <LookupTable/>
     1964          <LookupTableAction>0</LookupTableAction>
    15031965        </RuleItem>
    15041966      </RuleItems>
     
    15181980          <EscapedStrings>0</EscapedStrings>
    15191981          <Terminal>type</Terminal>
     1982          <LookupTableUsed>0</LookupTableUsed>
     1983          <LookupTable/>
     1984          <LookupTableAction>0</LookupTableAction>
    15201985        </RuleItem>
    15211986        <RuleItem>
     
    15261991          <EscapedStrings>0</EscapedStrings>
    15271992          <NonTerminal>TypeDefinition</NonTerminal>
     1993          <LookupTableUsed>0</LookupTableUsed>
     1994          <LookupTable/>
     1995          <LookupTableAction>0</LookupTableAction>
    15281996        </RuleItem>
    15291997      </RuleItems>
     
    15432011          <EscapedStrings>0</EscapedStrings>
    15442012          <NonTerminal>Declaration</NonTerminal>
     2013          <LookupTableUsed>0</LookupTableUsed>
     2014          <LookupTable/>
     2015          <LookupTableAction>0</LookupTableAction>
    15452016        </RuleItem>
    15462017        <RuleItem>
     
    15512022          <EscapedStrings>0</EscapedStrings>
    15522023          <NonTerminal>BeginEnd</NonTerminal>
     2024          <LookupTableUsed>0</LookupTableUsed>
     2025          <LookupTable/>
     2026          <LookupTableAction>0</LookupTableAction>
    15532027        </RuleItem>
    15542028      </RuleItems>
     
    15682042          <EscapedStrings>0</EscapedStrings>
    15692043          <NonTerminal>Identifier</NonTerminal>
     2044          <LookupTableUsed>-1</LookupTableUsed>
     2045          <LookupTable/>
     2046          <LookupTableAction>0</LookupTableAction>
    15702047        </RuleItem>
    15712048      </RuleItems>
     
    15852062          <EscapedStrings>0</EscapedStrings>
    15862063          <NonTerminal>Factor</NonTerminal>
     2064          <LookupTableUsed>0</LookupTableUsed>
     2065          <LookupTable/>
     2066          <LookupTableAction>0</LookupTableAction>
    15872067        </RuleItem>
    15882068        <RuleItem>
     
    16012081              <AnyExcept>0</AnyExcept>
    16022082              <EscapedStrings>0</EscapedStrings>
    1603               <NonTerminal>Factor</NonTerminal>
     2083              <NonTerminal>Operator</NonTerminal>
     2084              <LookupTableUsed>0</LookupTableUsed>
     2085              <LookupTable/>
     2086              <LookupTableAction>0</LookupTableAction>
    16042087            </RuleItem>
    16052088            <RuleItem>
     
    16092092              <AnyExcept>0</AnyExcept>
    16102093              <EscapedStrings>0</EscapedStrings>
    1611               <NonTerminal>Operator</NonTerminal>
     2094              <NonTerminal>Factor</NonTerminal>
     2095              <LookupTableUsed>0</LookupTableUsed>
     2096              <LookupTable/>
     2097              <LookupTableAction>0</LookupTableAction>
    16122098            </RuleItem>
    16132099          </SubItems>
     2100          <LookupTableUsed>0</LookupTableUsed>
     2101          <LookupTable/>
     2102          <LookupTableAction>0</LookupTableAction>
    16142103        </RuleItem>
    16152104      </RuleItems>
     
    16292118          <EscapedStrings>0</EscapedStrings>
    16302119          <NonTerminal>VariableReference</NonTerminal>
     2120          <LookupTableUsed>0</LookupTableUsed>
     2121          <LookupTable/>
     2122          <LookupTableAction>0</LookupTableAction>
    16312123        </RuleItem>
    16322124        <RuleItem>
     
    16372129          <EscapedStrings>0</EscapedStrings>
    16382130          <NonTerminal>ConstantReference</NonTerminal>
     2131          <LookupTableUsed>0</LookupTableUsed>
     2132          <LookupTable/>
     2133          <LookupTableAction>0</LookupTableAction>
    16392134        </RuleItem>
    16402135        <RuleItem>
     
    16542149              <EscapedStrings>0</EscapedStrings>
    16552150              <Terminal>(</Terminal>
     2151              <LookupTableUsed>0</LookupTableUsed>
     2152              <LookupTable/>
     2153              <LookupTableAction>0</LookupTableAction>
    16562154            </RuleItem>
    16572155            <RuleItem>
     
    16622160              <EscapedStrings>0</EscapedStrings>
    16632161              <NonTerminal>Expression</NonTerminal>
     2162              <LookupTableUsed>0</LookupTableUsed>
     2163              <LookupTable/>
     2164              <LookupTableAction>0</LookupTableAction>
    16642165            </RuleItem>
    16652166            <RuleItem>
     
    16702171              <EscapedStrings>0</EscapedStrings>
    16712172              <Terminal>)</Terminal>
     2173              <LookupTableUsed>0</LookupTableUsed>
     2174              <LookupTable/>
     2175              <LookupTableAction>0</LookupTableAction>
    16722176            </RuleItem>
    16732177          </SubItems>
     2178          <LookupTableUsed>0</LookupTableUsed>
     2179          <LookupTable/>
     2180          <LookupTableAction>0</LookupTableAction>
    16742181        </RuleItem>
    16752182        <RuleItem>
     
    16802187          <EscapedStrings>0</EscapedStrings>
    16812188          <NonTerminal>Number</NonTerminal>
     2189          <LookupTableUsed>0</LookupTableUsed>
     2190          <LookupTable/>
     2191          <LookupTableAction>0</LookupTableAction>
    16822192        </RuleItem>
    16832193        <RuleItem>
     
    16882198          <EscapedStrings>0</EscapedStrings>
    16892199          <NonTerminal>String</NonTerminal>
     2200          <LookupTableUsed>0</LookupTableUsed>
     2201          <LookupTable/>
     2202          <LookupTableAction>0</LookupTableAction>
    16902203        </RuleItem>
    16912204      </RuleItems>
     
    17052218          <EscapedStrings>0</EscapedStrings>
    17062219          <Terminal>&lt;</Terminal>
     2220          <LookupTableUsed>0</LookupTableUsed>
     2221          <LookupTable/>
     2222          <LookupTableAction>0</LookupTableAction>
    17072223        </RuleItem>
    17082224        <RuleItem>
     
    17132229          <EscapedStrings>0</EscapedStrings>
    17142230          <Terminal>&gt;</Terminal>
     2231          <LookupTableUsed>0</LookupTableUsed>
     2232          <LookupTable/>
     2233          <LookupTableAction>0</LookupTableAction>
    17152234        </RuleItem>
    17162235        <RuleItem>
     
    17212240          <EscapedStrings>0</EscapedStrings>
    17222241          <Terminal>&lt;=</Terminal>
     2242          <LookupTableUsed>0</LookupTableUsed>
     2243          <LookupTable/>
     2244          <LookupTableAction>0</LookupTableAction>
    17232245        </RuleItem>
    17242246        <RuleItem>
     
    17292251          <EscapedStrings>0</EscapedStrings>
    17302252          <Terminal>&gt;=</Terminal>
     2253          <LookupTableUsed>0</LookupTableUsed>
     2254          <LookupTable/>
     2255          <LookupTableAction>0</LookupTableAction>
    17312256        </RuleItem>
    17322257        <RuleItem>
     
    17372262          <EscapedStrings>0</EscapedStrings>
    17382263          <Terminal>=</Terminal>
     2264          <LookupTableUsed>0</LookupTableUsed>
     2265          <LookupTable/>
     2266          <LookupTableAction>0</LookupTableAction>
    17392267        </RuleItem>
    17402268        <RuleItem>
     
    17452273          <EscapedStrings>0</EscapedStrings>
    17462274          <Terminal>&lt;&gt;</Terminal>
     2275          <LookupTableUsed>0</LookupTableUsed>
     2276          <LookupTable/>
     2277          <LookupTableAction>0</LookupTableAction>
    17472278        </RuleItem>
    17482279        <RuleItem>
     
    17532284          <EscapedStrings>0</EscapedStrings>
    17542285          <Terminal>+</Terminal>
     2286          <LookupTableUsed>0</LookupTableUsed>
     2287          <LookupTable/>
     2288          <LookupTableAction>0</LookupTableAction>
    17552289        </RuleItem>
    17562290        <RuleItem>
     
    17612295          <EscapedStrings>0</EscapedStrings>
    17622296          <Terminal>-</Terminal>
     2297          <LookupTableUsed>0</LookupTableUsed>
     2298          <LookupTable/>
     2299          <LookupTableAction>0</LookupTableAction>
    17632300        </RuleItem>
    17642301        <RuleItem>
     
    17692306          <EscapedStrings>0</EscapedStrings>
    17702307          <Terminal>/</Terminal>
     2308          <LookupTableUsed>0</LookupTableUsed>
     2309          <LookupTable/>
     2310          <LookupTableAction>0</LookupTableAction>
    17712311        </RuleItem>
    17722312        <RuleItem>
     
    17772317          <EscapedStrings>0</EscapedStrings>
    17782318          <Terminal>*</Terminal>
     2319          <LookupTableUsed>0</LookupTableUsed>
     2320          <LookupTable/>
     2321          <LookupTableAction>0</LookupTableAction>
    17792322        </RuleItem>
    17802323        <RuleItem>
     
    17852328          <EscapedStrings>0</EscapedStrings>
    17862329          <Terminal>div</Terminal>
     2330          <LookupTableUsed>0</LookupTableUsed>
     2331          <LookupTable/>
     2332          <LookupTableAction>0</LookupTableAction>
    17872333        </RuleItem>
    17882334        <RuleItem>
     
    17932339          <EscapedStrings>0</EscapedStrings>
    17942340          <Terminal>+</Terminal>
     2341          <LookupTableUsed>0</LookupTableUsed>
     2342          <LookupTable/>
     2343          <LookupTableAction>0</LookupTableAction>
    17952344        </RuleItem>
    17962345        <RuleItem>
     
    18012350          <EscapedStrings>0</EscapedStrings>
    18022351          <Terminal>-</Terminal>
     2352          <LookupTableUsed>0</LookupTableUsed>
     2353          <LookupTable/>
     2354          <LookupTableAction>0</LookupTableAction>
    18032355        </RuleItem>
    18042356        <RuleItem>
     
    18092361          <EscapedStrings>0</EscapedStrings>
    18102362          <Terminal>and</Terminal>
     2363          <LookupTableUsed>0</LookupTableUsed>
     2364          <LookupTable/>
     2365          <LookupTableAction>0</LookupTableAction>
    18112366        </RuleItem>
    18122367        <RuleItem>
     
    18172372          <EscapedStrings>0</EscapedStrings>
    18182373          <Terminal>or</Terminal>
     2374          <LookupTableUsed>0</LookupTableUsed>
     2375          <LookupTable/>
     2376          <LookupTableAction>0</LookupTableAction>
    18192377        </RuleItem>
    18202378        <RuleItem>
     
    18252383          <EscapedStrings>0</EscapedStrings>
    18262384          <Terminal>xor</Terminal>
     2385          <LookupTableUsed>0</LookupTableUsed>
     2386          <LookupTable/>
     2387          <LookupTableAction>0</LookupTableAction>
    18272388        </RuleItem>
    18282389        <RuleItem>
     
    18332394          <EscapedStrings>0</EscapedStrings>
    18342395          <Terminal>shl</Terminal>
     2396          <LookupTableUsed>0</LookupTableUsed>
     2397          <LookupTable/>
     2398          <LookupTableAction>0</LookupTableAction>
    18352399        </RuleItem>
    18362400        <RuleItem>
     
    18412405          <EscapedStrings>0</EscapedStrings>
    18422406          <Terminal>shr</Terminal>
     2407          <LookupTableUsed>0</LookupTableUsed>
     2408          <LookupTable/>
     2409          <LookupTableAction>0</LookupTableAction>
    18432410        </RuleItem>
    18442411        <RuleItem>
     
    18492416          <EscapedStrings>0</EscapedStrings>
    18502417          <Terminal>in</Terminal>
     2418          <LookupTableUsed>0</LookupTableUsed>
     2419          <LookupTable/>
     2420          <LookupTableAction>0</LookupTableAction>
    18512421        </RuleItem>
    18522422        <RuleItem>
     
    18572427          <EscapedStrings>0</EscapedStrings>
    18582428          <Terminal>as</Terminal>
     2429          <LookupTableUsed>0</LookupTableUsed>
     2430          <LookupTable/>
     2431          <LookupTableAction>0</LookupTableAction>
    18592432        </RuleItem>
    18602433      </RuleItems>
     
    18742447          <EscapedStrings>0</EscapedStrings>
    18752448          <NonTerminal>Identifier</NonTerminal>
     2449          <LookupTableUsed>-1</LookupTableUsed>
     2450          <LookupTable/>
     2451          <LookupTableAction>1</LookupTableAction>
    18762452        </RuleItem>
    18772453      </RuleItems>
     
    18912467          <EscapedStrings>0</EscapedStrings>
    18922468          <Terminal>'</Terminal>
     2469          <LookupTableUsed>0</LookupTableUsed>
     2470          <LookupTable/>
     2471          <LookupTableAction>0</LookupTableAction>
    18932472        </RuleItem>
    18942473        <RuleItem>
     
    18992478          <EscapedStrings>0</EscapedStrings>
    19002479          <NonTerminal>StringCharacter</NonTerminal>
     2480          <LookupTableUsed>0</LookupTableUsed>
     2481          <LookupTable/>
     2482          <LookupTableAction>0</LookupTableAction>
    19012483        </RuleItem>
    19022484        <RuleItem>
     
    19072489          <EscapedStrings>0</EscapedStrings>
    19082490          <Terminal>'</Terminal>
     2491          <LookupTableUsed>0</LookupTableUsed>
     2492          <LookupTable/>
     2493          <LookupTableAction>0</LookupTableAction>
    19092494        </RuleItem>
    19102495      </RuleItems>
     
    19242509          <EscapedStrings>0</EscapedStrings>
    19252510          <Terminal>'</Terminal>
     2511          <LookupTableUsed>0</LookupTableUsed>
     2512          <LookupTable/>
     2513          <LookupTableAction>0</LookupTableAction>
    19262514        </RuleItem>
    19272515        <RuleItem>
     
    19322520          <EscapedStrings>0</EscapedStrings>
    19332521          <Terminal>''</Terminal>
     2522          <LookupTableUsed>0</LookupTableUsed>
     2523          <LookupTable/>
     2524          <LookupTableAction>0</LookupTableAction>
    19342525        </RuleItem>
    19352526      </RuleItems>
     
    19492540          <EscapedStrings>0</EscapedStrings>
    19502541          <NonTerminal>Identifier</NonTerminal>
     2542          <LookupTableUsed>0</LookupTableUsed>
     2543          <LookupTable/>
     2544          <LookupTableAction>0</LookupTableAction>
    19512545        </RuleItem>
    19522546      </RuleItems>
     
    19662560          <EscapedStrings>0</EscapedStrings>
    19672561          <Terminal>{</Terminal>
     2562          <LookupTableUsed>0</LookupTableUsed>
     2563          <LookupTable/>
     2564          <LookupTableAction>0</LookupTableAction>
    19682565        </RuleItem>
    19692566        <RuleItem>
     
    19742571          <EscapedStrings>0</EscapedStrings>
    19752572          <Terminal>}</Terminal>
     2573          <LookupTableUsed>0</LookupTableUsed>
     2574          <LookupTable/>
     2575          <LookupTableAction>0</LookupTableAction>
    19762576        </RuleItem>
    19772577        <RuleItem>
     
    19822582          <EscapedStrings>0</EscapedStrings>
    19832583          <Terminal>}</Terminal>
     2584          <LookupTableUsed>0</LookupTableUsed>
     2585          <LookupTable/>
     2586          <LookupTableAction>0</LookupTableAction>
    19842587        </RuleItem>
    19852588      </RuleItems>
     
    19992602          <EscapedStrings>0</EscapedStrings>
    20002603          <Terminal>(*</Terminal>
     2604          <LookupTableUsed>0</LookupTableUsed>
     2605          <LookupTable/>
     2606          <LookupTableAction>0</LookupTableAction>
    20012607        </RuleItem>
    20022608        <RuleItem>
     
    20072613          <EscapedStrings>0</EscapedStrings>
    20082614          <Terminal>*)</Terminal>
     2615          <LookupTableUsed>0</LookupTableUsed>
     2616          <LookupTable/>
     2617          <LookupTableAction>0</LookupTableAction>
    20092618        </RuleItem>
    20102619        <RuleItem>
     
    20152624          <EscapedStrings>0</EscapedStrings>
    20162625          <Terminal>*)</Terminal>
     2626          <LookupTableUsed>0</LookupTableUsed>
     2627          <LookupTable/>
     2628          <LookupTableAction>0</LookupTableAction>
    20172629        </RuleItem>
    20182630      </RuleItems>
     
    20322644          <EscapedStrings>0</EscapedStrings>
    20332645          <Terminal>//</Terminal>
     2646          <LookupTableUsed>0</LookupTableUsed>
     2647          <LookupTable/>
     2648          <LookupTableAction>0</LookupTableAction>
    20342649        </RuleItem>
    20352650        <RuleItem>
     
    20402655          <EscapedStrings>-1</EscapedStrings>
    20412656          <Terminal>\r\n</Terminal>
     2657          <LookupTableUsed>0</LookupTableUsed>
     2658          <LookupTable/>
     2659          <LookupTableAction>0</LookupTableAction>
    20422660        </RuleItem>
    20432661      </RuleItems>
     
    20572675          <EscapedStrings>0</EscapedStrings>
    20582676          <Terminal>{$</Terminal>
     2677          <LookupTableUsed>0</LookupTableUsed>
     2678          <LookupTable/>
     2679          <LookupTableAction>0</LookupTableAction>
    20592680        </RuleItem>
    20602681        <RuleItem>
     
    20652686          <EscapedStrings>0</EscapedStrings>
    20662687          <NonTerminal>Identifier</NonTerminal>
     2688          <LookupTableUsed>0</LookupTableUsed>
     2689          <LookupTable/>
     2690          <LookupTableAction>0</LookupTableAction>
    20672691        </RuleItem>
    20682692        <RuleItem>
     
    20732697          <EscapedStrings>0</EscapedStrings>
    20742698          <Terminal>}</Terminal>
     2699          <LookupTableUsed>0</LookupTableUsed>
     2700          <LookupTable/>
     2701          <LookupTableAction>0</LookupTableAction>
    20752702        </RuleItem>
    20762703      </RuleItems>
     
    20902717          <EscapedStrings>0</EscapedStrings>
    20912718          <Terminal>initialization</Terminal>
     2719          <LookupTableUsed>0</LookupTableUsed>
     2720          <LookupTable/>
     2721          <LookupTableAction>0</LookupTableAction>
    20922722        </RuleItem>
    20932723        <RuleItem>
     
    20982728          <EscapedStrings>0</EscapedStrings>
    20992729          <NonTerminal>Statement</NonTerminal>
     2730          <LookupTableUsed>0</LookupTableUsed>
     2731          <LookupTable/>
     2732          <LookupTableAction>0</LookupTableAction>
    21002733        </RuleItem>
    21012734      </RuleItems>
     
    21152748          <EscapedStrings>0</EscapedStrings>
    21162749          <Terminal>finalization</Terminal>
     2750          <LookupTableUsed>0</LookupTableUsed>
     2751          <LookupTable/>
     2752          <LookupTableAction>0</LookupTableAction>
    21172753        </RuleItem>
    21182754        <RuleItem>
     
    21232759          <EscapedStrings>0</EscapedStrings>
    21242760          <NonTerminal>Statement</NonTerminal>
     2761          <LookupTableUsed>0</LookupTableUsed>
     2762          <LookupTable/>
     2763          <LookupTableAction>0</LookupTableAction>
    21252764        </RuleItem>
    21262765      </RuleItems>
     
    21392778          <AnyExcept>0</AnyExcept>
    21402779          <EscapedStrings>0</EscapedStrings>
    2141           <NonTerminal>Identifier</NonTerminal>
     2780          <NonTerminal>TypeName</NonTerminal>
     2781          <LookupTableUsed>0</LookupTableUsed>
     2782          <LookupTable/>
     2783          <LookupTableAction>0</LookupTableAction>
    21422784        </RuleItem>
    21432785        <RuleItem>
     
    21482790          <EscapedStrings>0</EscapedStrings>
    21492791          <Terminal>=</Terminal>
     2792          <LookupTableUsed>0</LookupTableUsed>
     2793          <LookupTable/>
     2794          <LookupTableAction>0</LookupTableAction>
    21502795        </RuleItem>
    21512796        <RuleItem>
     
    21562801          <EscapedStrings>0</EscapedStrings>
    21572802          <NonTerminal>Type</NonTerminal>
     2803          <LookupTableUsed>0</LookupTableUsed>
     2804          <LookupTable/>
     2805          <LookupTableAction>0</LookupTableAction>
    21582806        </RuleItem>
    21592807        <RuleItem>
     
    21642812          <EscapedStrings>0</EscapedStrings>
    21652813          <Terminal>;</Terminal>
     2814          <LookupTableUsed>0</LookupTableUsed>
     2815          <LookupTable/>
     2816          <LookupTableAction>0</LookupTableAction>
    21662817        </RuleItem>
    21672818      </RuleItems>
     
    21812832          <EscapedStrings>0</EscapedStrings>
    21822833          <NonTerminal>ConstantName</NonTerminal>
     2834          <LookupTableUsed>0</LookupTableUsed>
     2835          <LookupTable/>
     2836          <LookupTableAction>0</LookupTableAction>
    21832837        </RuleItem>
    21842838        <RuleItem>
     
    21892843          <EscapedStrings>0</EscapedStrings>
    21902844          <Terminal>:</Terminal>
     2845          <LookupTableUsed>0</LookupTableUsed>
     2846          <LookupTable/>
     2847          <LookupTableAction>0</LookupTableAction>
    21912848        </RuleItem>
    21922849        <RuleItem>
     
    21972854          <EscapedStrings>0</EscapedStrings>
    21982855          <NonTerminal>TypeReference</NonTerminal>
     2856          <LookupTableUsed>0</LookupTableUsed>
     2857          <LookupTable/>
     2858          <LookupTableAction>0</LookupTableAction>
    21992859        </RuleItem>
    22002860        <RuleItem>
     
    22052865          <EscapedStrings>0</EscapedStrings>
    22062866          <Terminal>=</Terminal>
     2867          <LookupTableUsed>0</LookupTableUsed>
     2868          <LookupTable/>
     2869          <LookupTableAction>0</LookupTableAction>
    22072870        </RuleItem>
    22082871        <RuleItem>
     
    22132876          <EscapedStrings>0</EscapedStrings>
    22142877          <NonTerminal>ConstantReference</NonTerminal>
     2878          <LookupTableUsed>0</LookupTableUsed>
     2879          <LookupTable/>
     2880          <LookupTableAction>0</LookupTableAction>
    22152881        </RuleItem>
    22162882        <RuleItem>
     
    22212887          <EscapedStrings>0</EscapedStrings>
    22222888          <Terminal>;</Terminal>
     2889          <LookupTableUsed>0</LookupTableUsed>
     2890          <LookupTable/>
     2891          <LookupTableAction>0</LookupTableAction>
    22232892        </RuleItem>
    22242893      </RuleItems>
     
    22382907          <EscapedStrings>0</EscapedStrings>
    22392908          <Terminal>procedure</Terminal>
     2909          <LookupTableUsed>0</LookupTableUsed>
     2910          <LookupTable/>
     2911          <LookupTableAction>0</LookupTableAction>
    22402912        </RuleItem>
    22412913        <RuleItem>
     
    22462918          <EscapedStrings>0</EscapedStrings>
    22472919          <NonTerminal>FunctionName</NonTerminal>
     2920          <LookupTableUsed>0</LookupTableUsed>
     2921          <LookupTable/>
     2922          <LookupTableAction>0</LookupTableAction>
    22482923        </RuleItem>
    22492924        <RuleItem>
     
    22542929          <EscapedStrings>0</EscapedStrings>
    22552930          <NonTerminal>FunctionParameters</NonTerminal>
     2931          <LookupTableUsed>0</LookupTableUsed>
     2932          <LookupTable/>
     2933          <LookupTableAction>0</LookupTableAction>
    22562934        </RuleItem>
    22572935        <RuleItem>
     
    22622940          <EscapedStrings>0</EscapedStrings>
    22632941          <Terminal>;</Terminal>
     2942          <LookupTableUsed>0</LookupTableUsed>
     2943          <LookupTable/>
     2944          <LookupTableAction>0</LookupTableAction>
    22642945        </RuleItem>
    22652946        <RuleItem>
     
    22702951          <EscapedStrings>0</EscapedStrings>
    22712952          <NonTerminal>DeclarationBlock</NonTerminal>
     2953          <LookupTableUsed>0</LookupTableUsed>
     2954          <LookupTable/>
     2955          <LookupTableAction>0</LookupTableAction>
    22722956        </RuleItem>
    22732957        <RuleItem>
     
    22782962          <EscapedStrings>0</EscapedStrings>
    22792963          <Terminal>;</Terminal>
     2964          <LookupTableUsed>0</LookupTableUsed>
     2965          <LookupTable/>
     2966          <LookupTableAction>0</LookupTableAction>
    22802967        </RuleItem>
    22812968      </RuleItems>
     
    22952982          <EscapedStrings>0</EscapedStrings>
    22962983          <NonTerminal>Identifier</NonTerminal>
     2984          <LookupTableUsed>0</LookupTableUsed>
     2985          <LookupTable/>
     2986          <LookupTableAction>0</LookupTableAction>
    22972987        </RuleItem>
    22982988        <RuleItem>
     
    23032993          <EscapedStrings>0</EscapedStrings>
    23042994          <Terminal>:</Terminal>
     2995          <LookupTableUsed>0</LookupTableUsed>
     2996          <LookupTable/>
     2997          <LookupTableAction>0</LookupTableAction>
    23052998        </RuleItem>
    23062999        <RuleItem>
     
    23113004          <EscapedStrings>0</EscapedStrings>
    23123005          <NonTerminal>Statement</NonTerminal>
     3006          <LookupTableUsed>0</LookupTableUsed>
     3007          <LookupTable/>
     3008          <LookupTableAction>0</LookupTableAction>
    23133009        </RuleItem>
    23143010        <RuleItem>
     
    23193015          <EscapedStrings>0</EscapedStrings>
    23203016          <Terminal>;</Terminal>
     3017          <LookupTableUsed>0</LookupTableUsed>
     3018          <LookupTable/>
     3019          <LookupTableAction>0</LookupTableAction>
    23213020        </RuleItem>
    23223021      </RuleItems>
     
    23363035          <EscapedStrings>0</EscapedStrings>
    23373036          <Terminal> </Terminal>
     3037          <LookupTableUsed>0</LookupTableUsed>
     3038          <LookupTable/>
     3039          <LookupTableAction>0</LookupTableAction>
    23383040        </RuleItem>
    23393041        <RuleItem>
     
    23443046          <EscapedStrings>-1</EscapedStrings>
    23453047          <Terminal>\r</Terminal>
     3048          <LookupTableUsed>0</LookupTableUsed>
     3049          <LookupTable/>
     3050          <LookupTableAction>0</LookupTableAction>
    23463051        </RuleItem>
    23473052        <RuleItem>
     
    23523057          <EscapedStrings>-1</EscapedStrings>
    23533058          <Terminal>\n</Terminal>
     3059          <LookupTableUsed>0</LookupTableUsed>
     3060          <LookupTable/>
     3061          <LookupTableAction>0</LookupTableAction>
    23543062        </RuleItem>
    23553063        <RuleItem>
     
    23603068          <EscapedStrings>-1</EscapedStrings>
    23613069          <Terminal>\t</Terminal>
     3070          <LookupTableUsed>0</LookupTableUsed>
     3071          <LookupTable/>
     3072          <LookupTableAction>0</LookupTableAction>
    23623073        </RuleItem>
    23633074      </RuleItems>
     
    23773088          <EscapedStrings>0</EscapedStrings>
    23783089          <NonTerminal>WhiteSpace</NonTerminal>
     3090          <LookupTableUsed>0</LookupTableUsed>
     3091          <LookupTable/>
     3092          <LookupTableAction>0</LookupTableAction>
    23793093        </RuleItem>
    23803094      </RuleItems>
     
    23943108          <EscapedStrings>0</EscapedStrings>
    23953109          <NonTerminal>Number</NonTerminal>
     3110          <LookupTableUsed>0</LookupTableUsed>
     3111          <LookupTable/>
     3112          <LookupTableAction>0</LookupTableAction>
    23963113        </RuleItem>
    23973114        <RuleItem>
     
    24023119          <EscapedStrings>0</EscapedStrings>
    24033120          <Terminal>..</Terminal>
     3121          <LookupTableUsed>0</LookupTableUsed>
     3122          <LookupTable/>
     3123          <LookupTableAction>0</LookupTableAction>
    24043124        </RuleItem>
    24053125        <RuleItem>
     
    24103130          <EscapedStrings>0</EscapedStrings>
    24113131          <NonTerminal>Number</NonTerminal>
     3132          <LookupTableUsed>0</LookupTableUsed>
     3133          <LookupTable/>
     3134          <LookupTableAction>0</LookupTableAction>
    24123135        </RuleItem>
    24133136      </RuleItems>
     
    24273150          <EscapedStrings>0</EscapedStrings>
    24283151          <Terminal>array</Terminal>
     3152          <LookupTableUsed>0</LookupTableUsed>
     3153          <LookupTable/>
     3154          <LookupTableAction>0</LookupTableAction>
    24293155        </RuleItem>
    24303156        <RuleItem>
     
    24443170              <EscapedStrings>0</EscapedStrings>
    24453171              <Terminal>[</Terminal>
     3172              <LookupTableUsed>0</LookupTableUsed>
     3173              <LookupTable/>
     3174              <LookupTableAction>0</LookupTableAction>
    24463175            </RuleItem>
    24473176            <RuleItem>
     
    24523181              <EscapedStrings>0</EscapedStrings>
    24533182              <NonTerminal>Range</NonTerminal>
     3183              <LookupTableUsed>0</LookupTableUsed>
     3184              <LookupTable/>
     3185              <LookupTableAction>0</LookupTableAction>
    24543186            </RuleItem>
    24553187            <RuleItem>
     
    24603192              <EscapedStrings>0</EscapedStrings>
    24613193              <Terminal>]</Terminal>
     3194              <LookupTableUsed>0</LookupTableUsed>
     3195              <LookupTable/>
     3196              <LookupTableAction>0</LookupTableAction>
    24623197            </RuleItem>
    24633198          </SubItems>
     3199          <LookupTableUsed>0</LookupTableUsed>
     3200          <LookupTable/>
     3201          <LookupTableAction>0</LookupTableAction>
    24643202        </RuleItem>
    24653203        <RuleItem>
     
    24703208          <EscapedStrings>0</EscapedStrings>
    24713209          <Terminal>of</Terminal>
     3210          <LookupTableUsed>0</LookupTableUsed>
     3211          <LookupTable/>
     3212          <LookupTableAction>0</LookupTableAction>
    24723213        </RuleItem>
    24733214        <RuleItem>
     
    24783219          <EscapedStrings>0</EscapedStrings>
    24793220          <NonTerminal>TypeReference</NonTerminal>
     3221          <LookupTableUsed>0</LookupTableUsed>
     3222          <LookupTable/>
     3223          <LookupTableAction>0</LookupTableAction>
    24803224        </RuleItem>
    24813225        <RuleItem>
     
    24863230          <EscapedStrings>0</EscapedStrings>
    24873231          <Terminal>;</Terminal>
     3232          <LookupTableUsed>0</LookupTableUsed>
     3233          <LookupTable/>
     3234          <LookupTableAction>0</LookupTableAction>
    24883235        </RuleItem>
    24893236      </RuleItems>
     
    25033250          <EscapedStrings>0</EscapedStrings>
    25043251          <Terminal>set</Terminal>
     3252          <LookupTableUsed>0</LookupTableUsed>
     3253          <LookupTable/>
     3254          <LookupTableAction>0</LookupTableAction>
    25053255        </RuleItem>
    25063256        <RuleItem>
     
    25113261          <EscapedStrings>0</EscapedStrings>
    25123262          <Terminal>of</Terminal>
     3263          <LookupTableUsed>0</LookupTableUsed>
     3264          <LookupTable/>
     3265          <LookupTableAction>0</LookupTableAction>
    25133266        </RuleItem>
    25143267        <RuleItem>
     
    25193272          <EscapedStrings>0</EscapedStrings>
    25203273          <NonTerminal>TypeReference</NonTerminal>
     3274          <LookupTableUsed>0</LookupTableUsed>
     3275          <LookupTable/>
     3276          <LookupTableAction>0</LookupTableAction>
    25213277        </RuleItem>
    25223278      </RuleItems>
     
    25363292          <EscapedStrings>0</EscapedStrings>
    25373293          <Terminal>(</Terminal>
     3294          <LookupTableUsed>0</LookupTableUsed>
     3295          <LookupTable/>
     3296          <LookupTableAction>0</LookupTableAction>
    25383297        </RuleItem>
    25393298        <RuleItem>
     
    25443303          <EscapedStrings>0</EscapedStrings>
    25453304          <NonTerminal>IdentifierList</NonTerminal>
     3305          <LookupTableUsed>0</LookupTableUsed>
     3306          <LookupTable/>
     3307          <LookupTableAction>0</LookupTableAction>
    25463308        </RuleItem>
    25473309        <RuleItem>
     
    25523314          <EscapedStrings>0</EscapedStrings>
    25533315          <Terminal>)</Terminal>
     3316          <LookupTableUsed>0</LookupTableUsed>
     3317          <LookupTable/>
     3318          <LookupTableAction>0</LookupTableAction>
    25543319        </RuleItem>
    25553320      </RuleItems>
     
    25693334          <EscapedStrings>0</EscapedStrings>
    25703335          <NonTerminal>Identifier</NonTerminal>
     3336          <LookupTableUsed>0</LookupTableUsed>
     3337          <LookupTable/>
     3338          <LookupTableAction>0</LookupTableAction>
    25713339        </RuleItem>
    25723340        <RuleItem>
     
    25863354              <EscapedStrings>0</EscapedStrings>
    25873355              <Terminal>,</Terminal>
     3356              <LookupTableUsed>0</LookupTableUsed>
     3357              <LookupTable/>
     3358              <LookupTableAction>0</LookupTableAction>
    25883359            </RuleItem>
    25893360            <RuleItem>
     
    25943365              <EscapedStrings>0</EscapedStrings>
    25953366              <NonTerminal>Identifier</NonTerminal>
     3367              <LookupTableUsed>0</LookupTableUsed>
     3368              <LookupTable/>
     3369              <LookupTableAction>0</LookupTableAction>
    25963370            </RuleItem>
    25973371          </SubItems>
     3372          <LookupTableUsed>0</LookupTableUsed>
     3373          <LookupTable/>
     3374          <LookupTableAction>0</LookupTableAction>
    25983375        </RuleItem>
    25993376      </RuleItems>
     
    26133390          <EscapedStrings>0</EscapedStrings>
    26143391          <NonTerminal>TypeArray</NonTerminal>
     3392          <LookupTableUsed>0</LookupTableUsed>
     3393          <LookupTable/>
     3394          <LookupTableAction>0</LookupTableAction>
    26153395        </RuleItem>
    26163396        <RuleItem>
     
    26213401          <EscapedStrings>0</EscapedStrings>
    26223402          <NonTerminal>TypeEnumeration</NonTerminal>
     3403          <LookupTableUsed>0</LookupTableUsed>
     3404          <LookupTable/>
     3405          <LookupTableAction>0</LookupTableAction>
    26233406        </RuleItem>
    26243407        <RuleItem>
     
    26293412          <EscapedStrings>0</EscapedStrings>
    26303413          <NonTerminal>TypeRecord</NonTerminal>
     3414          <LookupTableUsed>0</LookupTableUsed>
     3415          <LookupTable/>
     3416          <LookupTableAction>0</LookupTableAction>
    26313417        </RuleItem>
    26323418        <RuleItem>
     
    26373423          <EscapedStrings>0</EscapedStrings>
    26383424          <NonTerminal>TypeReference</NonTerminal>
     3425          <LookupTableUsed>0</LookupTableUsed>
     3426          <LookupTable/>
     3427          <LookupTableAction>0</LookupTableAction>
    26393428        </RuleItem>
    26403429        <RuleItem>
     
    26453434          <EscapedStrings>0</EscapedStrings>
    26463435          <NonTerminal>TypeSet</NonTerminal>
     3436          <LookupTableUsed>0</LookupTableUsed>
     3437          <LookupTable/>
     3438          <LookupTableAction>0</LookupTableAction>
    26473439        </RuleItem>
    26483440        <RuleItem>
     
    26533445          <EscapedStrings>0</EscapedStrings>
    26543446          <NonTerminal>TypePointer</NonTerminal>
     3447          <LookupTableUsed>0</LookupTableUsed>
     3448          <LookupTable/>
     3449          <LookupTableAction>0</LookupTableAction>
    26553450        </RuleItem>
    26563451      </RuleItems>
     
    26703465          <EscapedStrings>0</EscapedStrings>
    26713466          <Terminal>^</Terminal>
     3467          <LookupTableUsed>0</LookupTableUsed>
     3468          <LookupTable/>
     3469          <LookupTableAction>0</LookupTableAction>
    26723470        </RuleItem>
    26733471        <RuleItem>
     
    26783476          <EscapedStrings>0</EscapedStrings>
    26793477          <NonTerminal>TypeReference</NonTerminal>
     3478          <LookupTableUsed>0</LookupTableUsed>
     3479          <LookupTable/>
     3480          <LookupTableAction>0</LookupTableAction>
    26803481        </RuleItem>
    26813482      </RuleItems>
     
    26953496          <EscapedStrings>0</EscapedStrings>
    26963497          <Terminal>$</Terminal>
     3498          <LookupTableUsed>0</LookupTableUsed>
     3499          <LookupTable/>
     3500          <LookupTableAction>0</LookupTableAction>
    26973501        </RuleItem>
    26983502        <RuleItem>
     
    27033507          <EscapedStrings>0</EscapedStrings>
    27043508          <NonTerminal>UnsignedDigitSequence</NonTerminal>
     3509          <LookupTableUsed>0</LookupTableUsed>
     3510          <LookupTable/>
     3511          <LookupTableAction>0</LookupTableAction>
     3512        </RuleItem>
     3513      </RuleItems>
     3514    </Rule>
     3515    <Rule>
     3516      <Name>FunctionCall</Name>
     3517      <CreateSourceNode>0</CreateSourceNode>
     3518      <Level>0</Level>
     3519      <RuleItems>
     3520        <Type>0</Type>
     3521        <WithWhiteSpaces>-1</WithWhiteSpaces>
     3522        <RuleItem>
     3523          <Type>1</Type>
     3524          <Optional>0</Optional>
     3525          <Repetitive>0</Repetitive>
     3526          <AnyExcept>0</AnyExcept>
     3527          <EscapedStrings>0</EscapedStrings>
     3528          <NonTerminal>Identifier</NonTerminal>
     3529          <LookupTableUsed>-1</LookupTableUsed>
     3530          <LookupTable/>
     3531          <LookupTableAction>1</LookupTableAction>
     3532        </RuleItem>
     3533        <RuleItem>
     3534          <Type>1</Type>
     3535          <Optional>-1</Optional>
     3536          <Repetitive>0</Repetitive>
     3537          <AnyExcept>0</AnyExcept>
     3538          <EscapedStrings>0</EscapedStrings>
     3539          <NonTerminal>FunctionCallParameters</NonTerminal>
     3540          <LookupTableUsed>0</LookupTableUsed>
     3541          <LookupTable/>
     3542          <LookupTableAction>0</LookupTableAction>
     3543        </RuleItem>
     3544      </RuleItems>
     3545    </Rule>
     3546    <Rule>
     3547      <Name>FunctionCallParameters</Name>
     3548      <CreateSourceNode>0</CreateSourceNode>
     3549      <Level>0</Level>
     3550      <RuleItems>
     3551        <Type>0</Type>
     3552        <WithWhiteSpaces>-1</WithWhiteSpaces>
     3553        <RuleItem>
     3554          <Type>0</Type>
     3555          <Optional>0</Optional>
     3556          <Repetitive>0</Repetitive>
     3557          <AnyExcept>0</AnyExcept>
     3558          <EscapedStrings>0</EscapedStrings>
     3559          <Terminal>(</Terminal>
     3560          <LookupTableUsed>0</LookupTableUsed>
     3561          <LookupTable/>
     3562          <LookupTableAction>0</LookupTableAction>
     3563        </RuleItem>
     3564        <RuleItem>
     3565          <Type>1</Type>
     3566          <Optional>0</Optional>
     3567          <Repetitive>0</Repetitive>
     3568          <AnyExcept>0</AnyExcept>
     3569          <EscapedStrings>0</EscapedStrings>
     3570          <NonTerminal>Expression</NonTerminal>
     3571          <LookupTableUsed>0</LookupTableUsed>
     3572          <LookupTable/>
     3573          <LookupTableAction>0</LookupTableAction>
     3574        </RuleItem>
     3575        <RuleItem>
     3576          <Type>2</Type>
     3577          <Optional>-1</Optional>
     3578          <Repetitive>-1</Repetitive>
     3579          <AnyExcept>0</AnyExcept>
     3580          <EscapedStrings>0</EscapedStrings>
     3581          <SubItems>
     3582            <Type>0</Type>
     3583            <WithWhiteSpaces>-1</WithWhiteSpaces>
     3584            <RuleItem>
     3585              <Type>0</Type>
     3586              <Optional>0</Optional>
     3587              <Repetitive>0</Repetitive>
     3588              <AnyExcept>0</AnyExcept>
     3589              <EscapedStrings>0</EscapedStrings>
     3590              <Terminal>,</Terminal>
     3591              <LookupTableUsed>0</LookupTableUsed>
     3592              <LookupTable/>
     3593              <LookupTableAction>0</LookupTableAction>
     3594            </RuleItem>
     3595            <RuleItem>
     3596              <Type>1</Type>
     3597              <Optional>0</Optional>
     3598              <Repetitive>0</Repetitive>
     3599              <AnyExcept>0</AnyExcept>
     3600              <EscapedStrings>0</EscapedStrings>
     3601              <NonTerminal>Expression</NonTerminal>
     3602              <LookupTableUsed>0</LookupTableUsed>
     3603              <LookupTable/>
     3604              <LookupTableAction>0</LookupTableAction>
     3605            </RuleItem>
     3606          </SubItems>
     3607          <LookupTableUsed>0</LookupTableUsed>
     3608          <LookupTable/>
     3609          <LookupTableAction>0</LookupTableAction>
     3610        </RuleItem>
     3611        <RuleItem>
     3612          <Type>0</Type>
     3613          <Optional>0</Optional>
     3614          <Repetitive>0</Repetitive>
     3615          <AnyExcept>0</AnyExcept>
     3616          <EscapedStrings>0</EscapedStrings>
     3617          <Terminal>)</Terminal>
     3618          <LookupTableUsed>0</LookupTableUsed>
     3619          <LookupTable/>
     3620          <LookupTableAction>0</LookupTableAction>
     3621        </RuleItem>
     3622      </RuleItems>
     3623    </Rule>
     3624    <Rule>
     3625      <Name>TypeName</Name>
     3626      <CreateSourceNode>0</CreateSourceNode>
     3627      <Level>0</Level>
     3628      <RuleItems>
     3629        <Type>0</Type>
     3630        <WithWhiteSpaces>0</WithWhiteSpaces>
     3631        <RuleItem>
     3632          <Type>1</Type>
     3633          <Optional>0</Optional>
     3634          <Repetitive>0</Repetitive>
     3635          <AnyExcept>0</AnyExcept>
     3636          <EscapedStrings>0</EscapedStrings>
     3637          <NonTerminal>Identifier</NonTerminal>
     3638          <LookupTableUsed>-1</LookupTableUsed>
     3639          <LookupTable/>
     3640          <LookupTableAction>0</LookupTableAction>
    27053641        </RuleItem>
    27063642      </RuleItems>
    27073643    </Rule>
    27083644  </Rules>
     3645  <LookupTables>
     3646    <LookupTable>
     3647      <Name>Variable</Name>
     3648    </LookupTable>
     3649    <LookupTable>
     3650      <Name>Constant</Name>
     3651    </LookupTable>
     3652    <LookupTable>
     3653      <Name>Function</Name>
     3654    </LookupTable>
     3655    <LookupTable>
     3656      <Name>Type</Name>
     3657    </LookupTable>
     3658  </LookupTables>
    27093659  <TopRule>Program</TopRule>
    27103660  <WhiteSpaceRule>WhiteSpace</WhiteSpaceRule>
Note: See TracChangeset for help on using the changeset viewer.