Парсинг числовых значений
This commit is contained in:
parent
eeb798f76c
commit
e7aaa59c64
@ -369,6 +369,9 @@ public final class Parser {
|
|||||||
|
|
||||||
private Expression primary() {
|
private Expression primary() {
|
||||||
final Token current = get(0);
|
final Token current = get(0);
|
||||||
|
if (match(current, TokenType.NUMBER)) {
|
||||||
|
return new ValueExpression( Double.parseDouble(current.getText()) );
|
||||||
|
}
|
||||||
if (match(current, TokenType.WORD)) {
|
if (match(current, TokenType.WORD)) {
|
||||||
return new VariableExpression(current.getText());
|
return new VariableExpression(current.getText());
|
||||||
}
|
}
|
||||||
|
18
src/com/annimon/everlastingsummer/ast/ValueExpression.java
Normal file
18
src/com/annimon/everlastingsummer/ast/ValueExpression.java
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
package com.annimon.everlastingsummer.ast;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author aNNiMON
|
||||||
|
*/
|
||||||
|
public class ValueExpression implements Expression {
|
||||||
|
|
||||||
|
private final double value;
|
||||||
|
|
||||||
|
public ValueExpression(double value) {
|
||||||
|
this.value = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public double eval() {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user