Changeset 136


Ignore:
Timestamp:
Dec 26, 2017, 6:59:40 PM (6 years ago)
Author:
chronos
Message:
  • Added: Support for whitespaces in And rule.
  • Added: Terminals can be specified as escaped strings with slash.
Location:
branches/generator
Files:
1 added
14 edited

Legend:

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

    r129 r136  
    77  ClientHeight = 346
    88  ClientWidth = 548
    9   DesignTimePPI = 120
    109  OnShow = FormShow
    11   LCLVersion = '1.8.0.6'
     10  LCLVersion = '1.8.0.4'
    1211  object Label1: TLabel
    1312    Left = 15
    14     Height = 20
     13    Height = 23
    1514    Top = 22
    16     Width = 63
     15    Width = 75
    1716    Caption = 'Start rule:'
    1817    ParentColor = False
    1918  end
    2019  object ComboBoxStartRule: TComboBox
    21     Left = 120
    22     Height = 28
    23     Top = 24
     20    Left = 168
     21    Height = 37
     22    Top = 22
    2423    Width = 272
    25     ItemHeight = 20
     24    ItemHeight = 0
    2625    Style = csDropDownList
    2726    TabOrder = 0
     
    4746    TabOrder = 2
    4847  end
     48  object Label2: TLabel
     49    Left = 16
     50    Height = 23
     51    Top = 80
     52    Width = 130
     53    Caption = 'White space rule:'
     54    ParentColor = False
     55  end
     56  object ComboBoxWhiteSpaceRule: TComboBox
     57    Left = 168
     58    Height = 37
     59    Top = 72
     60    Width = 272
     61    ItemHeight = 0
     62    Style = csDropDownList
     63    TabOrder = 3
     64  end
    4965end
  • branches/generator/Forms/UFormGrammer.pas

    r129 r136  
    1717    ButtonOk: TButton;
    1818    ComboBoxStartRule: TComboBox;
     19    ComboBoxWhiteSpaceRule: TComboBox;
    1920    Label1: TLabel;
     21    Label2: TLabel;
    2022    procedure FormShow(Sender: TObject);
    2123  private
     
    4951  end;
    5052  ComboBoxStartRule.Sorted := True;
     53
     54  ComboBoxWhiteSpaceRule.Items.Clear;
     55  for Rule in Grammer.Rules do begin
     56    ComboBoxWhiteSpaceRule.Items.AddObject(Rule.Name, Rule);
     57  end;
     58  ComboBoxWhiteSpaceRule.Sorted := True;
    5159end;
    5260
     
    5866    ComboBoxStartRule.ItemIndex := ComboBoxStartRule.Items.IndexOfObject(Grammer.TopRule);
    5967  end else ComboBoxStartRule.ItemIndex := -1;
     68  if Assigned(Grammer.WhiteSpaceRule) then begin
     69    ComboBoxWhiteSpaceRule.ItemIndex := ComboBoxWhiteSpaceRule.Items.IndexOfObject(Grammer.WhiteSpaceRule);
     70  end else ComboBoxWhiteSpaceRule.ItemIndex := -1;
    6071end;
    6172
     
    6677    Grammer.TopRule := TRule(ComboBoxStartRule.Items.Objects[ComboBoxStartRule.ItemIndex])
    6778    else Grammer.TopRule := nil;
     79  if ComboBoxWhiteSpaceRule.ItemIndex <> -1 then
     80    Grammer.WhiteSpaceRule := TRule(ComboBoxWhiteSpaceRule.Items.Objects[ComboBoxWhiteSpaceRule.ItemIndex])
     81    else Grammer.WhiteSpaceRule := nil;
    6882end;
    6983
  • branches/generator/Forms/UFormMain.pas

    r131 r136  
    271271procedure TFormMain.AProjectOpenRecentExecute(Sender: TObject);
    272272begin
    273   if Sender is TMenuItem then ProjectOpen(TMenuItem(Sender).Caption);
     273  if Sender is TMenuItem then begin
     274    AProjectClose.Execute;
     275    if not Assigned(Core.Grammer) then begin
     276      ProjectOpen(TMenuItem(Sender).Caption);
     277    end;
     278  end;
    274279end;
    275280
  • branches/generator/Forms/UFormRuleItem.lfm

    r131 r136  
    161161  end
    162162  object CheckBoxRepetitive: TCheckBox
    163     Left = 216
     163    Left = 184
    164164    Height = 27
    165165    Top = 56
     
    169169  end
    170170  object CheckBoxAnyExcept: TCheckBox
    171     Left = 400
     171    Left = 344
    172172    Height = 27
    173173    Top = 56
     
    176176    TabOrder = 6
    177177  end
     178  object CheckBoxEscapedString: TCheckBox
     179    Left = 488
     180    Height = 27
     181    Top = 56
     182    Width = 144
     183    Caption = 'Escaped strings'
     184    TabOrder = 7
     185  end
    178186end
  • branches/generator/Forms/UFormRuleItem.pas

    r129 r136  
    1717    ButtonOk: TButton;
    1818    CheckBoxAnyExcept: TCheckBox;
     19    CheckBoxEscapedString: TCheckBox;
    1920    CheckBoxOptional: TCheckBox;
    2021    CheckBoxRepetitive: TCheckBox;
     
    123124  ListBox1.Visible := RuleItem.RuleItemType = ritNonTerminal;
    124125  LabelNonTerminal.Visible := RuleItem.RuleItemType = ritNonTerminal;
     126  CheckBoxOptional.Enabled := RuleItem.ParentRule.Items.RuleType = rtAnd;
     127  CheckBoxRepetitive.Enabled := RuleItem.ParentRule.Items.RuleType = rtAnd;
     128  CheckBoxEscapedString.Enabled := (RuleItem.RuleItemType = ritTerminal) or
     129    (RuleItem.RuleItemType = ritTerminalRange);
    125130end;
    126131
     
    138143  CheckBoxAnyExcept.Checked := RuleItem.AnyExcept;
    139144  TFormRuleItems(FormRuleItems).LoadData(RuleItem.SubItems);
     145  CheckBoxEscapedString.Checked := RuleItem.EscapedStrings;
    140146  UpdateInterface;
    141147end;
     
    155161  RuleItem.Repetitive := CheckBoxRepetitive.Checked;
    156162  RuleItem.AnyExcept := CheckBoxAnyExcept.Checked;
     163  RuleItem.EscapedStrings := CheckBoxEscapedString.Checked;
    157164end;
    158165
  • branches/generator/Forms/UFormRuleItems.lfm

    r129 r136  
    77  ClientHeight = 467
    88  ClientWidth = 636
    9   DesignTimePPI = 120
    109  OnCreate = FormCreate
    1110  OnShow = FormShow
    12   LCLVersion = '1.8.0.6'
     11  LCLVersion = '1.8.0.4'
    1312  object ListView1: TListView
    1413    Left = 8
    15     Height = 392
    16     Top = 40
     14    Height = 384
     15    Top = 48
    1716    Width = 624
    1817    Anchors = [akTop, akLeft, akRight, akBottom]
     
    5049    end
    5150    object ToolButton2: TToolButton
    52       Left = 24
     51      Left = 30
    5352      Top = 2
    5453      Action = AModify
    5554    end
    5655    object ToolButton3: TToolButton
    57       Left = 47
     56      Left = 59
    5857      Top = 2
    5958      Action = ARemove
    6059    end
    6160    object ToolButton4: TToolButton
    62       Left = 70
     61      Left = 88
    6362      Top = 2
    6463      Action = AMoveUp
    6564    end
    6665    object ToolButton5: TToolButton
    67       Left = 93
     66      Left = 117
    6867      Top = 2
    6968      Action = AMoveDown
     
    7271  object Label1: TLabel
    7372    Left = 10
    74     Height = 20
     73    Height = 23
    7574    Top = 10
    76     Width = 63
     75    Width = 75
    7776    Caption = 'Operator:'
    7877    ParentColor = False
    7978  end
    80   object ComboBox1: TComboBox
     79  object ComboBoxOperator: TComboBox
    8180    Left = 153
    82     Height = 28
     81    Height = 33
    8382    Top = 9
    8483    Width = 231
    85     ItemHeight = 20
     84    ItemHeight = 0
    8685    Items.Strings = (
    8786      'And'
    8887      'Or'
    8988    )
     89    OnChange = ComboBoxOperatorChange
    9090    Style = csDropDownList
    9191    TabOrder = 2
     92  end
     93  object CheckBoxWhiteSpace: TCheckBox
     94    Left = 408
     95    Height = 27
     96    Top = 10
     97    Width = 161
     98    Caption = 'With white spaces'
     99    TabOrder = 3
    92100  end
    93101  object PopupMenu1: TPopupMenu
  • branches/generator/Forms/UFormRuleItems.pas

    r129 r136  
    2020    AMoveUp: TAction;
    2121    ARemove: TAction;
    22     ComboBox1: TComboBox;
     22    CheckBoxWhiteSpace: TCheckBox;
     23    ComboBoxOperator: TComboBox;
    2324    Label1: TLabel;
    2425    ListView1: TListView;
     
    4041    procedure AMoveUpExecute(Sender: TObject);
    4142    procedure ARemoveExecute(Sender: TObject);
     43    procedure ComboBoxOperatorChange(Sender: TObject);
    4244    procedure FormCreate(Sender: TObject);
    4345    procedure FormShow(Sender: TObject);
     
    8284  NewRuleItem := TRuleItem.Create;
    8385  NewRuleItem.Grammer := RuleItems.Grammer;
     86  NewRuleItem.ParentRule := RuleItems.ParentRule;
    8487  FormRuleItem := TFormRuleItem.Create(nil);
    8588  FormRuleItem.LoadData(NewRuleItem);
     
    141144end;
    142145
     146procedure TFormRuleItems.ComboBoxOperatorChange(Sender: TObject);
     147begin
     148  UpdateInterface;
     149end;
     150
    143151procedure TFormRuleItems.FormCreate(Sender: TObject);
    144152begin
     
    174182  AMoveUp.Enabled := Assigned(ListView1.Selected) and (ListView1.Selected.Index > 0);
    175183  AMoveDown.Enabled := Assigned(ListView1.Selected) and (ListView1.Selected.Index < (ListView1.Items.Count - 1));
     184  CheckBoxWhiteSpace.Enabled := ComboBoxOperator.ItemIndex = 0;
    176185end;
    177186
     
    186195begin
    187196  Self.RuleItems := RuleItems;
    188   ComboBox1.ItemIndex := Integer(RuleItems.RuleType);
     197  ComboBoxOperator.ItemIndex := Integer(RuleItems.RuleType);
     198  CheckBoxWhiteSpace.Checked := RuleItems.WithWhiteSpeaces;
    189199end;
    190200
    191201procedure TFormRuleItems.SaveData(RuleItems: TRuleItems);
    192202begin
    193   RuleItems.RuleType := TRuleType(ComboBox1.ItemIndex);
     203  RuleItems.RuleType := TRuleType(ComboBoxOperator.ItemIndex);
     204  RuleItems.WithWhiteSpeaces := CheckBoxWhiteSpace.Checked;
    194205end;
    195206
  • branches/generator/Grammers/Test And.grm

    r131 r136  
    88      <RuleItems>
    99        <Type>0</Type>
     10        <WithWhiteSpaces>0</WithWhiteSpaces>
    1011        <RuleItem>
    1112          <Type>0</Type>
  • branches/generator/Languages/generator.cs.po

    r131 r136  
    2929msgstr "Počáteční pravidlo:"
    3030
     31#: tformgrammer.label2.caption
     32msgid "White space rule:"
     33msgstr ""
     34
    3135#: tformmain.abuildcompiler.caption
    3236msgid "Build compiler"
     
    195199msgstr "Vše kromě"
    196200
     201#: tformruleitem.checkboxescapedstring.caption
     202msgctxt "tformruleitem.checkboxescapedstring.caption"
     203msgid "Escaped strings"
     204msgstr ""
     205
    197206#: tformruleitem.checkboxoptional.caption
    198207msgid "Optional"
     
    266275msgstr "PoloÅŸky pravidla"
    267276
     277#: tformruleitems.checkboxwhitespace.caption
     278msgid "With white spaces"
     279msgstr ""
     280
    268281#: tformruleitems.label1.caption
    269282msgid "Operator:"
     
    343356msgid "Unsaved changes"
    344357msgstr "NeuloÅŸené změny"
     358
  • branches/generator/Languages/generator.po

    r131 r136  
    1919msgstr ""
    2020
     21#: tformgrammer.label2.caption
     22msgid "White space rule:"
     23msgstr ""
     24
    2125#: tformmain.abuildcompiler.caption
    2226msgid "Build compiler"
     
    185189msgstr ""
    186190
     191#: tformruleitem.checkboxescapedstring.caption
     192msgctxt "tformruleitem.checkboxescapedstring.caption"
     193msgid "Escaped strings"
     194msgstr ""
     195
    187196#: tformruleitem.checkboxoptional.caption
    188197msgid "Optional"
     
    256265msgstr ""
    257266
     267#: tformruleitems.checkboxwhitespace.caption
     268msgid "With white spaces"
     269msgstr ""
     270
    258271#: tformruleitems.label1.caption
    259272msgid "Operator:"
  • branches/generator/Packages/Common/UXMLUtils.pas

    r114 r136  
    77uses
    88  {$IFDEF WINDOWS}Windows,{$ENDIF}
    9   Classes, SysUtils, DateUtils, XMLRead, XMLWrite, DOM;
     9  Classes, SysUtils, DateUtils, XMLRead, DOM;
    1010
    1111function XMLTimeToDateTime(XMLDateTime: string): TDateTime;
     
    2121function ReadString(Node: TDOMNode; Name: string; DefaultValue: string): string;
    2222function ReadDateTime(Node: TDOMNode; Name: string; DefaultValue: TDateTime): TDateTime;
     23procedure ReadXMLFileParser(out Doc: TXMLDocument; FileName: string);
    2324
    2425
    2526implementation
     27
     28procedure ReadXMLFileParser(out Doc: TXMLDocument; FileName: string);
     29var
     30  Parser: TDOMParser;
     31  Src: TXMLInputSource;
     32  InFile: TFileStream;
     33begin
     34  try
     35    InFile := TFileStream.Create(FileName, fmOpenRead);
     36    Src := TXMLInputSource.Create(InFile);
     37    Parser := TDOMParser.Create;
     38    Parser.Options.PreserveWhitespace := True;
     39    Parser.Parse(Src, Doc);
     40  finally
     41    Src.Free;
     42    Parser.Free;
     43    InFile.Free;
     44  end;
     45end;
    2646
    2747function GetTimeZoneBias: Integer;
  • branches/generator/UBuilder.pas

    r135 r136  
    1818    function Indent(Count: Integer): string;
    1919    function GetItemString(Item: TRuleItem; Required: Boolean; IndentLevel: Integer): string;
    20     function StringText(Text: string): string;
     20    function StringText(const Text: string; Escaped: Boolean): string;
    2121    procedure BuildMain(FileName: string);
    2222    procedure BuildParser(FileName: string);
     
    4646  case Item.RuleItemType of
    4747    ritTerminal: Result := 'Expect(''' +
    48       StringText(Item.Terminal) + ''', ' + BooleanText[Required] + ')';
    49     ritNonTerminal: Result := 'Parse' + Item.NonTerminal.Name + '(' + BooleanText[Required] + ')';
     48      StringText(Item.Terminal, Item.EscapedStrings) + ''', Required and ' + BooleanText[Required] + ')';
     49    ritNonTerminal: Result := 'Parse' + Item.NonTerminal.Name + '(Required and ' + BooleanText[Required] + ')';
    5050    ritTerminalRange: Result := 'ExpectRange(''' +
    51       StringText(Item.TerminalFrom) + ''', ''' +
    52       StringText(Item.TerminalTo) + ''', ' + BooleanText[Required] + ')';
     51      StringText(Item.TerminalFrom, Item.EscapedStrings) + ''', ''' +
     52      StringText(Item.TerminalTo, Item.EscapedStrings) + ''', Required and ' + BooleanText[Required] + ')';
    5353    ritSubItems: begin
    5454      LocalFunctions := LocalFunctions + 'function ParseSubitems' + IntToStr(LocalFunctionIndex) + '(Required: Boolean = False): Boolean;' + LineEnding;
    55       LocalFunctions := LocalFunctions + 'var' + LineEnding + '  OldPosition: Integer;' + LineEnding;
     55      LocalFunctions := LocalFunctions + 'var' + LineEnding;
     56      LocalFunctions := LocalFunctions + '  OldPosition: TPosition;' + LineEnding;
    5657      LocalFunctions := LocalFunctions + 'begin' + LineEnding;
    5758      LocalFunctions := LocalFunctions + '  Result := True;' + LineEnding;
     
    5960      LocalFunctions := LocalFunctions + 'end;' + LineEnding + LineEnding;
    6061
    61       Result := Result + 'ParseSubitems' + IntToStr(LocalFunctionIndex) + '(' + BooleanText[Required] + ')';
     62      Result := Result + 'ParseSubitems' + IntToStr(LocalFunctionIndex) + '(Required and ' + BooleanText[Required] + ')';
    6263      Inc(LocalFunctionIndex);
    6364    end;
     
    6566end;
    6667
    67 function TBuilder.StringText(Text: string): string;
    68 begin
    69   Result := StringReplace(Text, '''', '''''', [rfReplaceAll]);
     68function TBuilder.StringText(const Text: string; Escaped: Boolean): string;
     69begin
     70  Result := Text;
     71  Result := StringReplace(Result, '''', '''''', [rfReplaceAll]);
     72  if Escaped then begin
     73    Result := StringReplace(Result, '\n', '''#10''', [rfReplaceAll]);
     74    Result := StringReplace(Result, '\r', '''#13''', [rfReplaceAll]);
     75    Result := StringReplace(Result, '\t', '''#9''', [rfReplaceAll]);
     76    Result := StringReplace(Result, '\\', '\', [rfReplaceAll]);
     77  end;
    7078end;
    7179
     
    215223      end;
    216224      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
    217236        if not Item.Optional then
    218237          Line := Line + Indent(IndentLevel) + 'Result := Result and ';
     
    245264    rtOr: begin
    246265      Result := Result + Indent(IndentLevel) + 'else begin' + LineEnding;
    247       Result := Result + Indent(IndentLevel) + '  Error(''Unexpected token'');' + LineEnding;
     266      Result := Result + Indent(IndentLevel) + '  if Required then Error(''Unexpected token'');' + LineEnding;
    248267      Result := Result + Indent(IndentLevel) + '  Result := False;' + LineEnding;
    249268      Result := Result + Indent(IndentLevel) + 'end;' + LineEnding;
     
    360379    for Item in Items do begin
    361380      case Item.RuleItemType of
    362         ritTerminal: Result := Result + '(Value = ''' + StringText(Item.Terminal) + ''')';
     381        ritTerminal: Result := Result + '(Value = ''' + StringText(Item.Terminal, Item.EscapedStrings) + ''')';
    363382        ritNonTerminal: Result := Result + 'Is' + Item.NonTerminalName + '(Value)';
    364         ritTerminalRange: Result := Result + '((Value > ''' + StringText(Item.TerminalFrom) + ''') and (Value < ''' + StringText(Item.TerminalTo) + '''))';
     383        ritTerminalRange: Result := Result + '((Value > ''' + StringText(Item.TerminalFrom, Item.EscapedStrings) + ''') and (Value < ''' + StringText(Item.TerminalTo, Item.EscapedStrings) + '''))';
    365384        ritSubItems: Result := Result + '(' + BuildTokenizerItems(SourceFile, Item.SubItems) + ')';
    366385      end;
  • branches/generator/UGrammer.pas

    r131 r136  
    66
    77uses
    8   Classes, SysUtils, fgl, DOM, XmlRead, XmlWrite, UXMLUtils, Math;
     8  Classes, SysUtils, fgl, DOM, XmlWrite, UXMLUtils, Math;
    99
    1010type
     
    3333    TerminalFrom: string;
    3434    TerminalTo: string;
     35    EscapedStrings: Boolean;
    3536    NonTerminalName: string;
    3637    NonTerminal: TRule;
     
    5859    Grammer: TGrammer;
    5960    RuleType: TRuleType;
     61    WithWhiteSpeaces: Boolean;
    6062    function GetCharLength: Integer;
    6163    procedure LoadFromXmlNode(Node: TDOMNode);
     
    127129    Rules: TRules;
    128130    TopRule: TRule;
     131    WhiteSpaceRule: TRule;
    129132    procedure LoadFromXmlFile(FileName: string);
    130133    procedure SaveToXmlFile(FileName: string);
     
    177180  Rules.Clear;
    178181  try
    179     ReadXMLFile(Doc, FileName);
     182    ReadXMLFileParser(Doc, FileName);
    180183
    181184    RootNode := Doc.DocumentElement;
     
    187190
    188191      TopRule := Rules.FindName(ReadString(RootNode, 'TopRule', ''));
     192      WhiteSpaceRule := Rules.FindName(ReadString(RootNode, 'WhiteSpaceRule', ''));
    189193    end;
    190194  finally
     
    215219    if Assigned(TopRule) then
    216220      WriteString(RootNode, 'TopRule', TopRule.Name);
     221    if Assigned(WhiteSpaceRule) then
     222      WriteString(RootNode, 'WhiteSpaceRule', WhiteSpaceRule.Name);
    217223
    218224    WriteXMLFile(Doc, FileName);
     
    276282  WriteBoolean(Node, 'Repetitive', Repetitive);
    277283  WriteBoolean(Node, 'AnyExcept', AnyExcept);
     284  WriteBoolean(Node, 'EscapedStrings', EscapedStrings);
    278285
    279286  case RuleItemType of
     
    387394  Repetitive := ReadBoolean(Node, 'Repetitive', False);
    388395  AnyExcept := ReadBoolean(Node, 'AnyExcept', False);
     396  EscapedStrings := ReadBoolean(Node, 'EscapedStrings', False);
    389397  case RuleItemType of
    390398    ritTerminal: Terminal := ReadString(Node, 'Terminal', '');
     
    409417begin
    410418  WriteInteger(Node, 'Type', Integer(RuleType));
     419  WriteBoolean(Node, 'WithWhiteSpaces', WithWhiteSpeaces);
    411420
    412421  for RuleItem in Self do begin
     
    493502begin
    494503  RuleType := TRuleType(ReadInteger(Node, 'Type', Integer(rtAnd)));
     504  WithWhiteSpeaces := ReadBoolean(Node, 'WithWhiteSpaces', False);
    495505
    496506  RuleItemNode := Node.FirstChild;
  • branches/generator/pascal.grm

    r129 r136  
    88      <RuleItems>
    99        <Type>0</Type>
    10         <RuleItem>
    11           <Type>0</Type>
    12           <Optional>0</Optional>
    13           <Repetitive>0</Repetitive>
    14           <AnyExcept>0</AnyExcept>
     10        <WithWhiteSpaces>-1</WithWhiteSpaces>
     11        <RuleItem>
     12          <Type>0</Type>
     13          <Optional>0</Optional>
     14          <Repetitive>0</Repetitive>
     15          <AnyExcept>0</AnyExcept>
     16          <EscapedStrings>0</EscapedStrings>
    1517          <Terminal>begin</Terminal>
    1618        </RuleItem>
     
    2022          <Repetitive>-1</Repetitive>
    2123          <AnyExcept>0</AnyExcept>
     24          <EscapedStrings>0</EscapedStrings>
    2225          <NonTerminal>Statement</NonTerminal>
    2326        </RuleItem>
     
    2730          <Repetitive>0</Repetitive>
    2831          <AnyExcept>0</AnyExcept>
     32          <EscapedStrings>0</EscapedStrings>
    2933          <Terminal>end</Terminal>
    3034        </RuleItem>
     
    3741      <RuleItems>
    3842        <Type>0</Type>
    39         <RuleItem>
    40           <Type>0</Type>
    41           <Optional>0</Optional>
    42           <Repetitive>0</Repetitive>
    43           <AnyExcept>0</AnyExcept>
     43        <WithWhiteSpaces>-1</WithWhiteSpaces>
     44        <RuleItem>
     45          <Type>0</Type>
     46          <Optional>0</Optional>
     47          <Repetitive>0</Repetitive>
     48          <AnyExcept>0</AnyExcept>
     49          <EscapedStrings>0</EscapedStrings>
    4450          <Terminal>if</Terminal>
    4551        </RuleItem>
     
    4955          <Repetitive>0</Repetitive>
    5056          <AnyExcept>0</AnyExcept>
     57          <EscapedStrings>0</EscapedStrings>
    5158          <NonTerminal>Expression</NonTerminal>
    5259        </RuleItem>
     
    5663          <Repetitive>0</Repetitive>
    5764          <AnyExcept>0</AnyExcept>
     65          <EscapedStrings>0</EscapedStrings>
    5866          <Terminal>then</Terminal>
    5967        </RuleItem>
     
    6371          <Repetitive>0</Repetitive>
    6472          <AnyExcept>0</AnyExcept>
     73          <EscapedStrings>0</EscapedStrings>
    6574          <NonTerminal>Statement</NonTerminal>
    6675        </RuleItem>
     
    7079          <Repetitive>0</Repetitive>
    7180          <AnyExcept>0</AnyExcept>
     81          <EscapedStrings>0</EscapedStrings>
    7282          <SubItems>
    7383            <Type>0</Type>
     84            <WithWhiteSpaces>-1</WithWhiteSpaces>
    7485            <RuleItem>
    7586              <Type>0</Type>
     
    7788              <Repetitive>0</Repetitive>
    7889              <AnyExcept>0</AnyExcept>
     90              <EscapedStrings>0</EscapedStrings>
    7991              <Terminal>else</Terminal>
    8092            </RuleItem>
     
    8496              <Repetitive>0</Repetitive>
    8597              <AnyExcept>0</AnyExcept>
     98              <EscapedStrings>0</EscapedStrings>
    8699              <NonTerminal>Statement</NonTerminal>
    87100            </RuleItem>
     
    96109      <RuleItems>
    97110        <Type>0</Type>
    98         <RuleItem>
    99           <Type>0</Type>
    100           <Optional>0</Optional>
    101           <Repetitive>0</Repetitive>
    102           <AnyExcept>0</AnyExcept>
     111        <WithWhiteSpaces>-1</WithWhiteSpaces>
     112        <RuleItem>
     113          <Type>0</Type>
     114          <Optional>0</Optional>
     115          <Repetitive>0</Repetitive>
     116          <AnyExcept>0</AnyExcept>
     117          <EscapedStrings>0</EscapedStrings>
    103118          <Terminal>while</Terminal>
    104119        </RuleItem>
     
    108123          <Repetitive>0</Repetitive>
    109124          <AnyExcept>0</AnyExcept>
     125          <EscapedStrings>0</EscapedStrings>
    110126          <NonTerminal>Expression</NonTerminal>
    111127        </RuleItem>
     
    115131          <Repetitive>0</Repetitive>
    116132          <AnyExcept>0</AnyExcept>
     133          <EscapedStrings>0</EscapedStrings>
    117134          <Terminal>do</Terminal>
    118135        </RuleItem>
     
    122139          <Repetitive>0</Repetitive>
    123140          <AnyExcept>0</AnyExcept>
     141          <EscapedStrings>0</EscapedStrings>
    124142          <NonTerminal>Statement</NonTerminal>
    125143        </RuleItem>
     
    132150      <RuleItems>
    133151        <Type>0</Type>
    134         <RuleItem>
    135           <Type>0</Type>
    136           <Optional>0</Optional>
    137           <Repetitive>0</Repetitive>
    138           <AnyExcept>0</AnyExcept>
     152        <WithWhiteSpaces>-1</WithWhiteSpaces>
     153        <RuleItem>
     154          <Type>0</Type>
     155          <Optional>0</Optional>
     156          <Repetitive>0</Repetitive>
     157          <AnyExcept>0</AnyExcept>
     158          <EscapedStrings>0</EscapedStrings>
    139159          <Terminal>repeat</Terminal>
    140160        </RuleItem>
     
    144164          <Repetitive>0</Repetitive>
    145165          <AnyExcept>0</AnyExcept>
     166          <EscapedStrings>0</EscapedStrings>
    146167          <NonTerminal>Statement</NonTerminal>
    147168        </RuleItem>
     
    151172          <Repetitive>0</Repetitive>
    152173          <AnyExcept>0</AnyExcept>
     174          <EscapedStrings>0</EscapedStrings>
    153175          <Terminal>until</Terminal>
    154176        </RuleItem>
     
    158180          <Repetitive>0</Repetitive>
    159181          <AnyExcept>0</AnyExcept>
     182          <EscapedStrings>0</EscapedStrings>
    160183          <NonTerminal>Expression</NonTerminal>
    161184        </RuleItem>
     
    168191      <RuleItems>
    169192        <Type>0</Type>
    170         <RuleItem>
    171           <Type>0</Type>
    172           <Optional>0</Optional>
    173           <Repetitive>0</Repetitive>
    174           <AnyExcept>0</AnyExcept>
     193        <WithWhiteSpaces>-1</WithWhiteSpaces>
     194        <RuleItem>
     195          <Type>0</Type>
     196          <Optional>0</Optional>
     197          <Repetitive>0</Repetitive>
     198          <AnyExcept>0</AnyExcept>
     199          <EscapedStrings>0</EscapedStrings>
    175200          <Terminal>for</Terminal>
    176201        </RuleItem>
     
    180205          <Repetitive>0</Repetitive>
    181206          <AnyExcept>0</AnyExcept>
     207          <EscapedStrings>0</EscapedStrings>
    182208          <NonTerminal>VariableReference</NonTerminal>
    183209        </RuleItem>
     
    187213          <Repetitive>0</Repetitive>
    188214          <AnyExcept>0</AnyExcept>
     215          <EscapedStrings>0</EscapedStrings>
    189216          <Terminal>:=</Terminal>
    190217        </RuleItem>
     
    194221          <Repetitive>0</Repetitive>
    195222          <AnyExcept>0</AnyExcept>
     223          <EscapedStrings>0</EscapedStrings>
    196224          <NonTerminal>Expression</NonTerminal>
    197225        </RuleItem>
     
    201229          <Repetitive>0</Repetitive>
    202230          <AnyExcept>0</AnyExcept>
     231          <EscapedStrings>0</EscapedStrings>
    203232          <Terminal>to</Terminal>
    204233        </RuleItem>
     
    208237          <Repetitive>0</Repetitive>
    209238          <AnyExcept>0</AnyExcept>
     239          <EscapedStrings>0</EscapedStrings>
    210240          <NonTerminal>Expression</NonTerminal>
    211241        </RuleItem>
     
    215245          <Repetitive>0</Repetitive>
    216246          <AnyExcept>0</AnyExcept>
     247          <EscapedStrings>0</EscapedStrings>
    217248          <Terminal>do</Terminal>
    218249        </RuleItem>
     
    222253          <Repetitive>0</Repetitive>
    223254          <AnyExcept>0</AnyExcept>
     255          <EscapedStrings>0</EscapedStrings>
    224256          <NonTerminal>Statement</NonTerminal>
    225257        </RuleItem>
     
    232264      <RuleItems>
    233265        <Type>0</Type>
    234         <RuleItem>
    235           <Type>0</Type>
    236           <Optional>0</Optional>
    237           <Repetitive>0</Repetitive>
    238           <AnyExcept>0</AnyExcept>
     266        <WithWhiteSpaces>-1</WithWhiteSpaces>
     267        <RuleItem>
     268          <Type>0</Type>
     269          <Optional>0</Optional>
     270          <Repetitive>0</Repetitive>
     271          <AnyExcept>0</AnyExcept>
     272          <EscapedStrings>0</EscapedStrings>
    239273          <Terminal>with</Terminal>
    240274        </RuleItem>
     
    244278          <Repetitive>0</Repetitive>
    245279          <AnyExcept>0</AnyExcept>
     280          <EscapedStrings>0</EscapedStrings>
    246281          <NonTerminal>VariableReference</NonTerminal>
    247282        </RuleItem>
     
    251286          <Repetitive>0</Repetitive>
    252287          <AnyExcept>0</AnyExcept>
     288          <EscapedStrings>0</EscapedStrings>
    253289          <Terminal>do</Terminal>
    254290        </RuleItem>
     
    258294          <Repetitive>0</Repetitive>
    259295          <AnyExcept>0</AnyExcept>
     296          <EscapedStrings>0</EscapedStrings>
    260297          <NonTerminal>Statement</NonTerminal>
    261298        </RuleItem>
     
    268305      <RuleItems>
    269306        <Type>0</Type>
    270         <RuleItem>
    271           <Type>0</Type>
    272           <Optional>0</Optional>
    273           <Repetitive>0</Repetitive>
    274           <AnyExcept>0</AnyExcept>
     307        <WithWhiteSpaces>-1</WithWhiteSpaces>
     308        <RuleItem>
     309          <Type>0</Type>
     310          <Optional>0</Optional>
     311          <Repetitive>0</Repetitive>
     312          <AnyExcept>0</AnyExcept>
     313          <EscapedStrings>0</EscapedStrings>
    275314          <Terminal>case</Terminal>
    276315        </RuleItem>
     
    280319          <Repetitive>0</Repetitive>
    281320          <AnyExcept>0</AnyExcept>
     321          <EscapedStrings>0</EscapedStrings>
    282322          <NonTerminal>Expression</NonTerminal>
    283323        </RuleItem>
     
    287327          <Repetitive>0</Repetitive>
    288328          <AnyExcept>0</AnyExcept>
     329          <EscapedStrings>0</EscapedStrings>
    289330          <Terminal>of</Terminal>
    290331        </RuleItem>
     
    294335          <Repetitive>-1</Repetitive>
    295336          <AnyExcept>0</AnyExcept>
     337          <EscapedStrings>0</EscapedStrings>
    296338          <NonTerminal>CaseOfState</NonTerminal>
    297339        </RuleItem>
     
    301343          <Repetitive>0</Repetitive>
    302344          <AnyExcept>0</AnyExcept>
     345          <EscapedStrings>0</EscapedStrings>
    303346          <SubItems>
    304347            <Type>0</Type>
     348            <WithWhiteSpaces>-1</WithWhiteSpaces>
    305349            <RuleItem>
    306350              <Type>0</Type>
     
    308352              <Repetitive>0</Repetitive>
    309353              <AnyExcept>0</AnyExcept>
     354              <EscapedStrings>0</EscapedStrings>
    310355              <Terminal>else</Terminal>
    311356            </RuleItem>
     
    315360              <Repetitive>0</Repetitive>
    316361              <AnyExcept>0</AnyExcept>
     362              <EscapedStrings>0</EscapedStrings>
    317363              <NonTerminal>Statement</NonTerminal>
    318364            </RuleItem>
     
    322368              <Repetitive>0</Repetitive>
    323369              <AnyExcept>0</AnyExcept>
     370              <EscapedStrings>0</EscapedStrings>
    324371              <Terminal>;</Terminal>
    325372            </RuleItem>
     
    331378          <Repetitive>0</Repetitive>
    332379          <AnyExcept>0</AnyExcept>
     380          <EscapedStrings>0</EscapedStrings>
    333381          <Terminal>end</Terminal>
    334382        </RuleItem>
     
    341389      <RuleItems>
    342390        <Type>0</Type>
    343         <RuleItem>
    344           <Type>1</Type>
    345           <Optional>0</Optional>
    346           <Repetitive>0</Repetitive>
    347           <AnyExcept>0</AnyExcept>
     391        <WithWhiteSpaces>-1</WithWhiteSpaces>
     392        <RuleItem>
     393          <Type>1</Type>
     394          <Optional>0</Optional>
     395          <Repetitive>0</Repetitive>
     396          <AnyExcept>0</AnyExcept>
     397          <EscapedStrings>0</EscapedStrings>
    348398          <NonTerminal>VariableReference</NonTerminal>
    349399        </RuleItem>
     
    353403          <Repetitive>0</Repetitive>
    354404          <AnyExcept>0</AnyExcept>
     405          <EscapedStrings>0</EscapedStrings>
    355406          <Terminal>:=</Terminal>
    356407        </RuleItem>
     
    360411          <Repetitive>0</Repetitive>
    361412          <AnyExcept>0</AnyExcept>
     413          <EscapedStrings>0</EscapedStrings>
    362414          <NonTerminal>Expression</NonTerminal>
    363415        </RuleItem>
     
    370422      <RuleItems>
    371423        <Type>1</Type>
    372         <RuleItem>
    373           <Type>1</Type>
    374           <Optional>0</Optional>
    375           <Repetitive>0</Repetitive>
    376           <AnyExcept>0</AnyExcept>
     424        <WithWhiteSpaces>0</WithWhiteSpaces>
     425        <RuleItem>
     426          <Type>1</Type>
     427          <Optional>0</Optional>
     428          <Repetitive>0</Repetitive>
     429          <AnyExcept>0</AnyExcept>
     430          <EscapedStrings>0</EscapedStrings>
    377431          <NonTerminal>BeginEnd</NonTerminal>
    378432        </RuleItem>
     
    382436          <Repetitive>0</Repetitive>
    383437          <AnyExcept>0</AnyExcept>
     438          <EscapedStrings>0</EscapedStrings>
    384439          <NonTerminal>IfThenElse</NonTerminal>
    385440        </RuleItem>
     
    389444          <Repetitive>0</Repetitive>
    390445          <AnyExcept>0</AnyExcept>
     446          <EscapedStrings>0</EscapedStrings>
    391447          <NonTerminal>WhileDo</NonTerminal>
    392448        </RuleItem>
     
    396452          <Repetitive>0</Repetitive>
    397453          <AnyExcept>0</AnyExcept>
     454          <EscapedStrings>0</EscapedStrings>
    398455          <NonTerminal>RepeatUntil</NonTerminal>
    399456        </RuleItem>
     
    403460          <Repetitive>0</Repetitive>
    404461          <AnyExcept>0</AnyExcept>
     462          <EscapedStrings>0</EscapedStrings>
    405463          <NonTerminal>ForToDo</NonTerminal>
    406464        </RuleItem>
     
    410468          <Repetitive>0</Repetitive>
    411469          <AnyExcept>0</AnyExcept>
     470          <EscapedStrings>0</EscapedStrings>
    412471          <NonTerminal>ForInDo</NonTerminal>
    413472        </RuleItem>
     
    417476          <Repetitive>0</Repetitive>
    418477          <AnyExcept>0</AnyExcept>
     478          <EscapedStrings>0</EscapedStrings>
    419479          <NonTerminal>WithDo</NonTerminal>
    420480        </RuleItem>
     
    424484          <Repetitive>0</Repetitive>
    425485          <AnyExcept>0</AnyExcept>
     486          <EscapedStrings>0</EscapedStrings>
    426487          <NonTerminal>CaseOf</NonTerminal>
    427488        </RuleItem>
     
    431492          <Repetitive>0</Repetitive>
    432493          <AnyExcept>0</AnyExcept>
     494          <EscapedStrings>0</EscapedStrings>
    433495          <NonTerminal>Assignment</NonTerminal>
    434496        </RuleItem>
     
    441503      <RuleItems>
    442504        <Type>0</Type>
    443         <RuleItem>
    444           <Type>1</Type>
    445           <Optional>0</Optional>
    446           <Repetitive>0</Repetitive>
    447           <AnyExcept>0</AnyExcept>
     505        <WithWhiteSpaces>0</WithWhiteSpaces>
     506        <RuleItem>
     507          <Type>1</Type>
     508          <Optional>0</Optional>
     509          <Repetitive>0</Repetitive>
     510          <AnyExcept>0</AnyExcept>
     511          <EscapedStrings>0</EscapedStrings>
    448512          <NonTerminal>Term</NonTerminal>
    449513        </RuleItem>
     
    456520      <RuleItems>
    457521        <Type>0</Type>
    458         <RuleItem>
    459           <Type>1</Type>
    460           <Optional>0</Optional>
    461           <Repetitive>0</Repetitive>
    462           <AnyExcept>0</AnyExcept>
     522        <WithWhiteSpaces>0</WithWhiteSpaces>
     523        <RuleItem>
     524          <Type>1</Type>
     525          <Optional>0</Optional>
     526          <Repetitive>0</Repetitive>
     527          <AnyExcept>0</AnyExcept>
     528          <EscapedStrings>0</EscapedStrings>
    463529          <NonTerminal>Identifier</NonTerminal>
    464530        </RuleItem>
     
    471537      <RuleItems>
    472538        <Type>0</Type>
     539        <WithWhiteSpaces>-1</WithWhiteSpaces>
    473540        <RuleItem>
    474541          <Type>2</Type>
     
    476543          <Repetitive>0</Repetitive>
    477544          <AnyExcept>0</AnyExcept>
     545          <EscapedStrings>0</EscapedStrings>
    478546          <SubItems>
    479547            <Type>0</Type>
     548            <WithWhiteSpaces>-1</WithWhiteSpaces>
    480549            <RuleItem>
    481550              <Type>0</Type>
     
    483552              <Repetitive>0</Repetitive>
    484553              <AnyExcept>0</AnyExcept>
     554              <EscapedStrings>0</EscapedStrings>
    485555              <Terminal>program</Terminal>
    486556            </RuleItem>
     
    490560              <Repetitive>0</Repetitive>
    491561              <AnyExcept>0</AnyExcept>
     562              <EscapedStrings>0</EscapedStrings>
    492563              <NonTerminal>ProgramName</NonTerminal>
    493564            </RuleItem>
     
    497568              <Repetitive>0</Repetitive>
    498569              <AnyExcept>0</AnyExcept>
     570              <EscapedStrings>0</EscapedStrings>
    499571              <Terminal>;</Terminal>
    500572            </RuleItem>
     
    506578          <Repetitive>0</Repetitive>
    507579          <AnyExcept>0</AnyExcept>
     580          <EscapedStrings>0</EscapedStrings>
    508581          <NonTerminal>Uses</NonTerminal>
    509582        </RuleItem>
     
    513586          <Repetitive>0</Repetitive>
    514587          <AnyExcept>0</AnyExcept>
     588          <EscapedStrings>0</EscapedStrings>
    515589          <NonTerminal>DeclarationBlock</NonTerminal>
    516590        </RuleItem>
     
    520594          <Repetitive>0</Repetitive>
    521595          <AnyExcept>0</AnyExcept>
     596          <EscapedStrings>0</EscapedStrings>
    522597          <Terminal>.</Terminal>
    523598        </RuleItem>
     
    530605      <RuleItems>
    531606        <Type>0</Type>
    532         <RuleItem>
    533           <Type>0</Type>
    534           <Optional>0</Optional>
    535           <Repetitive>0</Repetitive>
    536           <AnyExcept>0</AnyExcept>
     607        <WithWhiteSpaces>-1</WithWhiteSpaces>
     608        <RuleItem>
     609          <Type>0</Type>
     610          <Optional>0</Optional>
     611          <Repetitive>0</Repetitive>
     612          <AnyExcept>0</AnyExcept>
     613          <EscapedStrings>0</EscapedStrings>
    537614          <Terminal>uses</Terminal>
    538615        </RuleItem>
     
    542619          <Repetitive>0</Repetitive>
    543620          <AnyExcept>0</AnyExcept>
     621          <EscapedStrings>0</EscapedStrings>
    544622          <NonTerminal>UnitReference</NonTerminal>
    545623        </RuleItem>
     
    549627          <Repetitive>-1</Repetitive>
    550628          <AnyExcept>0</AnyExcept>
     629          <EscapedStrings>0</EscapedStrings>
    551630          <SubItems>
    552631            <Type>0</Type>
     632            <WithWhiteSpaces>-1</WithWhiteSpaces>
    553633            <RuleItem>
    554634              <Type>0</Type>
     
    556636              <Repetitive>0</Repetitive>
    557637              <AnyExcept>0</AnyExcept>
     638              <EscapedStrings>0</EscapedStrings>
    558639              <Terminal>,</Terminal>
    559640            </RuleItem>
     
    563644              <Repetitive>0</Repetitive>
    564645              <AnyExcept>0</AnyExcept>
     646              <EscapedStrings>0</EscapedStrings>
    565647              <NonTerminal>UnitReference</NonTerminal>
    566648            </RuleItem>
     
    572654          <Repetitive>0</Repetitive>
    573655          <AnyExcept>0</AnyExcept>
     656          <EscapedStrings>0</EscapedStrings>
    574657          <Terminal>;</Terminal>
    575658        </RuleItem>
     
    582665      <RuleItems>
    583666        <Type>0</Type>
    584         <RuleItem>
    585           <Type>1</Type>
    586           <Optional>0</Optional>
    587           <Repetitive>0</Repetitive>
    588           <AnyExcept>0</AnyExcept>
     667        <WithWhiteSpaces>0</WithWhiteSpaces>
     668        <RuleItem>
     669          <Type>1</Type>
     670          <Optional>0</Optional>
     671          <Repetitive>0</Repetitive>
     672          <AnyExcept>0</AnyExcept>
     673          <EscapedStrings>0</EscapedStrings>
    589674          <NonTerminal>Identifier</NonTerminal>
    590675        </RuleItem>
     
    597682      <RuleItems>
    598683        <Type>0</Type>
    599         <RuleItem>
    600           <Type>0</Type>
    601           <Optional>0</Optional>
    602           <Repetitive>0</Repetitive>
    603           <AnyExcept>0</AnyExcept>
     684        <WithWhiteSpaces>-1</WithWhiteSpaces>
     685        <RuleItem>
     686          <Type>0</Type>
     687          <Optional>0</Optional>
     688          <Repetitive>0</Repetitive>
     689          <AnyExcept>0</AnyExcept>
     690          <EscapedStrings>0</EscapedStrings>
    604691          <Terminal>function</Terminal>
    605692        </RuleItem>
     
    609696          <Repetitive>0</Repetitive>
    610697          <AnyExcept>0</AnyExcept>
     698          <EscapedStrings>0</EscapedStrings>
    611699          <NonTerminal>FunctionName</NonTerminal>
    612700        </RuleItem>
     
    616704          <Repetitive>0</Repetitive>
    617705          <AnyExcept>0</AnyExcept>
     706          <EscapedStrings>0</EscapedStrings>
    618707          <NonTerminal>FunctionParameters</NonTerminal>
    619708        </RuleItem>
     
    623712          <Repetitive>0</Repetitive>
    624713          <AnyExcept>0</AnyExcept>
     714          <EscapedStrings>0</EscapedStrings>
    625715          <Terminal>:</Terminal>
    626716        </RuleItem>
     
    630720          <Repetitive>0</Repetitive>
    631721          <AnyExcept>0</AnyExcept>
     722          <EscapedStrings>0</EscapedStrings>
    632723          <NonTerminal>TypeReference</NonTerminal>
    633724        </RuleItem>
     
    637728          <Repetitive>0</Repetitive>
    638729          <AnyExcept>0</AnyExcept>
     730          <EscapedStrings>0</EscapedStrings>
    639731          <Terminal>;</Terminal>
    640732        </RuleItem>
     
    644736          <Repetitive>0</Repetitive>
    645737          <AnyExcept>0</AnyExcept>
     738          <EscapedStrings>0</EscapedStrings>
    646739          <NonTerminal>DeclarationBlock</NonTerminal>
    647740        </RuleItem>
     
    651744          <Repetitive>0</Repetitive>
    652745          <AnyExcept>0</AnyExcept>
     746          <EscapedStrings>0</EscapedStrings>
    653747          <Terminal>;</Terminal>
    654748        </RuleItem>
     
    661755      <RuleItems>
    662756        <Type>0</Type>
    663         <RuleItem>
    664           <Type>1</Type>
    665           <Optional>0</Optional>
    666           <Repetitive>0</Repetitive>
    667           <AnyExcept>0</AnyExcept>
     757        <WithWhiteSpaces>0</WithWhiteSpaces>
     758        <RuleItem>
     759          <Type>1</Type>
     760          <Optional>0</Optional>
     761          <Repetitive>0</Repetitive>
     762          <AnyExcept>0</AnyExcept>
     763          <EscapedStrings>0</EscapedStrings>
    668764          <NonTerminal>Letter</NonTerminal>
    669765        </RuleItem>
     
    673769          <Repetitive>-1</Repetitive>
    674770          <AnyExcept>0</AnyExcept>
     771          <EscapedStrings>0</EscapedStrings>
    675772          <SubItems>
    676773            <Type>1</Type>
     774            <WithWhiteSpaces>0</WithWhiteSpaces>
    677775            <RuleItem>
    678776              <Type>1</Type>
     
    680778              <Repetitive>0</Repetitive>
    681779              <AnyExcept>0</AnyExcept>
     780              <EscapedStrings>0</EscapedStrings>
    682781              <NonTerminal>Letter</NonTerminal>
    683782            </RuleItem>
     
    687786              <Repetitive>0</Repetitive>
    688787              <AnyExcept>0</AnyExcept>
     788              <EscapedStrings>0</EscapedStrings>
    689789              <NonTerminal>Digit</NonTerminal>
    690790            </RuleItem>
     
    694794              <Repetitive>0</Repetitive>
    695795              <AnyExcept>0</AnyExcept>
     796              <EscapedStrings>0</EscapedStrings>
    696797              <Terminal>_</Terminal>
    697798            </RuleItem>
     
    706807      <RuleItems>
    707808        <Type>0</Type>
    708         <RuleItem>
    709           <Type>0</Type>
    710           <Optional>0</Optional>
    711           <Repetitive>0</Repetitive>
    712           <AnyExcept>0</AnyExcept>
     809        <WithWhiteSpaces>-1</WithWhiteSpaces>
     810        <RuleItem>
     811          <Type>0</Type>
     812          <Optional>0</Optional>
     813          <Repetitive>0</Repetitive>
     814          <AnyExcept>0</AnyExcept>
     815          <EscapedStrings>0</EscapedStrings>
    713816          <Terminal>var</Terminal>
    714817        </RuleItem>
     
    718821          <Repetitive>-1</Repetitive>
    719822          <AnyExcept>0</AnyExcept>
     823          <EscapedStrings>0</EscapedStrings>
    720824          <NonTerminal>VariableDefinition</NonTerminal>
    721825        </RuleItem>
     
    728832      <RuleItems>
    729833        <Type>0</Type>
    730         <RuleItem>
    731           <Type>0</Type>
    732           <Optional>0</Optional>
    733           <Repetitive>0</Repetitive>
    734           <AnyExcept>0</AnyExcept>
     834        <WithWhiteSpaces>-1</WithWhiteSpaces>
     835        <RuleItem>
     836          <Type>0</Type>
     837          <Optional>0</Optional>
     838          <Repetitive>0</Repetitive>
     839          <AnyExcept>0</AnyExcept>
     840          <EscapedStrings>0</EscapedStrings>
    735841          <Terminal>(</Terminal>
    736842        </RuleItem>
     
    740846          <Repetitive>0</Repetitive>
    741847          <AnyExcept>0</AnyExcept>
     848          <EscapedStrings>0</EscapedStrings>
    742849          <NonTerminal>FunctionParameter</NonTerminal>
    743850        </RuleItem>
     
    747854          <Repetitive>-1</Repetitive>
    748855          <AnyExcept>0</AnyExcept>
     856          <EscapedStrings>0</EscapedStrings>
    749857          <SubItems>
    750858            <Type>0</Type>
     859            <WithWhiteSpaces>-1</WithWhiteSpaces>
    751860            <RuleItem>
    752861              <Type>0</Type>
     
    754863              <Repetitive>0</Repetitive>
    755864              <AnyExcept>0</AnyExcept>
     865              <EscapedStrings>0</EscapedStrings>
    756866              <Terminal>;</Terminal>
    757867            </RuleItem>
     
    761871              <Repetitive>0</Repetitive>
    762872              <AnyExcept>0</AnyExcept>
     873              <EscapedStrings>0</EscapedStrings>
    763874              <NonTerminal>FunctionParameter</NonTerminal>
    764875            </RuleItem>
     
    770881          <Repetitive>0</Repetitive>
    771882          <AnyExcept>0</AnyExcept>
     883          <EscapedStrings>0</EscapedStrings>
    772884          <Terminal>)</Terminal>
    773885        </RuleItem>
     
    780892      <RuleItems>
    781893        <Type>0</Type>
    782         <RuleItem>
    783           <Type>1</Type>
    784           <Optional>0</Optional>
    785           <Repetitive>0</Repetitive>
    786           <AnyExcept>0</AnyExcept>
     894        <WithWhiteSpaces>-1</WithWhiteSpaces>
     895        <RuleItem>
     896          <Type>1</Type>
     897          <Optional>0</Optional>
     898          <Repetitive>0</Repetitive>
     899          <AnyExcept>0</AnyExcept>
     900          <EscapedStrings>0</EscapedStrings>
    787901          <NonTerminal>ParameterName</NonTerminal>
    788902        </RuleItem>
     
    792906          <Repetitive>0</Repetitive>
    793907          <AnyExcept>0</AnyExcept>
     908          <EscapedStrings>0</EscapedStrings>
    794909          <Terminal>:</Terminal>
    795910        </RuleItem>
     
    799914          <Repetitive>0</Repetitive>
    800915          <AnyExcept>0</AnyExcept>
     916          <EscapedStrings>0</EscapedStrings>
    801917          <NonTerminal>TypeReference</NonTerminal>
    802918        </RuleItem>
     
    809925      <RuleItems>
    810926        <Type>0</Type>
    811         <RuleItem>
    812           <Type>1</Type>
    813           <Optional>0</Optional>
    814           <Repetitive>0</Repetitive>
    815           <AnyExcept>0</AnyExcept>
     927        <WithWhiteSpaces>-1</WithWhiteSpaces>
     928        <RuleItem>
     929          <Type>1</Type>
     930          <Optional>0</Optional>
     931          <Repetitive>0</Repetitive>
     932          <AnyExcept>0</AnyExcept>
     933          <EscapedStrings>0</EscapedStrings>
    816934          <NonTerminal>VariableName</NonTerminal>
    817935        </RuleItem>
     
    821939          <Repetitive>0</Repetitive>
    822940          <AnyExcept>0</AnyExcept>
     941          <EscapedStrings>0</EscapedStrings>
    823942          <Terminal>:</Terminal>
    824943        </RuleItem>
     
    828947          <Repetitive>0</Repetitive>
    829948          <AnyExcept>0</AnyExcept>
     949          <EscapedStrings>0</EscapedStrings>
    830950          <NonTerminal>TypeReference</NonTerminal>
    831951        </RuleItem>
     
    835955          <Repetitive>0</Repetitive>
    836956          <AnyExcept>0</AnyExcept>
     957          <EscapedStrings>0</EscapedStrings>
    837958          <Terminal>;</Terminal>
    838959        </RuleItem>
     
    845966      <RuleItems>
    846967        <Type>0</Type>
    847         <RuleItem>
    848           <Type>1</Type>
    849           <Optional>0</Optional>
    850           <Repetitive>0</Repetitive>
    851           <AnyExcept>0</AnyExcept>
     968        <WithWhiteSpaces>0</WithWhiteSpaces>
     969        <RuleItem>
     970          <Type>1</Type>
     971          <Optional>0</Optional>
     972          <Repetitive>0</Repetitive>
     973          <AnyExcept>0</AnyExcept>
     974          <EscapedStrings>0</EscapedStrings>
    852975          <NonTerminal>Identifier</NonTerminal>
    853976        </RuleItem>
     
    860983      <RuleItems>
    861984        <Type>0</Type>
    862         <RuleItem>
    863           <Type>1</Type>
    864           <Optional>0</Optional>
    865           <Repetitive>0</Repetitive>
    866           <AnyExcept>0</AnyExcept>
     985        <WithWhiteSpaces>0</WithWhiteSpaces>
     986        <RuleItem>
     987          <Type>1</Type>
     988          <Optional>0</Optional>
     989          <Repetitive>0</Repetitive>
     990          <AnyExcept>0</AnyExcept>
     991          <EscapedStrings>0</EscapedStrings>
    867992          <NonTerminal>Identifier</NonTerminal>
    868993        </RuleItem>
     
    8751000      <RuleItems>
    8761001        <Type>0</Type>
    877         <RuleItem>
    878           <Type>0</Type>
    879           <Optional>0</Optional>
    880           <Repetitive>0</Repetitive>
    881           <AnyExcept>0</AnyExcept>
     1002        <WithWhiteSpaces>-1</WithWhiteSpaces>
     1003        <RuleItem>
     1004          <Type>0</Type>
     1005          <Optional>0</Optional>
     1006          <Repetitive>0</Repetitive>
     1007          <AnyExcept>0</AnyExcept>
     1008          <EscapedStrings>0</EscapedStrings>
    8821009          <Terminal>unit</Terminal>
    8831010        </RuleItem>
     
    8871014          <Repetitive>0</Repetitive>
    8881015          <AnyExcept>0</AnyExcept>
     1016          <EscapedStrings>0</EscapedStrings>
    8891017          <NonTerminal>UnitName</NonTerminal>
    8901018        </RuleItem>
     
    8941022          <Repetitive>0</Repetitive>
    8951023          <AnyExcept>0</AnyExcept>
     1024          <EscapedStrings>0</EscapedStrings>
    8961025          <Terminal>;</Terminal>
    8971026        </RuleItem>
     
    9011030          <Repetitive>0</Repetitive>
    9021031          <AnyExcept>0</AnyExcept>
     1032          <EscapedStrings>0</EscapedStrings>
    9031033          <Terminal>interface</Terminal>
    9041034        </RuleItem>
     
    9081038          <Repetitive>0</Repetitive>
    9091039          <AnyExcept>0</AnyExcept>
     1040          <EscapedStrings>0</EscapedStrings>
    9101041          <NonTerminal>Uses</NonTerminal>
    9111042        </RuleItem>
     
    9151046          <Repetitive>0</Repetitive>
    9161047          <AnyExcept>0</AnyExcept>
     1048          <EscapedStrings>0</EscapedStrings>
    9171049          <Terminal>implementation</Terminal>
    9181050        </RuleItem>
     
    9221054          <Repetitive>0</Repetitive>
    9231055          <AnyExcept>0</AnyExcept>
     1056          <EscapedStrings>0</EscapedStrings>
    9241057          <NonTerminal>UnitInitialization</NonTerminal>
    9251058        </RuleItem>
     
    9291062          <Repetitive>0</Repetitive>
    9301063          <AnyExcept>0</AnyExcept>
     1064          <EscapedStrings>0</EscapedStrings>
    9311065          <NonTerminal>UnitFinalization</NonTerminal>
    9321066        </RuleItem>
     
    9361070          <Repetitive>0</Repetitive>
    9371071          <AnyExcept>0</AnyExcept>
     1072          <EscapedStrings>0</EscapedStrings>
    9381073          <Terminal>end.</Terminal>
    9391074        </RuleItem>
     
    9461081      <RuleItems>
    9471082        <Type>0</Type>
    948         <RuleItem>
    949           <Type>1</Type>
    950           <Optional>0</Optional>
    951           <Repetitive>0</Repetitive>
    952           <AnyExcept>0</AnyExcept>
     1083        <WithWhiteSpaces>0</WithWhiteSpaces>
     1084        <RuleItem>
     1085          <Type>1</Type>
     1086          <Optional>0</Optional>
     1087          <Repetitive>0</Repetitive>
     1088          <AnyExcept>0</AnyExcept>
     1089          <EscapedStrings>0</EscapedStrings>
    9531090          <NonTerminal>Identifier</NonTerminal>
    9541091        </RuleItem>
     
    9611098      <RuleItems>
    9621099        <Type>0</Type>
    963         <RuleItem>
    964           <Type>0</Type>
    965           <Optional>0</Optional>
    966           <Repetitive>0</Repetitive>
    967           <AnyExcept>0</AnyExcept>
     1100        <WithWhiteSpaces>-1</WithWhiteSpaces>
     1101        <RuleItem>
     1102          <Type>0</Type>
     1103          <Optional>0</Optional>
     1104          <Repetitive>0</Repetitive>
     1105          <AnyExcept>0</AnyExcept>
     1106          <EscapedStrings>0</EscapedStrings>
    9681107          <Terminal>for</Terminal>
    9691108        </RuleItem>
     
    9731112          <Repetitive>0</Repetitive>
    9741113          <AnyExcept>0</AnyExcept>
     1114          <EscapedStrings>0</EscapedStrings>
    9751115          <NonTerminal>VariableReference</NonTerminal>
    9761116        </RuleItem>
     
    9801120          <Repetitive>0</Repetitive>
    9811121          <AnyExcept>0</AnyExcept>
     1122          <EscapedStrings>0</EscapedStrings>
    9821123          <Terminal>in</Terminal>
    9831124        </RuleItem>
     
    9871128          <Repetitive>0</Repetitive>
    9881129          <AnyExcept>0</AnyExcept>
     1130          <EscapedStrings>0</EscapedStrings>
    9891131          <NonTerminal>Expression</NonTerminal>
    9901132        </RuleItem>
     
    9941136          <Repetitive>0</Repetitive>
    9951137          <AnyExcept>0</AnyExcept>
     1138          <EscapedStrings>0</EscapedStrings>
    9961139          <Terminal>do</Terminal>
    9971140        </RuleItem>
     
    10011144          <Repetitive>0</Repetitive>
    10021145          <AnyExcept>0</AnyExcept>
     1146          <EscapedStrings>0</EscapedStrings>
    10031147          <NonTerminal>Statement</NonTerminal>
    10041148        </RuleItem>
     
    10111155      <RuleItems>
    10121156        <Type>0</Type>
    1013         <RuleItem>
    1014           <Type>0</Type>
    1015           <Optional>0</Optional>
    1016           <Repetitive>0</Repetitive>
    1017           <AnyExcept>0</AnyExcept>
     1157        <WithWhiteSpaces>-1</WithWhiteSpaces>
     1158        <RuleItem>
     1159          <Type>0</Type>
     1160          <Optional>0</Optional>
     1161          <Repetitive>0</Repetitive>
     1162          <AnyExcept>0</AnyExcept>
     1163          <EscapedStrings>0</EscapedStrings>
    10181164          <Terminal>record</Terminal>
    10191165        </RuleItem>
     
    10231169          <Repetitive>0</Repetitive>
    10241170          <AnyExcept>0</AnyExcept>
     1171          <EscapedStrings>0</EscapedStrings>
    10251172          <Terminal>end</Terminal>
    10261173        </RuleItem>
     
    10301177          <Repetitive>-1</Repetitive>
    10311178          <AnyExcept>0</AnyExcept>
     1179          <EscapedStrings>0</EscapedStrings>
    10321180          <SubItems>
    10331181            <Type>0</Type>
     1182            <WithWhiteSpaces>0</WithWhiteSpaces>
    10341183            <RuleItem>
    10351184              <Type>1</Type>
     
    10371186              <Repetitive>0</Repetitive>
    10381187              <AnyExcept>0</AnyExcept>
     1188              <EscapedStrings>0</EscapedStrings>
    10391189              <NonTerminal>VariableName</NonTerminal>
    10401190            </RuleItem>
     
    10441194              <Repetitive>0</Repetitive>
    10451195              <AnyExcept>0</AnyExcept>
     1196              <EscapedStrings>0</EscapedStrings>
    10461197              <Terminal>:</Terminal>
    10471198            </RuleItem>
     
    10511202              <Repetitive>0</Repetitive>
    10521203              <AnyExcept>0</AnyExcept>
     1204              <EscapedStrings>0</EscapedStrings>
    10531205              <NonTerminal>TypeReference</NonTerminal>
    10541206            </RuleItem>
     
    10581210              <Repetitive>0</Repetitive>
    10591211              <AnyExcept>0</AnyExcept>
     1212              <EscapedStrings>0</EscapedStrings>
    10601213              <Terminal>;</Terminal>
    10611214            </RuleItem>
     
    10701223      <RuleItems>
    10711224        <Type>0</Type>
    1072         <RuleItem>
    1073           <Type>1</Type>
    1074           <Optional>0</Optional>
    1075           <Repetitive>0</Repetitive>
    1076           <AnyExcept>0</AnyExcept>
     1225        <WithWhiteSpaces>0</WithWhiteSpaces>
     1226        <RuleItem>
     1227          <Type>1</Type>
     1228          <Optional>0</Optional>
     1229          <Repetitive>0</Repetitive>
     1230          <AnyExcept>0</AnyExcept>
     1231          <EscapedStrings>0</EscapedStrings>
    10771232          <NonTerminal>Identifier</NonTerminal>
    10781233        </RuleItem>
     
    10851240      <RuleItems>
    10861241        <Type>0</Type>
    1087         <RuleItem>
    1088           <Type>1</Type>
    1089           <Optional>0</Optional>
    1090           <Repetitive>0</Repetitive>
    1091           <AnyExcept>0</AnyExcept>
     1242        <WithWhiteSpaces>0</WithWhiteSpaces>
     1243        <RuleItem>
     1244          <Type>1</Type>
     1245          <Optional>0</Optional>
     1246          <Repetitive>0</Repetitive>
     1247          <AnyExcept>0</AnyExcept>
     1248          <EscapedStrings>0</EscapedStrings>
    10921249          <NonTerminal>Identifier</NonTerminal>
    10931250        </RuleItem>
     
    11001257      <RuleItems>
    11011258        <Type>1</Type>
     1259        <WithWhiteSpaces>0</WithWhiteSpaces>
    11021260        <RuleItem>
    11031261          <Type>3</Type>
     
    11051263          <Repetitive>0</Repetitive>
    11061264          <AnyExcept>0</AnyExcept>
     1265          <EscapedStrings>0</EscapedStrings>
    11071266          <TerminalFrom>0</TerminalFrom>
    11081267          <TerminalTo>9</TerminalTo>
     
    11161275      <RuleItems>
    11171276        <Type>1</Type>
    1118         <RuleItem>
    1119           <Type>0</Type>
    1120           <Optional>0</Optional>
    1121           <Repetitive>0</Repetitive>
    1122           <AnyExcept>0</AnyExcept>
     1277        <WithWhiteSpaces>0</WithWhiteSpaces>
     1278        <RuleItem>
     1279          <Type>0</Type>
     1280          <Optional>0</Optional>
     1281          <Repetitive>0</Repetitive>
     1282          <AnyExcept>0</AnyExcept>
     1283          <EscapedStrings>0</EscapedStrings>
    11231284          <Terminal>+</Terminal>
    11241285        </RuleItem>
     
    11281289          <Repetitive>0</Repetitive>
    11291290          <AnyExcept>0</AnyExcept>
     1291          <EscapedStrings>0</EscapedStrings>
    11301292          <Terminal>-</Terminal>
    11311293        </RuleItem>
     
    11381300      <RuleItems>
    11391301        <Type>0</Type>
    1140         <RuleItem>
    1141           <Type>1</Type>
    1142           <Optional>0</Optional>
    1143           <Repetitive>0</Repetitive>
    1144           <AnyExcept>0</AnyExcept>
     1302        <WithWhiteSpaces>0</WithWhiteSpaces>
     1303        <RuleItem>
     1304          <Type>1</Type>
     1305          <Optional>0</Optional>
     1306          <Repetitive>0</Repetitive>
     1307          <AnyExcept>0</AnyExcept>
     1308          <EscapedStrings>0</EscapedStrings>
    11451309          <NonTerminal>Digit</NonTerminal>
    11461310        </RuleItem>
     
    11501314          <Repetitive>-1</Repetitive>
    11511315          <AnyExcept>0</AnyExcept>
     1316          <EscapedStrings>0</EscapedStrings>
    11521317          <NonTerminal>Digit</NonTerminal>
    11531318        </RuleItem>
     
    11601325      <RuleItems>
    11611326        <Type>0</Type>
    1162         <RuleItem>
    1163           <Type>1</Type>
    1164           <Optional>-1</Optional>
    1165           <Repetitive>0</Repetitive>
    1166           <AnyExcept>0</AnyExcept>
     1327        <WithWhiteSpaces>0</WithWhiteSpaces>
     1328        <RuleItem>
     1329          <Type>1</Type>
     1330          <Optional>-1</Optional>
     1331          <Repetitive>0</Repetitive>
     1332          <AnyExcept>0</AnyExcept>
     1333          <EscapedStrings>0</EscapedStrings>
    11671334          <NonTerminal>Sign</NonTerminal>
    11681335        </RuleItem>
     
    11721339          <Repetitive>0</Repetitive>
    11731340          <AnyExcept>0</AnyExcept>
     1341          <EscapedStrings>0</EscapedStrings>
    11741342          <NonTerminal>UnsignedDigitSequence</NonTerminal>
    11751343        </RuleItem>
     
    11821350      <RuleItems>
    11831351        <Type>0</Type>
    1184         <RuleItem>
    1185           <Type>1</Type>
    1186           <Optional>0</Optional>
    1187           <Repetitive>0</Repetitive>
    1188           <AnyExcept>0</AnyExcept>
     1352        <WithWhiteSpaces>0</WithWhiteSpaces>
     1353        <RuleItem>
     1354          <Type>1</Type>
     1355          <Optional>0</Optional>
     1356          <Repetitive>0</Repetitive>
     1357          <AnyExcept>0</AnyExcept>
     1358          <EscapedStrings>0</EscapedStrings>
    11891359          <NonTerminal>DigitSequence</NonTerminal>
    11901360        </RuleItem>
     
    11941364          <Repetitive>0</Repetitive>
    11951365          <AnyExcept>0</AnyExcept>
     1366          <EscapedStrings>0</EscapedStrings>
    11961367          <Terminal>.</Terminal>
    11971368        </RuleItem>
     
    12011372          <Repetitive>0</Repetitive>
    12021373          <AnyExcept>0</AnyExcept>
     1374          <EscapedStrings>0</EscapedStrings>
    12031375          <NonTerminal>UnsignedDigitSequence</NonTerminal>
    12041376        </RuleItem>
     
    12111383      <RuleItems>
    12121384        <Type>0</Type>
    1213         <RuleItem>
    1214           <Type>1</Type>
    1215           <Optional>0</Optional>
    1216           <Repetitive>0</Repetitive>
    1217           <AnyExcept>0</AnyExcept>
     1385        <WithWhiteSpaces>0</WithWhiteSpaces>
     1386        <RuleItem>
     1387          <Type>1</Type>
     1388          <Optional>0</Optional>
     1389          <Repetitive>0</Repetitive>
     1390          <AnyExcept>0</AnyExcept>
     1391          <EscapedStrings>0</EscapedStrings>
    12181392          <NonTerminal>DigitSequence</NonTerminal>
    12191393        </RuleItem>
     
    12261400      <RuleItems>
    12271401        <Type>1</Type>
    1228         <RuleItem>
    1229           <Type>1</Type>
    1230           <Optional>0</Optional>
    1231           <Repetitive>0</Repetitive>
    1232           <AnyExcept>0</AnyExcept>
     1402        <WithWhiteSpaces>0</WithWhiteSpaces>
     1403        <RuleItem>
     1404          <Type>1</Type>
     1405          <Optional>0</Optional>
     1406          <Repetitive>0</Repetitive>
     1407          <AnyExcept>0</AnyExcept>
     1408          <EscapedStrings>0</EscapedStrings>
    12331409          <NonTerminal>IntegerNumber</NonTerminal>
    12341410        </RuleItem>
     
    12381414          <Repetitive>0</Repetitive>
    12391415          <AnyExcept>0</AnyExcept>
     1416          <EscapedStrings>0</EscapedStrings>
    12401417          <NonTerminal>RealNumber</NonTerminal>
    12411418        </RuleItem>
     
    12481425      <RuleItems>
    12491426        <Type>1</Type>
     1427        <WithWhiteSpaces>0</WithWhiteSpaces>
    12501428        <RuleItem>
    12511429          <Type>3</Type>
     
    12531431          <Repetitive>0</Repetitive>
    12541432          <AnyExcept>0</AnyExcept>
     1433          <EscapedStrings>0</EscapedStrings>
    12551434          <TerminalFrom>a</TerminalFrom>
    12561435          <TerminalTo>z</TerminalTo>
     
    12611440          <Repetitive>0</Repetitive>
    12621441          <AnyExcept>0</AnyExcept>
     1442          <EscapedStrings>0</EscapedStrings>
    12631443          <TerminalFrom>A</TerminalFrom>
    12641444          <TerminalTo>Z</TerminalTo>
     
    12721452      <RuleItems>
    12731453        <Type>0</Type>
    1274         <RuleItem>
    1275           <Type>0</Type>
    1276           <Optional>0</Optional>
    1277           <Repetitive>0</Repetitive>
    1278           <AnyExcept>0</AnyExcept>
     1454        <WithWhiteSpaces>-1</WithWhiteSpaces>
     1455        <RuleItem>
     1456          <Type>0</Type>
     1457          <Optional>0</Optional>
     1458          <Repetitive>0</Repetitive>
     1459          <AnyExcept>0</AnyExcept>
     1460          <EscapedStrings>0</EscapedStrings>
    12791461          <Terminal>const</Terminal>
    12801462        </RuleItem>
     
    12841466          <Repetitive>-1</Repetitive>
    12851467          <AnyExcept>0</AnyExcept>
     1468          <EscapedStrings>0</EscapedStrings>
    12861469          <NonTerminal>ConstantDefinition</NonTerminal>
    12871470        </RuleItem>
     
    12941477      <RuleItems>
    12951478        <Type>1</Type>
    1296         <RuleItem>
    1297           <Type>1</Type>
    1298           <Optional>0</Optional>
    1299           <Repetitive>0</Repetitive>
    1300           <AnyExcept>0</AnyExcept>
     1479        <WithWhiteSpaces>0</WithWhiteSpaces>
     1480        <RuleItem>
     1481          <Type>1</Type>
     1482          <Optional>0</Optional>
     1483          <Repetitive>0</Repetitive>
     1484          <AnyExcept>0</AnyExcept>
     1485          <EscapedStrings>0</EscapedStrings>
    13011486          <NonTerminal>VariableSection</NonTerminal>
    13021487        </RuleItem>
     
    13061491          <Repetitive>0</Repetitive>
    13071492          <AnyExcept>0</AnyExcept>
     1493          <EscapedStrings>0</EscapedStrings>
    13081494          <NonTerminal>ConstantSection</NonTerminal>
    13091495        </RuleItem>
     
    13131499          <Repetitive>0</Repetitive>
    13141500          <AnyExcept>0</AnyExcept>
     1501          <EscapedStrings>0</EscapedStrings>
    13151502          <NonTerminal>TypeSection</NonTerminal>
    13161503        </RuleItem>
     
    13231510      <RuleItems>
    13241511        <Type>0</Type>
    1325         <RuleItem>
    1326           <Type>0</Type>
    1327           <Optional>0</Optional>
    1328           <Repetitive>0</Repetitive>
    1329           <AnyExcept>0</AnyExcept>
     1512        <WithWhiteSpaces>-1</WithWhiteSpaces>
     1513        <RuleItem>
     1514          <Type>0</Type>
     1515          <Optional>0</Optional>
     1516          <Repetitive>0</Repetitive>
     1517          <AnyExcept>0</AnyExcept>
     1518          <EscapedStrings>0</EscapedStrings>
    13301519          <Terminal>type</Terminal>
    13311520        </RuleItem>
     
    13351524          <Repetitive>-1</Repetitive>
    13361525          <AnyExcept>0</AnyExcept>
     1526          <EscapedStrings>0</EscapedStrings>
    13371527          <NonTerminal>TypeDefinition</NonTerminal>
    13381528        </RuleItem>
     
    13451535      <RuleItems>
    13461536        <Type>0</Type>
     1537        <WithWhiteSpaces>-1</WithWhiteSpaces>
    13471538        <RuleItem>
    13481539          <Type>1</Type>
     
    13501541          <Repetitive>-1</Repetitive>
    13511542          <AnyExcept>0</AnyExcept>
     1543          <EscapedStrings>0</EscapedStrings>
    13521544          <NonTerminal>Declaration</NonTerminal>
    13531545        </RuleItem>
     
    13571549          <Repetitive>0</Repetitive>
    13581550          <AnyExcept>0</AnyExcept>
     1551          <EscapedStrings>0</EscapedStrings>
    13591552          <NonTerminal>BeginEnd</NonTerminal>
    13601553        </RuleItem>
     
    13671560      <RuleItems>
    13681561        <Type>0</Type>
    1369         <RuleItem>
    1370           <Type>1</Type>
    1371           <Optional>0</Optional>
    1372           <Repetitive>0</Repetitive>
    1373           <AnyExcept>0</AnyExcept>
     1562        <WithWhiteSpaces>0</WithWhiteSpaces>
     1563        <RuleItem>
     1564          <Type>1</Type>
     1565          <Optional>0</Optional>
     1566          <Repetitive>0</Repetitive>
     1567          <AnyExcept>0</AnyExcept>
     1568          <EscapedStrings>0</EscapedStrings>
    13741569          <NonTerminal>Identifier</NonTerminal>
    13751570        </RuleItem>
     
    13821577      <RuleItems>
    13831578        <Type>0</Type>
    1384         <RuleItem>
    1385           <Type>1</Type>
    1386           <Optional>0</Optional>
    1387           <Repetitive>0</Repetitive>
    1388           <AnyExcept>0</AnyExcept>
     1579        <WithWhiteSpaces>-1</WithWhiteSpaces>
     1580        <RuleItem>
     1581          <Type>1</Type>
     1582          <Optional>0</Optional>
     1583          <Repetitive>0</Repetitive>
     1584          <AnyExcept>0</AnyExcept>
     1585          <EscapedStrings>0</EscapedStrings>
    13891586          <NonTerminal>Factor</NonTerminal>
    13901587        </RuleItem>
     
    13941591          <Repetitive>-1</Repetitive>
    13951592          <AnyExcept>0</AnyExcept>
     1593          <EscapedStrings>0</EscapedStrings>
    13961594          <SubItems>
    13971595            <Type>0</Type>
     1596            <WithWhiteSpaces>-1</WithWhiteSpaces>
    13981597            <RuleItem>
    13991598              <Type>1</Type>
     
    14011600              <Repetitive>0</Repetitive>
    14021601              <AnyExcept>0</AnyExcept>
     1602              <EscapedStrings>0</EscapedStrings>
    14031603              <NonTerminal>Factor</NonTerminal>
    14041604            </RuleItem>
     
    14081608              <Repetitive>0</Repetitive>
    14091609              <AnyExcept>0</AnyExcept>
     1610              <EscapedStrings>0</EscapedStrings>
    14101611              <NonTerminal>Operator</NonTerminal>
    14111612            </RuleItem>
     
    14201621      <RuleItems>
    14211622        <Type>1</Type>
    1422         <RuleItem>
    1423           <Type>1</Type>
    1424           <Optional>0</Optional>
    1425           <Repetitive>0</Repetitive>
    1426           <AnyExcept>0</AnyExcept>
     1623        <WithWhiteSpaces>0</WithWhiteSpaces>
     1624        <RuleItem>
     1625          <Type>1</Type>
     1626          <Optional>0</Optional>
     1627          <Repetitive>0</Repetitive>
     1628          <AnyExcept>0</AnyExcept>
     1629          <EscapedStrings>0</EscapedStrings>
    14271630          <NonTerminal>VariableReference</NonTerminal>
    14281631        </RuleItem>
     
    14321635          <Repetitive>0</Repetitive>
    14331636          <AnyExcept>0</AnyExcept>
     1637          <EscapedStrings>0</EscapedStrings>
    14341638          <NonTerminal>ConstantReference</NonTerminal>
    14351639        </RuleItem>
     
    14391643          <Repetitive>0</Repetitive>
    14401644          <AnyExcept>0</AnyExcept>
     1645          <EscapedStrings>0</EscapedStrings>
    14411646          <SubItems>
    14421647            <Type>0</Type>
     1648            <WithWhiteSpaces>-1</WithWhiteSpaces>
    14431649            <RuleItem>
    14441650              <Type>0</Type>
     
    14461652              <Repetitive>0</Repetitive>
    14471653              <AnyExcept>0</AnyExcept>
     1654              <EscapedStrings>0</EscapedStrings>
    14481655              <Terminal>(</Terminal>
    14491656            </RuleItem>
     
    14531660              <Repetitive>0</Repetitive>
    14541661              <AnyExcept>0</AnyExcept>
     1662              <EscapedStrings>0</EscapedStrings>
    14551663              <NonTerminal>Expression</NonTerminal>
    14561664            </RuleItem>
     
    14601668              <Repetitive>0</Repetitive>
    14611669              <AnyExcept>0</AnyExcept>
     1670              <EscapedStrings>0</EscapedStrings>
    14621671              <Terminal>)</Terminal>
    14631672            </RuleItem>
     
    14691678          <Repetitive>0</Repetitive>
    14701679          <AnyExcept>0</AnyExcept>
     1680          <EscapedStrings>0</EscapedStrings>
    14711681          <NonTerminal>Number</NonTerminal>
    14721682        </RuleItem>
     
    14761686          <Repetitive>0</Repetitive>
    14771687          <AnyExcept>0</AnyExcept>
     1688          <EscapedStrings>0</EscapedStrings>
    14781689          <NonTerminal>String</NonTerminal>
    14791690        </RuleItem>
     
    14861697      <RuleItems>
    14871698        <Type>1</Type>
    1488         <RuleItem>
    1489           <Type>0</Type>
    1490           <Optional>0</Optional>
    1491           <Repetitive>0</Repetitive>
    1492           <AnyExcept>0</AnyExcept>
     1699        <WithWhiteSpaces>0</WithWhiteSpaces>
     1700        <RuleItem>
     1701          <Type>0</Type>
     1702          <Optional>0</Optional>
     1703          <Repetitive>0</Repetitive>
     1704          <AnyExcept>0</AnyExcept>
     1705          <EscapedStrings>0</EscapedStrings>
    14931706          <Terminal>&lt;</Terminal>
    14941707        </RuleItem>
     
    14981711          <Repetitive>0</Repetitive>
    14991712          <AnyExcept>0</AnyExcept>
     1713          <EscapedStrings>0</EscapedStrings>
    15001714          <Terminal>&gt;</Terminal>
    15011715        </RuleItem>
     
    15051719          <Repetitive>0</Repetitive>
    15061720          <AnyExcept>0</AnyExcept>
     1721          <EscapedStrings>0</EscapedStrings>
    15071722          <Terminal>&lt;=</Terminal>
    15081723        </RuleItem>
     
    15121727          <Repetitive>0</Repetitive>
    15131728          <AnyExcept>0</AnyExcept>
     1729          <EscapedStrings>0</EscapedStrings>
    15141730          <Terminal>&gt;=</Terminal>
    15151731        </RuleItem>
     
    15191735          <Repetitive>0</Repetitive>
    15201736          <AnyExcept>0</AnyExcept>
     1737          <EscapedStrings>0</EscapedStrings>
    15211738          <Terminal>=</Terminal>
    15221739        </RuleItem>
     
    15261743          <Repetitive>0</Repetitive>
    15271744          <AnyExcept>0</AnyExcept>
     1745          <EscapedStrings>0</EscapedStrings>
    15281746          <Terminal>&lt;&gt;</Terminal>
    15291747        </RuleItem>
     
    15331751          <Repetitive>0</Repetitive>
    15341752          <AnyExcept>0</AnyExcept>
     1753          <EscapedStrings>0</EscapedStrings>
    15351754          <Terminal>+</Terminal>
    15361755        </RuleItem>
     
    15401759          <Repetitive>0</Repetitive>
    15411760          <AnyExcept>0</AnyExcept>
     1761          <EscapedStrings>0</EscapedStrings>
    15421762          <Terminal>-</Terminal>
    15431763        </RuleItem>
     
    15471767          <Repetitive>0</Repetitive>
    15481768          <AnyExcept>0</AnyExcept>
     1769          <EscapedStrings>0</EscapedStrings>
    15491770          <Terminal>/</Terminal>
    15501771        </RuleItem>
     
    15541775          <Repetitive>0</Repetitive>
    15551776          <AnyExcept>0</AnyExcept>
     1777          <EscapedStrings>0</EscapedStrings>
    15561778          <Terminal>*</Terminal>
    15571779        </RuleItem>
     
    15611783          <Repetitive>0</Repetitive>
    15621784          <AnyExcept>0</AnyExcept>
     1785          <EscapedStrings>0</EscapedStrings>
    15631786          <Terminal>div</Terminal>
    15641787        </RuleItem>
     
    15681791          <Repetitive>0</Repetitive>
    15691792          <AnyExcept>0</AnyExcept>
     1793          <EscapedStrings>0</EscapedStrings>
    15701794          <Terminal>+</Terminal>
    15711795        </RuleItem>
     
    15751799          <Repetitive>0</Repetitive>
    15761800          <AnyExcept>0</AnyExcept>
     1801          <EscapedStrings>0</EscapedStrings>
    15771802          <Terminal>-</Terminal>
    15781803        </RuleItem>
     
    15821807          <Repetitive>0</Repetitive>
    15831808          <AnyExcept>0</AnyExcept>
     1809          <EscapedStrings>0</EscapedStrings>
    15841810          <Terminal>and</Terminal>
    15851811        </RuleItem>
     
    15891815          <Repetitive>0</Repetitive>
    15901816          <AnyExcept>0</AnyExcept>
     1817          <EscapedStrings>0</EscapedStrings>
    15911818          <Terminal>or</Terminal>
    15921819        </RuleItem>
     
    15961823          <Repetitive>0</Repetitive>
    15971824          <AnyExcept>0</AnyExcept>
     1825          <EscapedStrings>0</EscapedStrings>
    15981826          <Terminal>xor</Terminal>
    15991827        </RuleItem>
     
    16031831          <Repetitive>0</Repetitive>
    16041832          <AnyExcept>0</AnyExcept>
     1833          <EscapedStrings>0</EscapedStrings>
    16051834          <Terminal>shl</Terminal>
    16061835        </RuleItem>
     
    16101839          <Repetitive>0</Repetitive>
    16111840          <AnyExcept>0</AnyExcept>
     1841          <EscapedStrings>0</EscapedStrings>
    16121842          <Terminal>shr</Terminal>
    16131843        </RuleItem>
     
    16171847          <Repetitive>0</Repetitive>
    16181848          <AnyExcept>0</AnyExcept>
     1849          <EscapedStrings>0</EscapedStrings>
    16191850          <Terminal>in</Terminal>
    16201851        </RuleItem>
     
    16241855          <Repetitive>0</Repetitive>
    16251856          <AnyExcept>0</AnyExcept>
     1857          <EscapedStrings>0</EscapedStrings>
    16261858          <Terminal>as</Terminal>
    16271859        </RuleItem>
     
    16341866      <RuleItems>
    16351867        <Type>0</Type>
    1636         <RuleItem>
    1637           <Type>1</Type>
    1638           <Optional>0</Optional>
    1639           <Repetitive>0</Repetitive>
    1640           <AnyExcept>0</AnyExcept>
     1868        <WithWhiteSpaces>0</WithWhiteSpaces>
     1869        <RuleItem>
     1870          <Type>1</Type>
     1871          <Optional>0</Optional>
     1872          <Repetitive>0</Repetitive>
     1873          <AnyExcept>0</AnyExcept>
     1874          <EscapedStrings>0</EscapedStrings>
    16411875          <NonTerminal>Identifier</NonTerminal>
    16421876        </RuleItem>
     
    16491883      <RuleItems>
    16501884        <Type>0</Type>
    1651         <RuleItem>
    1652           <Type>0</Type>
    1653           <Optional>0</Optional>
    1654           <Repetitive>0</Repetitive>
    1655           <AnyExcept>0</AnyExcept>
     1885        <WithWhiteSpaces>0</WithWhiteSpaces>
     1886        <RuleItem>
     1887          <Type>0</Type>
     1888          <Optional>0</Optional>
     1889          <Repetitive>0</Repetitive>
     1890          <AnyExcept>0</AnyExcept>
     1891          <EscapedStrings>0</EscapedStrings>
    16561892          <Terminal>'</Terminal>
    16571893        </RuleItem>
     
    16611897          <Repetitive>-1</Repetitive>
    16621898          <AnyExcept>0</AnyExcept>
     1899          <EscapedStrings>0</EscapedStrings>
    16631900          <NonTerminal>StringCharacter</NonTerminal>
    16641901        </RuleItem>
     
    16681905          <Repetitive>0</Repetitive>
    16691906          <AnyExcept>0</AnyExcept>
     1907          <EscapedStrings>0</EscapedStrings>
    16701908          <Terminal>'</Terminal>
    16711909        </RuleItem>
     
    16781916      <RuleItems>
    16791917        <Type>1</Type>
     1918        <WithWhiteSpaces>0</WithWhiteSpaces>
    16801919        <RuleItem>
    16811920          <Type>0</Type>
     
    16831922          <Repetitive>0</Repetitive>
    16841923          <AnyExcept>-1</AnyExcept>
     1924          <EscapedStrings>0</EscapedStrings>
    16851925          <Terminal>'</Terminal>
    16861926        </RuleItem>
     
    16901930          <Repetitive>0</Repetitive>
    16911931          <AnyExcept>0</AnyExcept>
     1932          <EscapedStrings>0</EscapedStrings>
    16921933          <Terminal>''</Terminal>
    16931934        </RuleItem>
     
    17001941      <RuleItems>
    17011942        <Type>0</Type>
    1702         <RuleItem>
    1703           <Type>1</Type>
    1704           <Optional>0</Optional>
    1705           <Repetitive>0</Repetitive>
    1706           <AnyExcept>0</AnyExcept>
     1943        <WithWhiteSpaces>0</WithWhiteSpaces>
     1944        <RuleItem>
     1945          <Type>1</Type>
     1946          <Optional>0</Optional>
     1947          <Repetitive>0</Repetitive>
     1948          <AnyExcept>0</AnyExcept>
     1949          <EscapedStrings>0</EscapedStrings>
    17071950          <NonTerminal>Identifier</NonTerminal>
    17081951        </RuleItem>
     
    17151958      <RuleItems>
    17161959        <Type>0</Type>
    1717         <RuleItem>
    1718           <Type>0</Type>
    1719           <Optional>0</Optional>
    1720           <Repetitive>0</Repetitive>
    1721           <AnyExcept>0</AnyExcept>
     1960        <WithWhiteSpaces>0</WithWhiteSpaces>
     1961        <RuleItem>
     1962          <Type>0</Type>
     1963          <Optional>0</Optional>
     1964          <Repetitive>0</Repetitive>
     1965          <AnyExcept>0</AnyExcept>
     1966          <EscapedStrings>0</EscapedStrings>
    17221967          <Terminal>{</Terminal>
    17231968        </RuleItem>
     
    17271972          <Repetitive>-1</Repetitive>
    17281973          <AnyExcept>-1</AnyExcept>
     1974          <EscapedStrings>0</EscapedStrings>
    17291975          <Terminal>}</Terminal>
    17301976        </RuleItem>
     
    17341980          <Repetitive>0</Repetitive>
    17351981          <AnyExcept>0</AnyExcept>
     1982          <EscapedStrings>0</EscapedStrings>
    17361983          <Terminal>}</Terminal>
    17371984        </RuleItem>
     
    17441991      <RuleItems>
    17451992        <Type>0</Type>
    1746         <RuleItem>
    1747           <Type>0</Type>
    1748           <Optional>0</Optional>
    1749           <Repetitive>0</Repetitive>
    1750           <AnyExcept>0</AnyExcept>
     1993        <WithWhiteSpaces>0</WithWhiteSpaces>
     1994        <RuleItem>
     1995          <Type>0</Type>
     1996          <Optional>0</Optional>
     1997          <Repetitive>0</Repetitive>
     1998          <AnyExcept>0</AnyExcept>
     1999          <EscapedStrings>0</EscapedStrings>
    17512000          <Terminal>(*</Terminal>
    17522001        </RuleItem>
     
    17562005          <Repetitive>-1</Repetitive>
    17572006          <AnyExcept>-1</AnyExcept>
     2007          <EscapedStrings>0</EscapedStrings>
    17582008          <Terminal>*)</Terminal>
    17592009        </RuleItem>
     
    17632013          <Repetitive>0</Repetitive>
    17642014          <AnyExcept>0</AnyExcept>
     2015          <EscapedStrings>0</EscapedStrings>
    17652016          <Terminal>*)</Terminal>
    17662017        </RuleItem>
     
    17732024      <RuleItems>
    17742025        <Type>0</Type>
    1775         <RuleItem>
    1776           <Type>0</Type>
    1777           <Optional>0</Optional>
    1778           <Repetitive>0</Repetitive>
    1779           <AnyExcept>0</AnyExcept>
     2026        <WithWhiteSpaces>0</WithWhiteSpaces>
     2027        <RuleItem>
     2028          <Type>0</Type>
     2029          <Optional>0</Optional>
     2030          <Repetitive>0</Repetitive>
     2031          <AnyExcept>0</AnyExcept>
     2032          <EscapedStrings>0</EscapedStrings>
    17802033          <Terminal>//</Terminal>
    17812034        </RuleItem>
     
    17852038          <Repetitive>-1</Repetitive>
    17862039          <AnyExcept>-1</AnyExcept>
     2040          <EscapedStrings>-1</EscapedStrings>
    17872041          <Terminal>\r\n</Terminal>
    17882042        </RuleItem>
     
    17952049      <RuleItems>
    17962050        <Type>0</Type>
    1797         <RuleItem>
    1798           <Type>0</Type>
    1799           <Optional>0</Optional>
    1800           <Repetitive>0</Repetitive>
    1801           <AnyExcept>0</AnyExcept>
     2051        <WithWhiteSpaces>0</WithWhiteSpaces>
     2052        <RuleItem>
     2053          <Type>0</Type>
     2054          <Optional>0</Optional>
     2055          <Repetitive>0</Repetitive>
     2056          <AnyExcept>0</AnyExcept>
     2057          <EscapedStrings>0</EscapedStrings>
    18022058          <Terminal>{$</Terminal>
    18032059        </RuleItem>
     
    18072063          <Repetitive>0</Repetitive>
    18082064          <AnyExcept>0</AnyExcept>
     2065          <EscapedStrings>0</EscapedStrings>
    18092066          <NonTerminal>Identifier</NonTerminal>
    18102067        </RuleItem>
     
    18142071          <Repetitive>0</Repetitive>
    18152072          <AnyExcept>0</AnyExcept>
     2073          <EscapedStrings>0</EscapedStrings>
    18162074          <Terminal>}</Terminal>
    18172075        </RuleItem>
     
    18242082      <RuleItems>
    18252083        <Type>0</Type>
    1826         <RuleItem>
    1827           <Type>0</Type>
    1828           <Optional>0</Optional>
    1829           <Repetitive>0</Repetitive>
    1830           <AnyExcept>0</AnyExcept>
     2084        <WithWhiteSpaces>-1</WithWhiteSpaces>
     2085        <RuleItem>
     2086          <Type>0</Type>
     2087          <Optional>0</Optional>
     2088          <Repetitive>0</Repetitive>
     2089          <AnyExcept>0</AnyExcept>
     2090          <EscapedStrings>0</EscapedStrings>
    18312091          <Terminal>initialization</Terminal>
    18322092        </RuleItem>
     
    18362096          <Repetitive>-1</Repetitive>
    18372097          <AnyExcept>0</AnyExcept>
     2098          <EscapedStrings>0</EscapedStrings>
    18382099          <NonTerminal>Statement</NonTerminal>
    18392100        </RuleItem>
     
    18462107      <RuleItems>
    18472108        <Type>0</Type>
    1848         <RuleItem>
    1849           <Type>0</Type>
    1850           <Optional>0</Optional>
    1851           <Repetitive>0</Repetitive>
    1852           <AnyExcept>0</AnyExcept>
     2109        <WithWhiteSpaces>-1</WithWhiteSpaces>
     2110        <RuleItem>
     2111          <Type>0</Type>
     2112          <Optional>0</Optional>
     2113          <Repetitive>0</Repetitive>
     2114          <AnyExcept>0</AnyExcept>
     2115          <EscapedStrings>0</EscapedStrings>
    18532116          <Terminal>finalization</Terminal>
    18542117        </RuleItem>
     
    18582121          <Repetitive>-1</Repetitive>
    18592122          <AnyExcept>0</AnyExcept>
     2123          <EscapedStrings>0</EscapedStrings>
    18602124          <NonTerminal>Statement</NonTerminal>
    18612125        </RuleItem>
     
    18682132      <RuleItems>
    18692133        <Type>0</Type>
    1870         <RuleItem>
    1871           <Type>1</Type>
    1872           <Optional>0</Optional>
    1873           <Repetitive>0</Repetitive>
    1874           <AnyExcept>0</AnyExcept>
     2134        <WithWhiteSpaces>-1</WithWhiteSpaces>
     2135        <RuleItem>
     2136          <Type>1</Type>
     2137          <Optional>0</Optional>
     2138          <Repetitive>0</Repetitive>
     2139          <AnyExcept>0</AnyExcept>
     2140          <EscapedStrings>0</EscapedStrings>
    18752141          <NonTerminal>Identifier</NonTerminal>
    18762142        </RuleItem>
     
    18802146          <Repetitive>0</Repetitive>
    18812147          <AnyExcept>0</AnyExcept>
     2148          <EscapedStrings>0</EscapedStrings>
    18822149          <Terminal>=</Terminal>
    18832150        </RuleItem>
     
    18872154          <Repetitive>0</Repetitive>
    18882155          <AnyExcept>0</AnyExcept>
     2156          <EscapedStrings>0</EscapedStrings>
    18892157          <NonTerminal>Type</NonTerminal>
    18902158        </RuleItem>
     
    18942162          <Repetitive>0</Repetitive>
    18952163          <AnyExcept>0</AnyExcept>
     2164          <EscapedStrings>0</EscapedStrings>
    18962165          <Terminal>;</Terminal>
    18972166        </RuleItem>
     
    19042173      <RuleItems>
    19052174        <Type>0</Type>
    1906         <RuleItem>
    1907           <Type>1</Type>
    1908           <Optional>0</Optional>
    1909           <Repetitive>0</Repetitive>
    1910           <AnyExcept>0</AnyExcept>
     2175        <WithWhiteSpaces>-1</WithWhiteSpaces>
     2176        <RuleItem>
     2177          <Type>1</Type>
     2178          <Optional>0</Optional>
     2179          <Repetitive>0</Repetitive>
     2180          <AnyExcept>0</AnyExcept>
     2181          <EscapedStrings>0</EscapedStrings>
    19112182          <NonTerminal>ConstantName</NonTerminal>
    19122183        </RuleItem>
     
    19162187          <Repetitive>0</Repetitive>
    19172188          <AnyExcept>0</AnyExcept>
     2189          <EscapedStrings>0</EscapedStrings>
    19182190          <Terminal>:</Terminal>
    19192191        </RuleItem>
     
    19232195          <Repetitive>0</Repetitive>
    19242196          <AnyExcept>0</AnyExcept>
     2197          <EscapedStrings>0</EscapedStrings>
    19252198          <NonTerminal>TypeReference</NonTerminal>
    19262199        </RuleItem>
     
    19302203          <Repetitive>0</Repetitive>
    19312204          <AnyExcept>0</AnyExcept>
     2205          <EscapedStrings>0</EscapedStrings>
    19322206          <Terminal>=</Terminal>
    19332207        </RuleItem>
     
    19372211          <Repetitive>0</Repetitive>
    19382212          <AnyExcept>0</AnyExcept>
     2213          <EscapedStrings>0</EscapedStrings>
    19392214          <NonTerminal>ConstantReference</NonTerminal>
    19402215        </RuleItem>
     
    19442219          <Repetitive>0</Repetitive>
    19452220          <AnyExcept>0</AnyExcept>
     2221          <EscapedStrings>0</EscapedStrings>
    19462222          <Terminal>;</Terminal>
    19472223        </RuleItem>
     
    19542230      <RuleItems>
    19552231        <Type>0</Type>
    1956         <RuleItem>
    1957           <Type>0</Type>
    1958           <Optional>0</Optional>
    1959           <Repetitive>0</Repetitive>
    1960           <AnyExcept>0</AnyExcept>
     2232        <WithWhiteSpaces>-1</WithWhiteSpaces>
     2233        <RuleItem>
     2234          <Type>0</Type>
     2235          <Optional>0</Optional>
     2236          <Repetitive>0</Repetitive>
     2237          <AnyExcept>0</AnyExcept>
     2238          <EscapedStrings>0</EscapedStrings>
    19612239          <Terminal>procedure</Terminal>
    19622240        </RuleItem>
     
    19662244          <Repetitive>0</Repetitive>
    19672245          <AnyExcept>0</AnyExcept>
     2246          <EscapedStrings>0</EscapedStrings>
    19682247          <NonTerminal>FunctionName</NonTerminal>
    19692248        </RuleItem>
     
    19732252          <Repetitive>0</Repetitive>
    19742253          <AnyExcept>0</AnyExcept>
     2254          <EscapedStrings>0</EscapedStrings>
    19752255          <NonTerminal>FunctionParameters</NonTerminal>
    19762256        </RuleItem>
     
    19802260          <Repetitive>0</Repetitive>
    19812261          <AnyExcept>0</AnyExcept>
     2262          <EscapedStrings>0</EscapedStrings>
    19822263          <Terminal>;</Terminal>
    19832264        </RuleItem>
     
    19872268          <Repetitive>0</Repetitive>
    19882269          <AnyExcept>0</AnyExcept>
     2270          <EscapedStrings>0</EscapedStrings>
    19892271          <NonTerminal>DeclarationBlock</NonTerminal>
    19902272        </RuleItem>
     
    19942276          <Repetitive>0</Repetitive>
    19952277          <AnyExcept>0</AnyExcept>
     2278          <EscapedStrings>0</EscapedStrings>
    19962279          <Terminal>;</Terminal>
    19972280        </RuleItem>
     
    20042287      <RuleItems>
    20052288        <Type>0</Type>
    2006         <RuleItem>
    2007           <Type>1</Type>
    2008           <Optional>0</Optional>
    2009           <Repetitive>0</Repetitive>
    2010           <AnyExcept>0</AnyExcept>
     2289        <WithWhiteSpaces>-1</WithWhiteSpaces>
     2290        <RuleItem>
     2291          <Type>1</Type>
     2292          <Optional>0</Optional>
     2293          <Repetitive>0</Repetitive>
     2294          <AnyExcept>0</AnyExcept>
     2295          <EscapedStrings>0</EscapedStrings>
    20112296          <NonTerminal>Identifier</NonTerminal>
    20122297        </RuleItem>
     
    20162301          <Repetitive>0</Repetitive>
    20172302          <AnyExcept>0</AnyExcept>
     2303          <EscapedStrings>0</EscapedStrings>
    20182304          <Terminal>:</Terminal>
    20192305        </RuleItem>
     
    20232309          <Repetitive>0</Repetitive>
    20242310          <AnyExcept>0</AnyExcept>
     2311          <EscapedStrings>0</EscapedStrings>
    20252312          <NonTerminal>Statement</NonTerminal>
    20262313        </RuleItem>
     
    20302317          <Repetitive>0</Repetitive>
    20312318          <AnyExcept>0</AnyExcept>
     2319          <EscapedStrings>0</EscapedStrings>
    20322320          <Terminal>;</Terminal>
    20332321        </RuleItem>
     
    20402328      <RuleItems>
    20412329        <Type>1</Type>
    2042         <RuleItem>
    2043           <Type>0</Type>
    2044           <Optional>0</Optional>
    2045           <Repetitive>0</Repetitive>
    2046           <AnyExcept>0</AnyExcept>
    2047           <Terminal/>
    2048         </RuleItem>
    2049         <RuleItem>
    2050           <Type>0</Type>
    2051           <Optional>0</Optional>
    2052           <Repetitive>0</Repetitive>
    2053           <AnyExcept>0</AnyExcept>
    2054           <Terminal>#13</Terminal>
    2055         </RuleItem>
    2056         <RuleItem>
    2057           <Type>0</Type>
    2058           <Optional>0</Optional>
    2059           <Repetitive>0</Repetitive>
    2060           <AnyExcept>0</AnyExcept>
    2061           <Terminal>#10</Terminal>
    2062         </RuleItem>
    2063         <RuleItem>
    2064           <Type>0</Type>
    2065           <Optional>0</Optional>
    2066           <Repetitive>0</Repetitive>
    2067           <AnyExcept>0</AnyExcept>
    2068           <Terminal>#9</Terminal>
     2330        <WithWhiteSpaces>0</WithWhiteSpaces>
     2331        <RuleItem>
     2332          <Type>0</Type>
     2333          <Optional>0</Optional>
     2334          <Repetitive>0</Repetitive>
     2335          <AnyExcept>0</AnyExcept>
     2336          <EscapedStrings>0</EscapedStrings>
     2337          <Terminal> </Terminal>
     2338        </RuleItem>
     2339        <RuleItem>
     2340          <Type>0</Type>
     2341          <Optional>0</Optional>
     2342          <Repetitive>0</Repetitive>
     2343          <AnyExcept>0</AnyExcept>
     2344          <EscapedStrings>-1</EscapedStrings>
     2345          <Terminal>\r</Terminal>
     2346        </RuleItem>
     2347        <RuleItem>
     2348          <Type>0</Type>
     2349          <Optional>0</Optional>
     2350          <Repetitive>0</Repetitive>
     2351          <AnyExcept>0</AnyExcept>
     2352          <EscapedStrings>-1</EscapedStrings>
     2353          <Terminal>\n</Terminal>
     2354        </RuleItem>
     2355        <RuleItem>
     2356          <Type>0</Type>
     2357          <Optional>0</Optional>
     2358          <Repetitive>0</Repetitive>
     2359          <AnyExcept>0</AnyExcept>
     2360          <EscapedStrings>-1</EscapedStrings>
     2361          <Terminal>\t</Terminal>
    20692362        </RuleItem>
    20702363      </RuleItems>
     
    20762369      <RuleItems>
    20772370        <Type>0</Type>
     2371        <WithWhiteSpaces>0</WithWhiteSpaces>
    20782372        <RuleItem>
    20792373          <Type>1</Type>
     
    20812375          <Repetitive>-1</Repetitive>
    20822376          <AnyExcept>0</AnyExcept>
     2377          <EscapedStrings>0</EscapedStrings>
    20832378          <NonTerminal>WhiteSpace</NonTerminal>
    20842379        </RuleItem>
     
    20912386      <RuleItems>
    20922387        <Type>0</Type>
    2093         <RuleItem>
    2094           <Type>1</Type>
    2095           <Optional>0</Optional>
    2096           <Repetitive>0</Repetitive>
    2097           <AnyExcept>0</AnyExcept>
     2388        <WithWhiteSpaces>-1</WithWhiteSpaces>
     2389        <RuleItem>
     2390          <Type>1</Type>
     2391          <Optional>0</Optional>
     2392          <Repetitive>0</Repetitive>
     2393          <AnyExcept>0</AnyExcept>
     2394          <EscapedStrings>0</EscapedStrings>
    20982395          <NonTerminal>Number</NonTerminal>
    20992396        </RuleItem>
     
    21032400          <Repetitive>0</Repetitive>
    21042401          <AnyExcept>0</AnyExcept>
     2402          <EscapedStrings>0</EscapedStrings>
    21052403          <Terminal>..</Terminal>
    21062404        </RuleItem>
     
    21102408          <Repetitive>0</Repetitive>
    21112409          <AnyExcept>0</AnyExcept>
     2410          <EscapedStrings>0</EscapedStrings>
    21122411          <NonTerminal>Number</NonTerminal>
    21132412        </RuleItem>
     
    21202419      <RuleItems>
    21212420        <Type>0</Type>
    2122         <RuleItem>
    2123           <Type>0</Type>
    2124           <Optional>0</Optional>
    2125           <Repetitive>0</Repetitive>
    2126           <AnyExcept>0</AnyExcept>
     2421        <WithWhiteSpaces>-1</WithWhiteSpaces>
     2422        <RuleItem>
     2423          <Type>0</Type>
     2424          <Optional>0</Optional>
     2425          <Repetitive>0</Repetitive>
     2426          <AnyExcept>0</AnyExcept>
     2427          <EscapedStrings>0</EscapedStrings>
    21272428          <Terminal>array</Terminal>
    21282429        </RuleItem>
     
    21322433          <Repetitive>0</Repetitive>
    21332434          <AnyExcept>0</AnyExcept>
     2435          <EscapedStrings>0</EscapedStrings>
    21342436          <SubItems>
    21352437            <Type>0</Type>
     2438            <WithWhiteSpaces>-1</WithWhiteSpaces>
    21362439            <RuleItem>
    21372440              <Type>0</Type>
     
    21392442              <Repetitive>0</Repetitive>
    21402443              <AnyExcept>0</AnyExcept>
     2444              <EscapedStrings>0</EscapedStrings>
    21412445              <Terminal>[</Terminal>
    21422446            </RuleItem>
     
    21462450              <Repetitive>0</Repetitive>
    21472451              <AnyExcept>0</AnyExcept>
     2452              <EscapedStrings>0</EscapedStrings>
    21482453              <NonTerminal>Range</NonTerminal>
    21492454            </RuleItem>
     
    21532458              <Repetitive>0</Repetitive>
    21542459              <AnyExcept>0</AnyExcept>
     2460              <EscapedStrings>0</EscapedStrings>
    21552461              <Terminal>]</Terminal>
    21562462            </RuleItem>
     
    21622468          <Repetitive>0</Repetitive>
    21632469          <AnyExcept>0</AnyExcept>
     2470          <EscapedStrings>0</EscapedStrings>
    21642471          <Terminal>of</Terminal>
    21652472        </RuleItem>
     
    21692476          <Repetitive>0</Repetitive>
    21702477          <AnyExcept>0</AnyExcept>
     2478          <EscapedStrings>0</EscapedStrings>
    21712479          <NonTerminal>TypeReference</NonTerminal>
    21722480        </RuleItem>
     
    21762484          <Repetitive>0</Repetitive>
    21772485          <AnyExcept>0</AnyExcept>
     2486          <EscapedStrings>0</EscapedStrings>
    21782487          <Terminal>;</Terminal>
    21792488        </RuleItem>
     
    21862495      <RuleItems>
    21872496        <Type>0</Type>
    2188         <RuleItem>
    2189           <Type>0</Type>
    2190           <Optional>0</Optional>
    2191           <Repetitive>0</Repetitive>
    2192           <AnyExcept>0</AnyExcept>
     2497        <WithWhiteSpaces>-1</WithWhiteSpaces>
     2498        <RuleItem>
     2499          <Type>0</Type>
     2500          <Optional>0</Optional>
     2501          <Repetitive>0</Repetitive>
     2502          <AnyExcept>0</AnyExcept>
     2503          <EscapedStrings>0</EscapedStrings>
    21932504          <Terminal>set</Terminal>
    21942505        </RuleItem>
     
    21982509          <Repetitive>0</Repetitive>
    21992510          <AnyExcept>0</AnyExcept>
     2511          <EscapedStrings>0</EscapedStrings>
    22002512          <Terminal>of</Terminal>
    22012513        </RuleItem>
     
    22052517          <Repetitive>0</Repetitive>
    22062518          <AnyExcept>0</AnyExcept>
     2519          <EscapedStrings>0</EscapedStrings>
    22072520          <NonTerminal>TypeReference</NonTerminal>
    22082521        </RuleItem>
     
    22152528      <RuleItems>
    22162529        <Type>0</Type>
    2217         <RuleItem>
    2218           <Type>0</Type>
    2219           <Optional>0</Optional>
    2220           <Repetitive>0</Repetitive>
    2221           <AnyExcept>0</AnyExcept>
     2530        <WithWhiteSpaces>-1</WithWhiteSpaces>
     2531        <RuleItem>
     2532          <Type>0</Type>
     2533          <Optional>0</Optional>
     2534          <Repetitive>0</Repetitive>
     2535          <AnyExcept>0</AnyExcept>
     2536          <EscapedStrings>0</EscapedStrings>
    22222537          <Terminal>(</Terminal>
    22232538        </RuleItem>
     
    22272542          <Repetitive>0</Repetitive>
    22282543          <AnyExcept>0</AnyExcept>
     2544          <EscapedStrings>0</EscapedStrings>
    22292545          <NonTerminal>IdentifierList</NonTerminal>
    22302546        </RuleItem>
     
    22342550          <Repetitive>0</Repetitive>
    22352551          <AnyExcept>0</AnyExcept>
     2552          <EscapedStrings>0</EscapedStrings>
    22362553          <Terminal>)</Terminal>
    22372554        </RuleItem>
     
    22442561      <RuleItems>
    22452562        <Type>0</Type>
    2246         <RuleItem>
    2247           <Type>1</Type>
    2248           <Optional>0</Optional>
    2249           <Repetitive>0</Repetitive>
    2250           <AnyExcept>0</AnyExcept>
     2563        <WithWhiteSpaces>-1</WithWhiteSpaces>
     2564        <RuleItem>
     2565          <Type>1</Type>
     2566          <Optional>0</Optional>
     2567          <Repetitive>0</Repetitive>
     2568          <AnyExcept>0</AnyExcept>
     2569          <EscapedStrings>0</EscapedStrings>
    22512570          <NonTerminal>Identifier</NonTerminal>
    22522571        </RuleItem>
     
    22562575          <Repetitive>-1</Repetitive>
    22572576          <AnyExcept>0</AnyExcept>
     2577          <EscapedStrings>0</EscapedStrings>
    22582578          <SubItems>
    22592579            <Type>0</Type>
     2580            <WithWhiteSpaces>-1</WithWhiteSpaces>
    22602581            <RuleItem>
    22612582              <Type>0</Type>
     
    22632584              <Repetitive>0</Repetitive>
    22642585              <AnyExcept>0</AnyExcept>
     2586              <EscapedStrings>0</EscapedStrings>
    22652587              <Terminal>,</Terminal>
    22662588            </RuleItem>
     
    22702592              <Repetitive>0</Repetitive>
    22712593              <AnyExcept>0</AnyExcept>
     2594              <EscapedStrings>0</EscapedStrings>
    22722595              <NonTerminal>Identifier</NonTerminal>
    22732596            </RuleItem>
     
    22822605      <RuleItems>
    22832606        <Type>1</Type>
    2284         <RuleItem>
    2285           <Type>1</Type>
    2286           <Optional>0</Optional>
    2287           <Repetitive>0</Repetitive>
    2288           <AnyExcept>0</AnyExcept>
     2607        <WithWhiteSpaces>0</WithWhiteSpaces>
     2608        <RuleItem>
     2609          <Type>1</Type>
     2610          <Optional>0</Optional>
     2611          <Repetitive>0</Repetitive>
     2612          <AnyExcept>0</AnyExcept>
     2613          <EscapedStrings>0</EscapedStrings>
    22892614          <NonTerminal>TypeArray</NonTerminal>
    22902615        </RuleItem>
     
    22942619          <Repetitive>0</Repetitive>
    22952620          <AnyExcept>0</AnyExcept>
     2621          <EscapedStrings>0</EscapedStrings>
    22962622          <NonTerminal>TypeEnumeration</NonTerminal>
    22972623        </RuleItem>
     
    23012627          <Repetitive>0</Repetitive>
    23022628          <AnyExcept>0</AnyExcept>
     2629          <EscapedStrings>0</EscapedStrings>
    23032630          <NonTerminal>TypeRecord</NonTerminal>
    23042631        </RuleItem>
     
    23082635          <Repetitive>0</Repetitive>
    23092636          <AnyExcept>0</AnyExcept>
     2637          <EscapedStrings>0</EscapedStrings>
    23102638          <NonTerminal>TypeReference</NonTerminal>
    23112639        </RuleItem>
     
    23152643          <Repetitive>0</Repetitive>
    23162644          <AnyExcept>0</AnyExcept>
     2645          <EscapedStrings>0</EscapedStrings>
    23172646          <NonTerminal>TypeSet</NonTerminal>
    23182647        </RuleItem>
     
    23222651          <Repetitive>0</Repetitive>
    23232652          <AnyExcept>0</AnyExcept>
     2653          <EscapedStrings>0</EscapedStrings>
    23242654          <NonTerminal>TypePointer</NonTerminal>
    23252655        </RuleItem>
     
    23322662      <RuleItems>
    23332663        <Type>0</Type>
    2334         <RuleItem>
    2335           <Type>0</Type>
    2336           <Optional>0</Optional>
    2337           <Repetitive>0</Repetitive>
    2338           <AnyExcept>0</AnyExcept>
     2664        <WithWhiteSpaces>0</WithWhiteSpaces>
     2665        <RuleItem>
     2666          <Type>0</Type>
     2667          <Optional>0</Optional>
     2668          <Repetitive>0</Repetitive>
     2669          <AnyExcept>0</AnyExcept>
     2670          <EscapedStrings>0</EscapedStrings>
    23392671          <Terminal>^</Terminal>
    23402672        </RuleItem>
     
    23442676          <Repetitive>0</Repetitive>
    23452677          <AnyExcept>0</AnyExcept>
     2678          <EscapedStrings>0</EscapedStrings>
    23462679          <NonTerminal>TypeReference</NonTerminal>
    23472680        </RuleItem>
     
    23542687      <RuleItems>
    23552688        <Type>0</Type>
    2356         <RuleItem>
    2357           <Type>0</Type>
    2358           <Optional>0</Optional>
    2359           <Repetitive>0</Repetitive>
    2360           <AnyExcept>0</AnyExcept>
     2689        <WithWhiteSpaces>0</WithWhiteSpaces>
     2690        <RuleItem>
     2691          <Type>0</Type>
     2692          <Optional>0</Optional>
     2693          <Repetitive>0</Repetitive>
     2694          <AnyExcept>0</AnyExcept>
     2695          <EscapedStrings>0</EscapedStrings>
    23612696          <Terminal>$</Terminal>
    23622697        </RuleItem>
     
    23662701          <Repetitive>0</Repetitive>
    23672702          <AnyExcept>0</AnyExcept>
     2703          <EscapedStrings>0</EscapedStrings>
    23682704          <NonTerminal>UnsignedDigitSequence</NonTerminal>
    23692705        </RuleItem>
     
    23722708  </Rules>
    23732709  <TopRule>Program</TopRule>
     2710  <WhiteSpaceRule>WhiteSpace</WhiteSpaceRule>
    23742711</GrammerProject>
Note: See TracChangeset for help on using the changeset viewer.