Changeset 13 for branches/Void/UCompilator.pas
- Timestamp:
- Nov 10, 2009, 7:14:14 AM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/Void/UCompilator.pas
r12 r13 76 76 VariableType: string; 77 77 Variable: TVariable; 78 VarType: TType; 78 79 begin 79 80 Parser.ParseNextToken; … … 83 84 repeat 84 85 VariableName := Parser.TokenValue; 85 Parser.ParseNextToken;86 if Parser.TokenType = ttWhiteSpace then Parser.ParseNextToken;87 if (Parser.TokenType <> ttSymbol) and (Parser.TokenValue = ':') then88 DoError('Expected :');89 Parser.ParseNextToken;90 if Parser.TokenType = ttWhiteSpace then Parser.ParseNextToken;91 if Parser.TokenType <> ttIdentifier then DoError('Expected identifier');92 VariableType := Parser.TokenValue;93 94 86 with Model.Module do begin 95 Variable := FindVariableByName(VariableName); 96 if Assigned(Variable) then DoError('Variable ' + VariableName + ' redefined') 97 else begin 98 Variable := TVariable.Create; 99 with Variable do begin 100 Name := VariableName; 101 VarType := VariableType; 87 Variable := FindVariableByName(VariableName); 88 if Assigned(Variable) then DoError('Variable ' + VariableName + ' redefined') 89 else begin 90 Parser.ParseNextToken; 91 if Parser.TokenType = ttWhiteSpace then Parser.ParseNextToken; 92 if (Parser.TokenType <> ttSymbol) and (Parser.TokenValue = ':') then 93 DoError('Expected :'); 94 Parser.ParseNextToken; 95 if Parser.TokenType = ttWhiteSpace then Parser.ParseNextToken; 96 if Parser.TokenType <> ttIdentifier then DoError('Expected identifier'); 97 VariableType := Parser.TokenValue; 98 VarType := FindTypeByName(VariableType); 99 if not Assigned(VarType) then DoError('Undefined type ' + VariableType) 100 else begin 101 Variable := TVariable.Create; 102 with Variable do begin 103 Name := VariableName; 104 end; 105 Variable.VarType := VarType; 106 Variables.Add(Variable); 107 end; 102 108 end; 103 Variables.Add(Variable);104 end;105 109 end; 106 110
Note:
See TracChangeset
for help on using the changeset viewer.