Changeset 16 for branches


Ignore:
Timestamp:
Nov 10, 2009, 10:27:21 AM (15 years ago)
Author:
george
Message:
  • Upraveno: Rozdělení jednotek pro generování výstupů do samostatných souborů.
  • Přidáno: Generátor kódu pro procesor Z80.
  • Přidáno: Parsování celých čísel.
Location:
branches/Void
Files:
4 added
10 edited

Legend:

Unmodified
Added
Removed
  • branches/Void/Example.void

    r13 r16  
     1program Example;
    12var
    23  Text: String;
     
    45begin
    56  Text := 'Hell';
     7  A := 1234;
    68  WriteLn('Leave me');
    79  WriteLn(Text);
  • branches/Void/UCompilator.pas

    r15 r16  
    5454        if Parser.TokenType <> ttWhiteSpace then DoError('Expect white space');
    5555        Parser.ParseNextToken;
    56         if Parser.TokenType <> ttString then DoError('Expect string');
     56        if Parser.TokenType <> ttIdentifier then DoError('Expect program name')
     57          else Module.Name := Parser.TokenValue;
    5758        Parser.ParseNextToken;
    5859        if (Parser.TokenType <> ttSymbol) and (Parser.TokenValue <> ';') then DoError('Expect ;');
     
    184185          if Assigned(Variable) then begin
    185186            Parser.ParseNextToken;
    186             if Parser.TokenType <> ttWhiteSpace then DoError('Expected white space');
    187             Parser.ParseNextToken;
     187            if Parser.TokenType = ttWhiteSpace then Parser.ParseNextToken;
    188188            if (Parser.TokenType <> ttSymbol) and (Parser.TokenValue = ':=') then
    189189              DoError('Expected :=');
    190190            Parser.ParseNextToken;
    191             if Parser.TokenType <> ttWhiteSpace then DoError('Expected white space');
    192             Parser.ParseNextToken;
     191            if Parser.TokenType = ttWhiteSpace then Parser.ParseNextToken;
    193192            Value := Parser.TokenValue;
    194193            if Parser.TokenType = ttIdentifier then begin
     
    222221                end;
    223222              end;
    224             end else DoError('Expected variable or string')
     223            end else if Parser.TokenType = ttNumber then begin
     224              with TCommand(Commands[Commands.Add(TCommand.Create)]) do begin
     225                Name := 'Assignment';
     226                with TVariableValue(Parameters[Parameters.Add(TVariableValue.Create)]) do begin
     227                  ValueType := vtVariable;
     228                  VariableDef := Variable;
     229                end;
     230                with TVariableValue(Parameters[Parameters.Add(TVariableValue.Create)]) do begin
     231                  ValueType := vtNumber;
     232                  NumberConstant := StrToInt(Parser.TokenValue);
     233                end;
     234              end;
     235            end else DoError('Expected variable or string or number')
    225236          end else DoError('Unknown command ' + CommandName);
    226237        end;
  • branches/Void/UMainForm.lfm

    r15 r16  
    6363      'Pascal'
    6464      'C'
     65      'Z80'
    6566    )
    6667    Style = csDropDownList
     
    8081    ParentFont = False
    8182    TabOrder = 3
    82     BookMarkOptions.OnChange = nil
    8383    Gutter.Width = 57
    8484    Gutter.MouseActions = <   
     
    774774    ParentFont = False
    775775    TabOrder = 4
    776     BookMarkOptions.OnChange = nil
    777776    Gutter.Width = 57
    778777    Gutter.MouseActions = <   
     
    13471346    )
    13481347    BracketHighlightStyle = sbhsBoth
     1348    OnChange = SynEdit2Change
    13491349    inline SynGutterPartList1: TSynGutterPartList
    13501350      object SynGutterMarks1: TSynGutterMarks
     
    14721472  end
    14731473  object SynPasSyn1: TSynPasSyn
     1474    Enabled = False
    14741475    CompilerMode = pcmDelphi
    14751476    NestedComments = False
     
    14791480  object SynCppSyn1: TSynCppSyn
    14801481    DefaultFilter = 'C++ Files (*.c,*.cpp,*.h,*.hpp,*.hh)|*.c;*.cpp;*.h;*.hpp;*.hh'
     1482    Enabled = False
    14811483    left = 376
    14821484    top = 112
  • branches/Void/UMainForm.pas

    r15 r16  
    88  Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
    99  StdCtrls, ComCtrls, SynHighlighterPas, SynEdit, SynHighlighterCpp,
    10   UCompilator, UOutputGenerator, UModelViewer;
     10  UCompilator, UOutputGenerator, UModelViewer, UPascalGenerator, UCGenerator,
     11  UZ80Generator;
    1112
    1213const
     
    3536    procedure FormDestroy(Sender: TObject);
    3637    procedure FormShow(Sender: TObject);
     38    procedure SynEdit2Change(Sender: TObject);
    3739  private
    3840    SourceCode: TMemoryStream;
     
    5557  SynEdit1.Lines.LoadFromFile(SourceFileName);
    5658  ButtonCompileClick(Self);
     59end;
     60
     61procedure TMainForm.SynEdit2Change(Sender: TObject);
     62begin
     63
    5764end;
    5865
     
    8895      Generator := TPascalGenerator.Create;
    8996      SynEdit2.Highlighter := SynPasSyn1;
    90     end else begin
     97    end else
     98    if ComboBox1.ItemIndex = 1 then begin
    9199      Generator := TCGenerator.Create;
     100      SynEdit2.Highlighter := SynCppSyn1;
     101    end else
     102    if ComboBox1.ItemIndex = 2 then begin
     103      Generator := TZ80Generator.Create;
    92104      SynEdit2.Highlighter := SynCppSyn1;
    93105    end;
  • branches/Void/UModel.pas

    r14 r16  
    5252  end;
    5353
     54  TModuleType = (mtUnit, mtProgram);
     55
    5456  TModule = class
    5557  public
     58    Name: string;
     59    ModuleType: TModuleType;
    5660    Types: TList;
    5761    Variables: TList;
     
    6771  end;
    6872
    69   { TModel }
    70 
    7173  TModel = class
    7274  private
     
    9092begin
    9193  Module := TModule.Create;
     94  Module.ModuleType := mtProgram;
    9295end;
    9396
  • branches/Void/UModelViewer.pas

    r15 r16  
    3434  TreeView := ATreeView;
    3535  with TreeView do begin
    36     Clear;
     36    Items.Clear;
    3737    ProgramNode := Items.AddChild(TopItem, 'program');
    3838    NewNode := Items.AddChild(ProgramNode, 'var');
  • branches/Void/UOutputGenerator.pas

    r14 r16  
    1111  TOutputGenerator = class
    1212  private
     13  public
     14    Model: TModel;
    1315    IndentCount: Integer;
    14     Model: TModel;
     16    Output: TStringList;
    1517    function Indent: string;
    16   public
    17     Output: TStringList;
    1818    procedure Generate(Model: TModel); virtual;
    1919    constructor Create;
    2020    destructor Destroy; override;
    21   end;
    22 
    23   { TPascalGenerator }
    24 
    25   TPascalGenerator = class(TOutputGenerator)
    26   private
    27     function GenerateVariableValue(Value: TVariableValue): string;
    28   public
    29     procedure Generate(Model: TModel); override;
    30     procedure GenerateModule(Module: TModule);
    31   end;
    32 
    33   { TCGenerator }
    34 
    35   TCGenerator = class(TOutputGenerator)
    36   private
    37     function ConvertType(Name: string): string;
    38     function GenerateVariableValue(Value: TVariableValue): string;
    39   public
    40     procedure Generate(Model: TModel); override;
    41     procedure GenerateModule(Module: TModule);
    4221  end;
    4322
     
    6746end;
    6847
    69 { TPascalGenerator }
    70 
    71 function TPascalGenerator.GenerateVariableValue(Value: TVariableValue): string;
    72 begin
    73   case Value.ValueType of
    74     vtVariable: if Assigned(Value.VariableDef) then Result := Value.VariableDef.Name
    75       else Result := '';
    76     vtFloat: Result := FloatToStr(Value.FloatConstant);
    77     vtNumber: Result := IntToStr(Value.NumberConstant);
    78     vtString: Result := '''' + Value.StringConstant + '''';
    79     vtChar: Result := '''' + Value.CharConstant + '''';
    80   end;
    81 end;
    82 
    83 procedure TPascalGenerator.Generate(Model: TModel);
    84 begin
    85   inherited;
    86   GenerateModule(Model.Module);
    87 end;
    88 
    89 procedure TPascalGenerator.GenerateModule(Module: TModule);
    90 var
    91   I, P: Integer;
    92   ParameterText: string;
    93   Row: string;
    94 begin
    95   with Module do begin
    96     // Prepare output
    97     Output.Clear;
    98     Output.Add('program Test;');
    99     Output.Add('{$APPTYPE CONSOLE}');
    100 
    101     // var section
    102     if Variables.Count > 0 then Output.Add('var');
    103     Inc(IndentCount);
    104     for I := 0 to Variables.Count - 1 do
    105       with TVariable(Variables[I]) do
    106         Output.Add(Indent + Name + ': ' + VarType.Name + ';');
    107     Dec(IndentCount);
    108 
    109     // Code block
    110     Output.Add('begin');
    111     Inc(IndentCount);
    112     for I := 0 to BeginEnd.Commands.Count - 1 do
    113       with TCommand(BeginEnd.Commands[I]) do begin
    114         if Name = 'Assignment' then Output.Add(Indent +
    115           TVariableValue(Parameters[0]).VariableDef.Name + ' := ' +
    116           GenerateVariableValue(TVariableValue(Parameters[1])) + ';')
    117         else begin
    118         Row := Name;
    119         if Parameters.Count > 0 then begin
    120           ParameterText := '';
    121           for P := 0 to Parameters.Count - 1 do
    122             ParameterText := ParameterText + GenerateVariableValue(Parameters[P]) + ', ';
    123           Row := Row + '(' + Copy(ParameterText, 1, Length(ParameterText) - 2) + ')';
    124         end;
    125         Output.Add(Indent + Row + ';');
    126         end;
    127       end;
    128     Dec(IndentCount);
    129     Output.Add('end.');
    130   end;
    131 end;
    132 
    133 { TCGenerator }
    134 
    135 function TCGenerator.ConvertType(Name: string): string;
    136 begin
    137   if Name = 'String' then Result := 'char*'
    138   else if Name = 'Byte' then Result := 'unsigned char'
    139   else if Name = 'ShortInt' then Result := 'signed char'
    140   else if Name = 'Word' then Result := 'unsigned int'
    141   else if Name = 'Integer' then Result := 'int'
    142   else if Name = 'Real' then Result := 'float'
    143   else if Name = 'Double' then Result := 'double'
    144   else if Name = 'Char' then Result := 'char'
    145   else Result := Name;
    146 end;
    147 
    148 function TCGenerator.GenerateVariableValue(Value: TVariableValue): string;
    149 begin
    150   case Value.ValueType of
    151     vtVariable: if Assigned(Value.VariableDef) then Result := Value.VariableDef.Name
    152       else Result := '';
    153     vtFloat: Result := FloatToStr(Value.FloatConstant);
    154     vtNumber: Result := IntToStr(Value.NumberConstant);
    155     vtString: Result := '"' + Value.StringConstant + '"';
    156     vtChar: Result := '''' + Value.CharConstant + '''';
    157   end;
    158 end;
    159 
    160 procedure TCGenerator.Generate(Model: TModel);
    161 begin
    162   inherited;
    163   IndentCount := 0;
    164   GenerateModule(Model.Module);
    165 end;
    166 
    167 procedure TCGenerator.GenerateModule(Module: TModule);
    168 var
    169   I, P: Integer;
    170   Row: string;
    171   ParameterText: string;
    172 begin
    173   with Module do begin
    174     // Prepare output
    175     Output.Clear;
    176 
    177     Output.Add('int main()');
    178     Output.Add('{');
    179     Inc(IndentCount);
    180 
    181     // Variable section
    182     for I := 0 to Variables.Count - 1 do
    183       with TVariable(Variables[I]) do
    184         Output.Add(Indent + ConvertType(VarType.Name) + ' ' + Name + ';');
    185     if Variables.Count > 0 then Output.Add('');
    186 
    187     // Code block
    188     for I := 0 to BeginEnd.Commands.Count - 1 do
    189       with TCommand(BeginEnd.Commands[I]) do begin
    190         if Name = 'Assignment' then Output.Add(Indent +
    191           TVariableValue(Parameters[0]).VariableDef.Name + ' = ' +
    192           GenerateVariableValue(TVariableValue(Parameters[1])) + ';')
    193         else begin
    194           if Name = 'WriteLn' then Row := 'printf'
    195           else if Name = 'ReadLn' then Row := 'scanf'
    196           else if Name = 'Exit' then Row := 'exit';
    197           Row := Row + '(';
    198           if Parameters.Count > 0 then begin
    199             ParameterText := '';
    200             for P := 0 to Parameters.Count - 1 do
    201               ParameterText := ParameterText + GenerateVariableValue(Parameters[P]) + ', ';
    202             Row := Row + Copy(ParameterText, 1, Length(ParameterText) - 2);
    203           end;
    204           Output.Add(Indent + Row + ');');
    205         end;
    206       end;
    207     Dec(IndentCount);
    208     Output.Add('}');
    209   end;
    210 end;
    211 
    21248end.
    21349
  • branches/Void/UVoidParser.pas

    r11 r16  
    7070          ((Character >= 'a') and (Character <= 'z')) then begin
    7171          TokenValue := Character;
     72          TokenType := ttIdentifier;
    7273          ParseState := psIdentifier;
     74        end else
     75        if ((Character >= '0') and (Character <= '9')) then begin
     76          TokenType := ttNumber;;
     77          TokenValue := Character;
     78          ParseState := psNumber;
    7379        end else
    7480        if Character = '{' then begin
     
    7884          TokenValue := Character;
    7985          ParseState := psSpecialSymbol;
     86        end;
     87      end;
     88      psNumber: begin
     89        if (Character >= '0') and (Character <= '9') then
     90        TokenValue := TokenValue + Character else
     91        begin
     92          ParseState := psNone;
     93          Source.Position := Source.Position - 1;
     94          Dec(Position.X);
     95          Break;
    8096        end;
    8197      end;
     
    146162        if Character = '''' then begin
    147163          TokenValue := TokenValue + Character;
     164          ParseState := psString;
    148165        end else begin
    149166          TokenType := ttString;
  • branches/Void/project1.lpi

    r15 r16  
    99      <Icon Value="0"/>
    1010      <UseXPManifest Value="True"/>
    11       <ActiveEditorIndexAtStart Value="1"/>
     11      <ActiveEditorIndexAtStart Value="6"/>
    1212    </General>
    1313    <VersionInfo>
     
    3737      </Item2>
    3838    </RequiredPackages>
    39     <Units Count="16">
     39    <Units Count="20">
    4040      <Unit0>
    4141        <Filename Value="project1.lpr"/>
    4242        <IsPartOfProject Value="True"/>
    4343        <UnitName Value="project1"/>
    44         <CursorPos X="37" Y="7"/>
    45         <TopLine Value="1"/>
    46         <EditorIndex Value="5"/>
    47         <UsageCount Value="44"/>
     44        <CursorPos X="15" Y="17"/>
     45        <TopLine Value="1"/>
     46        <EditorIndex Value="6"/>
     47        <UsageCount Value="46"/>
    4848        <Loaded Value="True"/>
    4949      </Unit0>
     
    5454        <ResourceBaseClass Value="Form"/>
    5555        <UnitName Value="UMainForm"/>
    56         <CursorPos X="22" Y="82"/>
     56        <CursorPos X="83" Y="86"/>
    5757        <TopLine Value="20"/>
    5858        <EditorIndex Value="0"/>
    59         <UsageCount Value="44"/>
     59        <UsageCount Value="46"/>
    6060        <Loaded Value="True"/>
    6161      </Unit1>
     
    6363        <Filename Value="UCompilator.pas"/>
    6464        <UnitName Value="UCompilator"/>
    65         <CursorPos X="25" Y="228"/>
    66         <TopLine Value="213"/>
     65        <CursorPos X="33" Y="182"/>
     66        <TopLine Value="161"/>
    6767        <EditorIndex Value="2"/>
    68         <UsageCount Value="22"/>
     68        <UsageCount Value="23"/>
    6969        <Loaded Value="True"/>
    7070      </Unit2>
     
    7373        <IsPartOfProject Value="True"/>
    7474        <UnitName Value="UOutputGenerator"/>
    75         <CursorPos X="18" Y="144"/>
    76         <TopLine Value="93"/>
     75        <CursorPos X="1" Y="13"/>
     76        <TopLine Value="7"/>
    7777        <EditorIndex Value="4"/>
    78         <UsageCount Value="44"/>
     78        <UsageCount Value="46"/>
    7979        <Loaded Value="True"/>
    8080      </Unit3>
     
    8484        <CursorPos X="4" Y="1"/>
    8585        <TopLine Value="1"/>
    86         <UsageCount Value="44"/>
     86        <UsageCount Value="46"/>
    8787        <SyntaxHighlighter Value="None"/>
    8888      </Unit4>
     
    9191        <IsPartOfProject Value="True"/>
    9292        <UnitName Value="UModel"/>
    93         <CursorPos X="27" Y="229"/>
    94         <TopLine Value="215"/>
    95         <EditorIndex Value="6"/>
    96         <UsageCount Value="44"/>
     93        <CursorPos X="11" Y="75"/>
     94        <TopLine Value="53"/>
     95        <EditorIndex Value="9"/>
     96        <UsageCount Value="46"/>
    9797        <Loaded Value="True"/>
    9898      </Unit5>
     
    126126        <IsPartOfProject Value="True"/>
    127127        <UnitName Value="UVoidParser"/>
    128         <CursorPos X="5" Y="51"/>
    129         <TopLine Value="45"/>
     128        <CursorPos X="30" Y="162"/>
     129        <TopLine Value="140"/>
    130130        <EditorIndex Value="3"/>
    131         <UsageCount Value="44"/>
     131        <UsageCount Value="46"/>
    132132        <Loaded Value="True"/>
    133133      </Unit10>
     
    162162        <IsPartOfProject Value="True"/>
    163163        <UnitName Value="UModelViewer"/>
    164         <CursorPos X="45" Y="36"/>
    165         <TopLine Value="15"/>
     164        <CursorPos X="41" Y="31"/>
     165        <TopLine Value="16"/>
    166166        <EditorIndex Value="1"/>
    167         <UsageCount Value="20"/>
     167        <UsageCount Value="22"/>
    168168        <Loaded Value="True"/>
    169169      </Unit15>
     170      <Unit16>
     171        <Filename Value="..\..\..\..\..\Programy\Lazarus_0.9.29\fpc\2.3.1\source\rtl\objpas\sysutils\sysstrh.inc"/>
     172        <CursorPos X="28" Y="33"/>
     173        <TopLine Value="18"/>
     174        <UsageCount Value="10"/>
     175      </Unit16>
     176      <Unit17>
     177        <Filename Value="Generators\UZ80Generator.pas"/>
     178        <IsPartOfProject Value="True"/>
     179        <UnitName Value="UZ80Generator"/>
     180        <CursorPos X="9" Y="63"/>
     181        <TopLine Value="47"/>
     182        <EditorIndex Value="5"/>
     183        <UsageCount Value="21"/>
     184        <Loaded Value="True"/>
     185      </Unit17>
     186      <Unit18>
     187        <Filename Value="Generators\UCGenerator.pas"/>
     188        <IsPartOfProject Value="True"/>
     189        <UnitName Value="UCGenerator"/>
     190        <CursorPos X="56" Y="8"/>
     191        <TopLine Value="1"/>
     192        <EditorIndex Value="8"/>
     193        <UsageCount Value="21"/>
     194        <Loaded Value="True"/>
     195      </Unit18>
     196      <Unit19>
     197        <Filename Value="Generators\UPascalGenerator.pas"/>
     198        <IsPartOfProject Value="True"/>
     199        <UnitName Value="UPascalGenerator"/>
     200        <CursorPos X="1" Y="35"/>
     201        <TopLine Value="13"/>
     202        <EditorIndex Value="7"/>
     203        <UsageCount Value="21"/>
     204        <Loaded Value="True"/>
     205      </Unit19>
    170206    </Units>
    171207    <JumpHistory Count="30" HistoryIndex="29">
    172208      <Position1>
    173         <Filename Value="UCompilator.pas"/>
    174         <Caret Line="166" Column="55" TopLine="149"/>
     209        <Filename Value="UMainForm.pas"/>
     210        <Caret Line="74" Column="49" TopLine="61"/>
    175211      </Position1>
    176212      <Position2>
    177213        <Filename Value="UMainForm.pas"/>
    178         <Caret Line="28" Column="46" TopLine="28"/>
     214        <Caret Line="84" Column="44" TopLine="69"/>
    179215      </Position2>
    180216      <Position3>
    181217        <Filename Value="UMainForm.pas"/>
    182         <Caret Line="29" Column="46" TopLine="28"/>
     218        <Caret Line="92" Column="33" TopLine="60"/>
    183219      </Position3>
    184220      <Position4>
    185221        <Filename Value="UMainForm.pas"/>
    186         <Caret Line="30" Column="46" TopLine="28"/>
     222        <Caret Line="93" Column="33" TopLine="63"/>
    187223      </Position4>
    188224      <Position5>
    189225        <Filename Value="UMainForm.pas"/>
    190         <Caret Line="29" Column="46" TopLine="28"/>
     226        <Caret Line="92" Column="33" TopLine="63"/>
    191227      </Position5>
    192228      <Position6>
    193229        <Filename Value="UMainForm.pas"/>
    194         <Caret Line="28" Column="46" TopLine="28"/>
     230        <Caret Line="93" Column="33" TopLine="63"/>
    195231      </Position6>
    196232      <Position7>
    197233        <Filename Value="UMainForm.pas"/>
    198         <Caret Line="29" Column="46" TopLine="28"/>
     234        <Caret Line="41" Column="29" TopLine="16"/>
    199235      </Position7>
    200236      <Position8>
    201237        <Filename Value="UMainForm.pas"/>
    202         <Caret Line="50" Column="1" TopLine="35"/>
     238        <Caret Line="113" Column="1" TopLine="83"/>
    203239      </Position8>
    204240      <Position9>
    205241        <Filename Value="UMainForm.pas"/>
    206         <Caret Line="56" Column="10" TopLine="41"/>
     242        <Caret Line="110" Column="32" TopLine="90"/>
    207243      </Position9>
    208244      <Position10>
    209245        <Filename Value="UMainForm.pas"/>
    210         <Caret Line="74" Column="49" TopLine="61"/>
     246        <Caret Line="113" Column="49" TopLine="89"/>
    211247      </Position10>
    212248      <Position11>
    213         <Filename Value="UMainForm.pas"/>
    214         <Caret Line="73" Column="49" TopLine="61"/>
     249        <Filename Value="UModelViewer.pas"/>
     250        <Caret Line="16" Column="17" TopLine="1"/>
    215251      </Position11>
    216252      <Position12>
    217253        <Filename Value="UMainForm.pas"/>
    218         <Caret Line="74" Column="49" TopLine="61"/>
     254        <Caret Line="105" Column="1" TopLine="79"/>
    219255      </Position12>
    220256      <Position13>
    221257        <Filename Value="UMainForm.pas"/>
    222         <Caret Line="84" Column="44" TopLine="69"/>
     258        <Caret Line="41" Column="1" TopLine="26"/>
    223259      </Position13>
    224260      <Position14>
    225261        <Filename Value="UMainForm.pas"/>
    226         <Caret Line="92" Column="33" TopLine="60"/>
     262        <Caret Line="39" Column="31" TopLine="17"/>
    227263      </Position14>
    228264      <Position15>
    229         <Filename Value="UMainForm.pas"/>
    230         <Caret Line="93" Column="33" TopLine="63"/>
     265        <Filename Value="UModelViewer.pas"/>
     266        <Caret Line="23" Column="12" TopLine="1"/>
    231267      </Position15>
    232268      <Position16>
    233         <Filename Value="UMainForm.pas"/>
    234         <Caret Line="92" Column="33" TopLine="63"/>
     269        <Filename Value="UModelViewer.pas"/>
     270        <Caret Line="25" Column="25" TopLine="5"/>
    235271      </Position16>
    236272      <Position17>
    237         <Filename Value="UMainForm.pas"/>
    238         <Caret Line="93" Column="33" TopLine="63"/>
     273        <Filename Value="UModelViewer.pas"/>
     274        <Caret Line="17" Column="48" TopLine="4"/>
    239275      </Position17>
    240276      <Position18>
    241         <Filename Value="UMainForm.pas"/>
    242         <Caret Line="41" Column="29" TopLine="16"/>
     277        <Filename Value="UModelViewer.pas"/>
     278        <Caret Line="26" Column="3" TopLine="15"/>
    243279      </Position18>
    244280      <Position19>
    245         <Filename Value="UMainForm.pas"/>
    246         <Caret Line="113" Column="1" TopLine="83"/>
     281        <Filename Value="UModelViewer.pas"/>
     282        <Caret Line="17" Column="46" TopLine="2"/>
    247283      </Position19>
    248284      <Position20>
    249         <Filename Value="UMainForm.pas"/>
    250         <Caret Line="110" Column="32" TopLine="90"/>
     285        <Filename Value="UModelViewer.pas"/>
     286        <Caret Line="36" Column="11" TopLine="15"/>
    251287      </Position20>
    252288      <Position21>
    253         <Filename Value="UMainForm.pas"/>
    254         <Caret Line="113" Column="49" TopLine="89"/>
     289        <Filename Value="UCompilator.pas"/>
     290        <Caret Line="220" Column="82" TopLine="207"/>
    255291      </Position21>
    256292      <Position22>
    257         <Filename Value="UModelViewer.pas"/>
    258         <Caret Line="16" Column="17" TopLine="1"/>
     293        <Filename Value="UVoidParser.pas"/>
     294        <Caret Line="89" Column="29" TopLine="72"/>
    259295      </Position22>
    260296      <Position23>
    261         <Filename Value="UMainForm.pas"/>
    262         <Caret Line="105" Column="1" TopLine="79"/>
     297        <Filename Value="UOutputGenerator.pas"/>
     298        <Caret Line="78" Column="42" TopLine="53"/>
    263299      </Position23>
    264300      <Position24>
    265301        <Filename Value="UMainForm.pas"/>
    266         <Caret Line="41" Column="1" TopLine="26"/>
     302        <Caret Line="10" Column="16" TopLine="1"/>
    267303      </Position24>
    268304      <Position25>
    269         <Filename Value="UMainForm.pas"/>
    270         <Caret Line="39" Column="31" TopLine="17"/>
     305        <Filename Value="Generators\UPascalGenerator.pas"/>
     306        <Caret Line="8" Column="56" TopLine="1"/>
    271307      </Position25>
    272308      <Position26>
    273         <Filename Value="UModelViewer.pas"/>
    274         <Caret Line="23" Column="12" TopLine="1"/>
     309        <Filename Value="Generators\UPascalGenerator.pas"/>
     310        <Caret Line="56" Column="18" TopLine="1"/>
    275311      </Position26>
    276312      <Position27>
    277         <Filename Value="UModelViewer.pas"/>
    278         <Caret Line="25" Column="25" TopLine="5"/>
     313        <Filename Value="Generators\UPascalGenerator.pas"/>
     314        <Caret Line="11" Column="36" TopLine="1"/>
    279315      </Position27>
    280316      <Position28>
    281         <Filename Value="UModelViewer.pas"/>
    282         <Caret Line="17" Column="48" TopLine="4"/>
     317        <Filename Value="Generators\UZ80Generator.pas"/>
     318        <Caret Line="8" Column="56" TopLine="4"/>
    283319      </Position28>
    284320      <Position29>
    285         <Filename Value="UModelViewer.pas"/>
    286         <Caret Line="26" Column="3" TopLine="15"/>
     321        <Filename Value="UMainForm.pas"/>
     322        <Caret Line="94" Column="1" TopLine="71"/>
    287323      </Position29>
    288324      <Position30>
    289         <Filename Value="UModelViewer.pas"/>
    290         <Caret Line="17" Column="46" TopLine="2"/>
     325        <Filename Value="project1.lpr"/>
     326        <Caret Line="10" Column="33" TopLine="1"/>
    291327      </Position30>
    292328    </JumpHistory>
     
    300336    <SearchPaths>
    301337      <IncludeFiles Value="$(ProjOutDir)\"/>
     338      <OtherUnitFiles Value="Generators\"/>
    302339      <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
    303340    </SearchPaths>
  • branches/Void/project1.lpr

    r15 r16  
    99  Interfaces, // this includes the LCL widgetset
    1010  Forms, UMainForm, UOutputGenerator, LResources, UModel, UVoidParser,
    11   UModelViewer;
     11  UModelViewer, UZ80Generator, UCGenerator, UPascalGenerator;
    1212
    1313{$IFDEF WINDOWS}{$R project1.rc}{$ENDIF}
Note: See TracChangeset for help on using the changeset viewer.