Browse Source

* UNdid last 2 revisions

git-svn-id: trunk@11051 -
michael 17 years ago
parent
commit
020f4a9e63
1 changed files with 15 additions and 51 deletions
  1. 15 51
      packages/fcl-passrc/src/pparser.pp

+ 15 - 51
packages/fcl-passrc/src/pparser.pp

@@ -525,9 +525,7 @@ begin
         Result := TPasProcedureType(CreateElement(TPasProcedureType, '', nil));
         ParseProcedureOrFunctionHeader(Result,
           TPasProcedureType(Result), ptProcedure, True);
-//        Writeln('Parsecomplextype. After Procedure ',CurTokentext);
-        if CurToken=tkSemicolon then  
-          UngetToken;        // Unget semicolon
+        UngetToken;        // Unget semicolon
       end;
     tkFunction:
       begin
@@ -535,8 +533,7 @@ begin
 	  Scanner.CurFilename, Scanner.CurRow);
         ParseProcedureOrFunctionHeader(Result,
           TPasFunctionType(Result), ptFunction, True);
-        if CurToken=tkSemicolon then  
-          UngetToken;        // Unget semicolon
+        UngetToken;        // Unget semicolon
       end;
     else
     begin
@@ -638,9 +635,9 @@ begin
       MayAppendSpace := True;
     if CurToken=tkString then
       begin
-{      If (Length(CurTokenText)>0) and (CurTokenText[1]=#0) then
+      If (Length(CurTokenText)>0) and (CurTokenText[1]=#0) then
         Writeln('First char is null : "',CurTokenText,'"');
-}      Result := Result + ''''+StringReplace(CurTokenText,'''','''''',[rfReplaceAll])+''''
+      Result := Result + ''''+StringReplace(CurTokenText,'''','''''',[rfReplaceAll])+''''
       end
     else
       Result := Result + CurTokenText;
@@ -1241,9 +1238,7 @@ begin
     if i > 0 then
       VarType.AddRef;
   end;
-//  Writeln('Token after parsecomplextype: ',CurtokenText);
   NextToken;
-//  Writeln('Token prior to equal test: ',CurtokenText);
   If CurToken=tkEqual then
     begin
     Value := ParseExpression;
@@ -1252,7 +1247,7 @@ begin
     end
   else
     UngetToken;
-//  Writeln('Token after equal test: ',CurtokenText);
+
   NextToken;
   if CurToken = tkAbsolute then
   begin
@@ -1270,9 +1265,8 @@ begin
       TPasVariable(List[i]).AbsoluteLocation:=S;
   end else
     UngetToken;
-//  Writeln('Hint');
-  H:=CheckHint(Nil,Curtoken<>tkIdentifier);
-//  Writeln('DoneHint');
+
+  H:=CheckHint(Nil,True);
   If (H<>[]) then
     for i := 0 to List.Count - 1 do
       TPasVariable(List[i]).Hints:=H;
@@ -1320,19 +1314,14 @@ begin
           // ExpectToken(tkSemicolon);
           end
         else if CurToken <> tkSemicolon then
-          begin
-//          Writeln('here');
           ParseExc(SParserSyntaxError);
-          end
       end else
       begin
-//        Writeln('here 2');
         UngetToken;
         break;
       end
     end else
     begin
-//      Writeln('here 3');
       UngetToken;
       break;
     end;
@@ -1512,7 +1501,6 @@ begin
     begin
     // CheckHint(Element,False);
     NextToken;
-//    Writeln('Checking modifiers',CurTokenString);
     if (CurToken = tkIdentifier) then
       begin
       Tok:=UpperCase(CurTokenString);
@@ -1610,9 +1598,7 @@ begin
         end
       else
         begin
-//        Writeln('No modifier. Ungetting', FTokenBuffersize,' ',FTokenBufferIndex);
         UnGetToken;
-//        Writeln('No modifier. Current token is :',curtokentext,' ', FTokenBuffersize,' ',FTokenBufferIndex);
         Break;
         end  
       end  
@@ -1630,7 +1616,6 @@ begin
       end 
     else
       begin
-//      Writeln('No modifier identifier. Ungetting');
       UngetToken;
       break;
       end;
@@ -2209,10 +2194,6 @@ var
       Move(Start^, s[1], l)
     else
       exit;
-    // Strip quote characters  
-    For l:=Length(S) downto 0 do
-      If S[l] in ['"',''''] then
-        Delete(S,l,1);
     if s[1] = '-' then
     begin
       case s[2] of
@@ -2239,9 +2220,6 @@ var
 
 var
   s: String;
-  LastQuote : Char;
-  InQuote : Boolean;
-  
 begin
   Result := nil;
   FileResolver := nil;
@@ -2280,32 +2258,18 @@ begin
 
     if FPCCommandLine<>'' then
       begin
-      InQuote:=False;
-      Start := @FPCCommandLine[1];
-      CurPos := Start;
-      while CurPos[0] <> #0 do
+        Start := @FPCCommandLine[1];
+        CurPos := Start;
+        while CurPos[0] <> #0 do
         begin
-        if (CurPos[0] in ['''','"']) then
-          begin
-          If InQuote then
-            begin
-            if CurPos[0]=lastQuote then
-              InQuote:=False;
-            end
-          else
-            begin
-            InQuote:=True;
-            LastQuote:=CurPos[0];
-            end;    
-          end
-        else if (CurPos[0] = ' ') and (not inquote) then
+          if CurPos[0] = ' ' then
           begin
-          ProcessCmdLinePart;
-          Start := CurPos + 1;
+            ProcessCmdLinePart;
+            Start := CurPos + 1;
           end;
-        Inc(CurPos);
+          Inc(CurPos);
         end;
-      ProcessCmdLinePart;
+        ProcessCmdLinePart;
       end;
 
     if Filename = '' then