Поддержка унарных операций
This commit is contained in:
parent
92ebf9321e
commit
23ca118983
@ -411,6 +411,16 @@ public final class Parser {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private Expression expression() {
|
private Expression expression() {
|
||||||
|
return unary();
|
||||||
|
}
|
||||||
|
|
||||||
|
private Expression unary() {
|
||||||
|
if (match(TokenType.MINUS)) {
|
||||||
|
return new ValueExpression( -primary().eval() );
|
||||||
|
}
|
||||||
|
if (match(TokenType.PLUS)) {
|
||||||
|
return primary();
|
||||||
|
}
|
||||||
return primary();
|
return primary();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user