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.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 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;
Note: See TracChangeset for help on using the changeset viewer.