mirror of
https://github.com/aNNiMON/Own-Programming-Language-Tutorial.git
synced 2024-09-20 00:34:20 +03:00
Исправлена опечатка в названии класса
This commit is contained in:
parent
cf98f623b6
commit
40949f3e29
@ -5,7 +5,7 @@ import com.annimon.ownlang.parser.ast.AssignmentStatement;
|
|||||||
import com.annimon.ownlang.parser.ast.BinaryExpression;
|
import com.annimon.ownlang.parser.ast.BinaryExpression;
|
||||||
import com.annimon.ownlang.parser.ast.BlockStatement;
|
import com.annimon.ownlang.parser.ast.BlockStatement;
|
||||||
import com.annimon.ownlang.parser.ast.ConditionalExpression;
|
import com.annimon.ownlang.parser.ast.ConditionalExpression;
|
||||||
import com.annimon.ownlang.parser.ast.VariabletExpression;
|
import com.annimon.ownlang.parser.ast.VariableExpression;
|
||||||
import com.annimon.ownlang.parser.ast.Expression;
|
import com.annimon.ownlang.parser.ast.Expression;
|
||||||
import com.annimon.ownlang.parser.ast.ForStatement;
|
import com.annimon.ownlang.parser.ast.ForStatement;
|
||||||
import com.annimon.ownlang.parser.ast.IfStatement;
|
import com.annimon.ownlang.parser.ast.IfStatement;
|
||||||
@ -239,7 +239,7 @@ public final class Parser {
|
|||||||
return new ValueExpression(Long.parseLong(current.getText(), 16));
|
return new ValueExpression(Long.parseLong(current.getText(), 16));
|
||||||
}
|
}
|
||||||
if (match(TokenType.WORD)) {
|
if (match(TokenType.WORD)) {
|
||||||
return new VariabletExpression(current.getText());
|
return new VariableExpression(current.getText());
|
||||||
}
|
}
|
||||||
if (match(TokenType.TEXT)) {
|
if (match(TokenType.TEXT)) {
|
||||||
return new ValueExpression(current.getText());
|
return new ValueExpression(current.getText());
|
||||||
|
29
src/com/annimon/ownlang/parser/ast/VariableExpression.java
Normal file
29
src/com/annimon/ownlang/parser/ast/VariableExpression.java
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
package com.annimon.ownlang.parser.ast;
|
||||||
|
|
||||||
|
import com.annimon.ownlang.lib.Value;
|
||||||
|
import com.annimon.ownlang.lib.Variables;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author aNNiMON
|
||||||
|
*/
|
||||||
|
public final class VariableExpression implements Expression {
|
||||||
|
|
||||||
|
private final String name;
|
||||||
|
|
||||||
|
public VariableExpression(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Value eval() {
|
||||||
|
if (!Variables.isExists(name)) throw new RuntimeException("Constant does not exists");
|
||||||
|
return Variables.get(name);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
// return String.format("%s [%f]", name, Constants.get(name));
|
||||||
|
return String.format("%s", name);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user