Changeset 37


Ignore:
Timestamp:
Aug 4, 2010, 4:10:35 PM (14 years ago)
Author:
george
Message:

Fixed parsing array range error.

Location:
branches/DelphiToC
Files:
1 deleted
5 edited

Legend:

Unmodified
Added
Removed
  • branches/DelphiToC/Analyze/UPascalParser.pas

    r36 r37  
    66
    77uses
    8   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
     8  SysUtils, Variants, Classes, Graphics, Controls, Forms,
    99  Dialogs, StdCtrls, UPascalSource, FileUtil;
    1010
     
    183183var
    184184  I: Integer;
    185 //  II: Integer;
     185  II: Integer;
    186186  J: Integer;
    187187const
    188188  SpecChar: set of char = [';', '.', ',', ':', '(', ')', '[', ']', '+', '-', '/', '*',
    189189    '^', '=', '<' , '>' , '@'];
    190   DoubleSpecChar : array[1..7] of string = (':=', '..', '<=', '>=', '<>', '+=', '-=');
     190  DoubleSpecChar : array[0..6] of string = (':=', '..', '<=', '>=', '<>', '+=', '-=');
    191191begin
    192192  Result := '';
     
    217217    if (Text[J] in SpecChar) then begin
    218218      if (Text[J + 1] in SpecChar) then begin
    219         for I := 0 to High(DoubleSpecChar) do
    220           if Copy(Text, J, 2) = DoubleSpecChar[I] then begin
     219        for II := 0 to High(DoubleSpecChar) do
     220          if Copy(Text, J, 2) = DoubleSpecChar[II] then begin
    221221            Result := Copy(Text, J, 2);
    222222            Inc(J, 2);
     
    549549begin
    550550  with Parser do begin
    551     if NextCode = 'program' then ParseProgram(Parser)
    552     else if NextCode = 'unit' then ParseUnit(Parser)
     551    if NextCode = 'program' then
     552      ParseProgram(Parser)
     553    else if NextCode = 'unit' then
     554      ParseUnit(Parser)
    553555    else ParseProgram(Parser);
    554556  end;
  • branches/DelphiToC/DelphiToC.lpi

    r36 r37  
    3636      </Item1>
    3737    </RequiredPackages>
    38     <Units Count="9">
     38    <Units Count="10">
    3939      <Unit0>
    4040        <Filename Value="DelphiToC.lpr"/>
     
    4242        <EditorIndex Value="4"/>
    4343        <WindowIndex Value="0"/>
    44         <TopLine Value="1"/>
    45         <CursorPos X="33" Y="16"/>
     44        <TopLine Value="4"/>
     45        <CursorPos X="39" Y="12"/>
    4646        <UsageCount Value="20"/>
    4747        <Loaded Value="True"/>
     
    5656        <EditorIndex Value="1"/>
    5757        <WindowIndex Value="0"/>
    58         <TopLine Value="1"/>
    59         <CursorPos X="3" Y="8"/>
    60         <UsageCount Value="20"/>
    61         <Loaded Value="True"/>
     58        <TopLine Value="42"/>
     59        <CursorPos X="17" Y="49"/>
     60        <UsageCount Value="20"/>
     61        <Loaded Value="True"/>
     62        <LoadedDesigner Value="True"/>
    6263      </Unit1>
    6364      <Unit2>
     
    8586        <EditorIndex Value="3"/>
    8687        <WindowIndex Value="0"/>
    87         <TopLine Value="1"/>
    88         <CursorPos X="83" Y="9"/>
     88        <TopLine Value="32"/>
     89        <CursorPos X="34" Y="35"/>
    8990        <UsageCount Value="20"/>
    9091        <Loaded Value="True"/>
     
    114115        <EditorIndex Value="2"/>
    115116        <WindowIndex Value="0"/>
    116         <TopLine Value="1"/>
     117        <TopLine Value="3"/>
    117118        <CursorPos X="3" Y="8"/>
    118119        <UsageCount Value="20"/>
     
    126127        <EditorIndex Value="0"/>
    127128        <WindowIndex Value="0"/>
    128         <TopLine Value="249"/>
    129         <CursorPos X="42" Y="256"/>
     129        <TopLine Value="204"/>
     130        <CursorPos X="27" Y="221"/>
    130131        <UsageCount Value="20"/>
    131132        <Loaded Value="True"/>
    132133      </Unit8>
     134      <Unit9>
     135        <Filename Value="UMainForm.lfm"/>
     136        <WindowIndex Value="0"/>
     137        <TopLine Value="1"/>
     138        <CursorPos X="1" Y="1"/>
     139        <UsageCount Value="10"/>
     140        <DefaultSyntaxHighlighter Value="LFM"/>
     141      </Unit9>
    133142    </Units>
    134     <JumpHistory Count="13" HistoryIndex="12">
     143    <JumpHistory Count="30" HistoryIndex="29">
    135144      <Position1>
    136145        <Filename Value="Analyze\UPascalParser.pas"/>
    137         <Caret Line="1" Column="1" TopLine="1"/>
     146        <Caret Line="630" Column="1" TopLine="617"/>
    138147      </Position1>
    139148      <Position2>
    140149        <Filename Value="Analyze\UPascalParser.pas"/>
    141         <Caret Line="9" Column="46" TopLine="1"/>
     150        <Caret Line="631" Column="1" TopLine="617"/>
    142151      </Position2>
    143152      <Position3>
    144         <Filename Value="DelphiToC.lpr"/>
    145         <Caret Line="1" Column="1" TopLine="1"/>
     153        <Filename Value="Analyze\UPascalParser.pas"/>
     154        <Caret Line="632" Column="1" TopLine="617"/>
    146155      </Position3>
    147156      <Position4>
    148157        <Filename Value="Analyze\UPascalParser.pas"/>
    149         <Caret Line="9" Column="45" TopLine="1"/>
     158        <Caret Line="633" Column="1" TopLine="617"/>
    150159      </Position4>
    151160      <Position5>
    152161        <Filename Value="Analyze\UPascalParser.pas"/>
    153         <Caret Line="254" Column="5" TopLine="241"/>
     162        <Caret Line="635" Column="1" TopLine="617"/>
    154163      </Position5>
    155164      <Position6>
    156         <Filename Value="UMainForm.pas"/>
    157         <Caret Line="1" Column="1" TopLine="1"/>
     165        <Filename Value="Analyze\UPascalParser.pas"/>
     166        <Caret Line="637" Column="1" TopLine="617"/>
    158167      </Position6>
    159168      <Position7>
    160         <Filename Value="UMainForm.pas"/>
    161         <Caret Line="20" Column="46" TopLine="7"/>
     169        <Filename Value="Analyze\UPascalParser.pas"/>
     170        <Caret Line="639" Column="1" TopLine="618"/>
    162171      </Position7>
    163172      <Position8>
    164         <Filename Value="Produce\UCSource.pas"/>
    165         <Caret Line="1" Column="1" TopLine="1"/>
     173        <Filename Value="Analyze\UPascalParser.pas"/>
     174        <Caret Line="640" Column="1" TopLine="619"/>
    166175      </Position8>
    167176      <Position9>
    168         <Filename Value="Produce\UCSource.pas"/>
    169         <Caret Line="9" Column="22" TopLine="1"/>
     177        <Filename Value="Analyze\UPascalParser.pas"/>
     178        <Caret Line="220" Column="1" TopLine="207"/>
    170179      </Position9>
    171180      <Position10>
    172         <Filename Value="UPascalCompiler.pas"/>
    173         <Caret Line="1" Column="1" TopLine="1"/>
     181        <Filename Value="Analyze\UPascalParser.pas"/>
     182        <Caret Line="640" Column="1" TopLine="627"/>
    174183      </Position10>
    175184      <Position11>
    176         <Filename Value="UPascalCompiler.pas"/>
    177         <Caret Line="8" Column="3" TopLine="1"/>
     185        <Filename Value="Analyze\UPascalParser.pas"/>
     186        <Caret Line="683" Column="38" TopLine="665"/>
    178187      </Position11>
    179188      <Position12>
    180189        <Filename Value="Analyze\UPascalParser.pas"/>
    181         <Caret Line="258" Column="16" TopLine="241"/>
     190        <Caret Line="687" Column="1" TopLine="666"/>
    182191      </Position12>
    183192      <Position13>
    184193        <Filename Value="Analyze\UPascalParser.pas"/>
    185         <Caret Line="413" Column="39" TopLine="400"/>
     194        <Caret Line="220" Column="33" TopLine="216"/>
    186195      </Position13>
     196      <Position14>
     197        <Filename Value="Analyze\UPascalParser.pas"/>
     198        <Caret Line="549" Column="1" TopLine="536"/>
     199      </Position14>
     200      <Position15>
     201        <Filename Value="Analyze\UPascalParser.pas"/>
     202        <Caret Line="220" Column="1" TopLine="207"/>
     203      </Position15>
     204      <Position16>
     205        <Filename Value="Analyze\UPascalParser.pas"/>
     206        <Caret Line="549" Column="1" TopLine="536"/>
     207      </Position16>
     208      <Position17>
     209        <Filename Value="Analyze\UPascalParser.pas"/>
     210        <Caret Line="550" Column="1" TopLine="536"/>
     211      </Position17>
     212      <Position18>
     213        <Filename Value="Analyze\UPascalParser.pas"/>
     214        <Caret Line="551" Column="1" TopLine="536"/>
     215      </Position18>
     216      <Position19>
     217        <Filename Value="Analyze\UPascalParser.pas"/>
     218        <Caret Line="552" Column="1" TopLine="536"/>
     219      </Position19>
     220      <Position20>
     221        <Filename Value="Analyze\UPascalParser.pas"/>
     222        <Caret Line="562" Column="1" TopLine="549"/>
     223      </Position20>
     224      <Position21>
     225        <Filename Value="Analyze\UPascalParser.pas"/>
     226        <Caret Line="563" Column="1" TopLine="549"/>
     227      </Position21>
     228      <Position22>
     229        <Filename Value="Analyze\UPascalParser.pas"/>
     230        <Caret Line="564" Column="1" TopLine="549"/>
     231      </Position22>
     232      <Position23>
     233        <Filename Value="Analyze\UPascalParser.pas"/>
     234        <Caret Line="565" Column="1" TopLine="549"/>
     235      </Position23>
     236      <Position24>
     237        <Filename Value="Analyze\UPascalParser.pas"/>
     238        <Caret Line="566" Column="1" TopLine="561"/>
     239      </Position24>
     240      <Position25>
     241        <Filename Value="Analyze\UPascalParser.pas"/>
     242        <Caret Line="567" Column="1" TopLine="561"/>
     243      </Position25>
     244      <Position26>
     245        <Filename Value="Analyze\UPascalParser.pas"/>
     246        <Caret Line="568" Column="1" TopLine="561"/>
     247      </Position26>
     248      <Position27>
     249        <Filename Value="Analyze\UPascalParser.pas"/>
     250        <Caret Line="572" Column="1" TopLine="561"/>
     251      </Position27>
     252      <Position28>
     253        <Filename Value="Analyze\UPascalParser.pas"/>
     254        <Caret Line="579" Column="1" TopLine="561"/>
     255      </Position28>
     256      <Position29>
     257        <Filename Value="Analyze\UPascalParser.pas"/>
     258        <Caret Line="219" Column="1" TopLine="206"/>
     259      </Position29>
     260      <Position30>
     261        <Filename Value="Analyze\UPascalParser.pas"/>
     262        <Caret Line="220" Column="36" TopLine="206"/>
     263      </Position30>
    187264    </JumpHistory>
    188265  </ProjectOptions>
     
    209286        <UseHeaptrc Value="True"/>
    210287      </Debugging>
     288      <Options>
     289        <Win32>
     290          <GraphicApplication Value="True"/>
     291        </Win32>
     292      </Options>
    211293    </Linking>
    212294    <Other>
     
    218300  </CompilerOptions>
    219301  <Debugging>
     302    <BreakPoints Count="2">
     303      <Item1>
     304        <Source Value="Analyze\UPascalParser.pas"/>
     305        <Line Value="549"/>
     306      </Item1>
     307      <Item2>
     308        <Source Value="Analyze\UPascalParser.pas"/>
     309        <Line Value="219"/>
     310      </Item2>
     311    </BreakPoints>
    220312    <Exceptions Count="3">
    221313      <Item1>
  • branches/DelphiToC/DelphiToC.lpr

    r36 r37  
    44
    55uses
    6   Forms, Interfaces,
     6  {$IFDEF UNIX}{$IFDEF UseCThreads}
     7  cthreads,
     8  {$ENDIF}{$ENDIF}
     9  Forms, Interfaces, SysUtils,
    710  UMainForm in 'UMainForm.pas' {MainForm},
    811  UTextSource in 'UTextSource.pas',
     
    1619{$R *.res}
    1720
    18 {$WARN SYMBOL_PLATFORM OFF}
    1921begin
     22  // Heap trace
     23  DeleteFile(ExtractFilePath(ParamStr(0)) + 'heaptrclog.trc');
     24  SetHeapTraceOutput(ExtractFilePath(ParamStr(0)) + 'heaptrclog.trc');
     25
    2026  Application.Initialize;
    2127  Application.CreateForm(TMainForm, MainForm);
  • branches/DelphiToC/UMainForm.lfm

    r36 r37  
    11object MainForm: TMainForm
    2   Left = 0
     2  Left = 83
    33  Height = 535
    4   Top = 0
     4  Top = 68
    55  Width = 883
    66  Caption = 'Pascal Compiler AVR'
     
    6464    Width = 298
    6565    Anchors = [akTop, akLeft, akBottom]
     66    DefaultItemHeight = 15
    6667    Indent = 19
    6768    TabOrder = 4
  • branches/DelphiToC/UMainForm.pas

    r36 r37  
    99  Dialogs, StdCtrls, UPascalSource, UPascalCompiler, UAssemblerSource,
    1010  UCSource, ComCtrls;
     11
     12const
     13  ExampleFileName = '../../Example.pas';
    1114
    1215type
     
    125128procedure TMainForm.FormClose(Sender: TObject; var Action: TCloseAction);
    126129begin
    127   Memo1.Lines.SaveToFile('Example.pas');
     130  Memo1.Lines.SaveToFile(ExampleFileName);
    128131end;
    129132
     
    141144procedure TMainForm.FormShow(Sender: TObject);
    142145begin
    143   Memo1.Lines.LoadFromFile('Example.pas');
     146  Memo1.Lines.LoadFromFile(ExampleFileName);
    144147  Button1Click(Self);
    145148end;
Note: See TracChangeset for help on using the changeset viewer.