* patch from peter for resoursestring=string bug + fix crash missing --input

This commit is contained in:
marco 2005-04-07 07:55:40 +00:00
parent bc4e62c112
commit 2c488abcda

View File

@ -310,7 +310,6 @@ function TPasParser.ParseType(Parent: TPasElement; Prefix : String): TPasType;
end; end;
var var
TypeToken: TToken;
Name, s: String; Name, s: String;
EnumValue: TPasEnumValue; EnumValue: TPasEnumValue;
Ref: TPasElement; Ref: TPasElement;
@ -320,7 +319,6 @@ begin
case CurToken of case CurToken of
tkIdentifier: tkIdentifier:
begin begin
TypeToken := CurToken;
Name := CurTokenString; Name := CurTokenString;
If (Prefix<>'') then If (Prefix<>'') then
Name:=Prefix+'.'+Name; Name:=Prefix+'.'+Name;
@ -832,8 +830,6 @@ begin
Result := TPasResString(CreateElement(TPasResString, CurTokenString, Parent)); Result := TPasResString(CreateElement(TPasResString, CurTokenString, Parent));
try try
ExpectToken(tkEqual); ExpectToken(tkEqual);
ExpectToken(tkString);
UngetToken;
Result.Value := ParseExpression; Result.Value := ParseExpression;
ExpectToken(tkSemicolon); ExpectToken(tkSemicolon);
except except
@ -1116,7 +1112,7 @@ var
i: Integer; i: Integer;
VarType: TPasType; VarType: TPasType;
Value, S: String; Value, S: String;
U,M: string; M: string;
begin begin
while True do while True do
begin begin
@ -1374,7 +1370,7 @@ end;
procedure TPasParser.ParseProperty(Element:TPasElement); procedure TPasParser.ParseProperty(Element:TPasElement);
function GetAccessorName: String; function GetAccessorName: String;
begin begin
ExpectIdentifier; ExpectIdentifier;
@ -1400,7 +1396,7 @@ begin
ParseArgList(Element, TPasProperty(Element).Args, tkSquaredBraceClose); ParseArgList(Element, TPasProperty(Element).Args, tkSquaredBraceClose);
NextToken; NextToken;
end; end;
if CurToken = tkColon then if CurToken = tkColon then
begin begin
// read property type // read property type
@ -1793,6 +1789,7 @@ var
var var
s: String; s: String;
begin begin
Result := nil;
FileResolver := nil; FileResolver := nil;
Scanner := nil; Scanner := nil;
Parser := nil; Parser := nil;
@ -1826,18 +1823,22 @@ begin
Parser := TPasParser.Create(Scanner, FileResolver, AEngine); Parser := TPasParser.Create(Scanner, FileResolver, AEngine);
Filename := ''; Filename := '';
Start := @FPCCommandLine[1];
CurPos := Start; if FPCCommandLine<>'' then
while CurPos[0] <> #0 do
begin
if CurPos[0] = ' ' then
begin begin
Start := @FPCCommandLine[1];
CurPos := Start;
while CurPos[0] <> #0 do
begin
if CurPos[0] = ' ' then
begin
ProcessCmdLinePart;
Start := CurPos + 1;
end;
Inc(CurPos);
end;
ProcessCmdLinePart; ProcessCmdLinePart;
Start := CurPos + 1;
end; end;
Inc(CurPos);
end;
ProcessCmdLinePart;
if Filename = '' then if Filename = '' then
raise Exception.Create(SErrNoSourceGiven); raise Exception.Create(SErrNoSourceGiven);
@ -1856,7 +1857,10 @@ end.
{ {
$Log$ $Log$
Revision 1.15 2005-02-17 18:33:31 peter Revision 1.16 2005-04-07 07:55:40 marco
* patch from peter for resoursestring=string bug + fix crash missing --input
Revision 1.15 2005/02/17 18:33:31 peter
* parse global properties * parse global properties
Revision 1.14 2005/02/14 17:13:16 peter Revision 1.14 2005/02/14 17:13:16 peter