diff options
| author | Jan Tuomi <jans.tuomi@gmail.com> | 2016-06-21 20:57:56 +0300 |
|---|---|---|
| committer | Jan Tuomi <jans.tuomi@gmail.com> | 2016-07-26 19:47:05 +0300 |
| commit | eff296cc2c354f311dfe7696184f0313a6f04713 (patch) | |
| tree | 2bf777ea5fd87faaba36d8acf23d23fa9ec2c179 /main/core/tokenizer/token/Token.java | |
| parent | a48ab32ea87b156145ccc454cdf71dc01cdda0fa (diff) | |
Add if branch token and node
Diffstat (limited to 'main/core/tokenizer/token/Token.java')
| -rw-r--r-- | main/core/tokenizer/token/Token.java | 17 |
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); |
