aboutsummaryrefslogtreecommitdiffstats
path: root/main/core/tokenizer/token/Token.java
diff options
context:
space:
mode:
authorJan Tuomi <jans.tuomi@gmail.com>2016-06-21 20:57:56 +0300
committerJan Tuomi <jans.tuomi@gmail.com>2016-07-26 19:47:05 +0300
commiteff296cc2c354f311dfe7696184f0313a6f04713 (patch)
tree2bf777ea5fd87faaba36d8acf23d23fa9ec2c179 /main/core/tokenizer/token/Token.java
parenta48ab32ea87b156145ccc454cdf71dc01cdda0fa (diff)
Add if branch token and node
Diffstat (limited to 'main/core/tokenizer/token/Token.java')
-rw-r--r--main/core/tokenizer/token/Token.java17
1 files changed, 12 insertions, 5 deletions
diff --git a/main/core/tokenizer/token/Token.java b/main/core/tokenizer/token/Token.java
index f058391..9fce412 100644
--- a/main/core/tokenizer/token/Token.java
+++ b/main/core/tokenizer/token/Token.java
@@ -52,10 +52,11 @@ abstract public class Token {
IntegerLiteralToken,
WhitespaceToken,
NewlineToken,
- EndStatementToken,
+ BranchToken,
SymbolToken,
- EndFunctionDefineToken,
+ EndBlockToken,
FunctionBodyToken,
+ BranchBodyToken,
NotAToken
}
@@ -163,10 +164,12 @@ abstract public class Token {
return new SubtractionToken();
case FunctionDefineToken:
return new FunctionDefineToken();
- case EndFunctionDefineToken:
+ case EndBlockToken:
return new EndFunctionDefineToken();
case FunctionBodyToken:
- return new FunctionBodyToken();
+ return new BlockBodyToken("as");
+ case BranchBodyToken:
+ return new BlockBodyToken("then");
case DeclarationToken:
return new VariableDeclareToken();
case AssignmentToken:
@@ -177,6 +180,8 @@ abstract public class Token {
return new OpenParenToken();
case ClosedParenToken:
return new ClosedParenToken();
+ case BranchToken:
+ return new BranchToken();
default:
ExceptionManager.raise(InterpreterException.ExceptionType.IllegalTokenError, line,
type.toString()
@@ -195,10 +200,11 @@ abstract public class Token {
fdai.setVariable(true);
fdai.setTerminator(Type.FunctionBodyToken);
return fdai;
+ case BranchBodyToken:
case FunctionBodyToken:
ArgumentInfo fbai = new ArgumentInfo();
fbai.setVariable(true);
- fbai.setTerminator(Type.EndFunctionDefineToken);
+ fbai.setTerminator(Type.EndBlockToken);
return fbai;
case OpenParenToken:
ArgumentInfo opai = new ArgumentInfo();
@@ -220,6 +226,7 @@ abstract public class Token {
case GreaterOrEqualThanToken:
case EqualsToken:
case NotEqualsToken:
+ case BranchToken:
return new ArgumentInfo(2);
case DeclarationToken:
return new ArgumentInfo(1);