Fix оператор логического отрицания
This commit is contained in:
parent
377b7f6df1
commit
8954e36007
@ -54,6 +54,7 @@ public final class Lexer {
|
||||
KEYWORDS.put("if", TokenType.IF);
|
||||
KEYWORDS.put("else", TokenType.ELSE);
|
||||
KEYWORDS.put("endif", TokenType.ENDIF);
|
||||
KEYWORDS.put("not", TokenType.NOT);
|
||||
|
||||
KEYWORDS.put("renpy.pause", TokenType.RENPY_PAUSE);
|
||||
KEYWORDS.put("persistent.sprite_time", TokenType.PERSISTENT_SPRITE_TIME);
|
||||
|
@ -412,6 +412,13 @@ public final class Parser {
|
||||
}
|
||||
|
||||
private Expression expression() {
|
||||
return notTest();
|
||||
}
|
||||
|
||||
private Expression notTest() {
|
||||
if (match(TokenType.NOT)) {
|
||||
return new ValueExpression( notTest().eval() != 0 ? 0 : 1 );
|
||||
}
|
||||
return equality();
|
||||
}
|
||||
|
||||
@ -459,9 +466,6 @@ public final class Parser {
|
||||
if (match(TokenType.PLUS)) {
|
||||
return primary();
|
||||
}
|
||||
if (match(TokenType.EXCL)) {
|
||||
return new ValueExpression( primary().eval() != 0 ? 0 : 1 );
|
||||
}
|
||||
return primary();
|
||||
}
|
||||
|
||||
|
@ -52,6 +52,7 @@ public enum TokenType {
|
||||
IF,
|
||||
ELSE,
|
||||
ENDIF,
|
||||
NOT,
|
||||
|
||||
// команды
|
||||
RENPY_PAUSE,
|
||||
|
Loading…
Reference in New Issue
Block a user