Changed: AS1/2 P-code double Push values have suffix ".0" to properly distinguish them

Changed: AS1/2 P-code float Push values have suffix "f" to properly distinguish them
This commit is contained in:
Jindra Petřík
2025-07-05 11:49:32 +02:00
parent 338f31e27b
commit dba9fd702d
11 changed files with 1964 additions and 2070 deletions

View File

@@ -167,7 +167,8 @@ Constant= constant{PositiveNumberLiteral}
/* numeric literals */
{NumberLiteral} { return new ASMParsedSymbol(yychar(), ASMParsedSymbol.TYPE_INTEGER, Long.parseLong((yytext()))); }
{FloatLiteral} { return new ASMParsedSymbol(yychar(), ASMParsedSymbol.TYPE_FLOAT, Double.parseDouble((yytext()))); }
{FloatLiteral} "f" { return new ASMParsedSymbol(yychar(), ASMParsedSymbol.TYPE_FLOAT, Float.parseFloat(yytext().substring(0, yytext().length() - 1))); }
{FloatLiteral} { return new ASMParsedSymbol(yychar(), ASMParsedSymbol.TYPE_DOUBLE, Double.parseDouble((yytext()))); }
{LineTerminator} {yybegin(YYINITIAL); return new ASMParsedSymbol(yychar(), ASMParsedSymbol.TYPE_EOL); }
{Comment} {return new ASMParsedSymbol(yychar(), ASMParsedSymbol.TYPE_COMMENT, yytext().substring(1));}
{StartOfBlock} { yybegin(YYINITIAL); return new ASMParsedSymbol(yychar(), ASMParsedSymbol.TYPE_BLOCK_START); }