ScriptStack
1.0.4
Loading...
Searching...
No Matches
Token.cs
Go to the documentation of this file.
1
using
System;
2
using
System.Collections.Generic;
3
using
System.Text;
4
5
namespace
ScriptStack.Compiler
6
{
7
11
public
enum
TokenType
12
{
13
Include
,
14
Shared
,
15
Var
,
16
LeftBrace
,
17
RightBrace
,
18
LeftParen
,
19
RightParen
,
20
LeftBracket
,
21
RightBracket
,
22
Period
,
23
Comma
,
24
SemiColon
,
25
Increment
,
26
Decrement
,
27
Plus
,
28
Minus
,
29
Multiply
,
30
Divide
,
31
Modulo
,
32
Assign
,
33
AssignPlus
,
34
AssignMinus
,
35
AssignMultiply
,
36
AssignDivide
,
37
AssignBinaryAnd
,
38
AssignBinaryOr
,
39
AssignXor
,
40
AssignBinaryNot
,
41
AssignModulo
,
42
And
,
43
Or
,
44
Not
,
45
Equal
,
46
NotEqual
,
47
Greater
,
48
GreaterEqual
,
49
Less
,
50
LessEqual
,
51
If
,
52
Else
,
53
Switch
,
54
Case
,
55
Default
,
56
Colon
,
57
While
,
58
For
,
59
Foreach
,
60
In
,
61
Break
,
62
Continue
,
63
Function
,
64
Return
,
65
Identifier
,
66
Null
,
67
Integer
,
68
Float
,
69
Boolean
,
70
String
,
71
Char
,
72
Double
,
73
ShiftLeft
,
74
ShiftRight
,
75
CustomObject
,
76
Volatile
,
77
Struct
,
78
Enum
,
79
Run
,
80
Yield
,
81
Lock
,
82
Wait
,
83
Notify
,
84
}
85
86
public
class
SerializableToken
87
{
88
public
TokenType
Type
{
get
;
set
; }
89
public
string
Lexeme
{
get
;
set
; }
90
public
int
Line
{
get
;
set
; }
91
public
int
Column
{
get
;
set
; }
92
public
string
Text
{
get
;
set
; }
93
}
94
98
[Serializable]
99
public
class
Token
100
{
101
102
#region Private Variables
103
104
private
TokenType
tokenType;
105
private
object
lexeme;
106
private
int
line;
107
private
int
column;
108
private
String
text;
109
110
#endregion
111
112
#region Public Methods
113
114
public
Token
(
TokenType
tokenType,
object
lexeme,
int
line,
int
column,
String
sourceLine)
115
{
116
this.tokenType = tokenType;
117
this.lexeme = lexeme;
118
this.line = line;
119
this.column = Math.Max(0, column - lexeme.ToString().Length - 1);
120
this.text = sourceLine;
121
}
122
123
public
override
string
ToString
()
124
{
125
return
"Token("
+ tokenType +
", \""
+ lexeme.ToString() +
"\")"
;
126
}
127
128
#endregion
129
130
#region Public Methods
131
132
public
TokenType
Type
133
{
134
get
{
return
tokenType; }
135
}
136
137
public
object
Lexeme
138
{
139
get
{
return
lexeme; }
140
}
141
142
public
int
Line
143
{
144
get
{
return
line; }
145
}
146
147
public
int
Column
148
{
149
get
{
return
column; }
150
}
151
152
public
string
Text
153
{
154
get
{
return
text; }
155
}
156
157
#endregion
158
159
}
160
161
}
162
ScriptStack.Compiler.SerializableToken
Definition
Token.cs:87
ScriptStack.Compiler.SerializableToken.Type
TokenType Type
Definition
Token.cs:88
ScriptStack.Compiler.SerializableToken.Line
int Line
Definition
Token.cs:90
ScriptStack.Compiler.SerializableToken.Lexeme
string Lexeme
Definition
Token.cs:89
ScriptStack.Compiler.SerializableToken.Column
int Column
Definition
Token.cs:91
ScriptStack.Compiler.SerializableToken.Text
string Text
Definition
Token.cs:92
ScriptStack.Compiler.Token.Lexeme
object Lexeme
Definition
Token.cs:138
ScriptStack.Compiler.Token.Type
TokenType Type
Definition
Token.cs:133
ScriptStack.Compiler.Token.Column
int Column
Definition
Token.cs:148
ScriptStack.Compiler.Token.Text
string Text
Definition
Token.cs:153
ScriptStack.Compiler.Token.Line
int Line
Definition
Token.cs:143
ScriptStack.Compiler.Token.Token
Token(TokenType tokenType, object lexeme, int line, int column, String sourceLine)
Definition
Token.cs:114
ScriptStack.Compiler.Token.ToString
override string ToString()
Definition
Token.cs:123
ScriptStack.Compiler
Definition
Derivation.cs:8
ScriptStack.Compiler.TokenType
TokenType
Known types of Token.
Definition
Token.cs:12
ScriptStack.Compiler.TokenType.Case
@ Case
Definition
Token.cs:54
ScriptStack.Compiler.TokenType.Divide
@ Divide
Definition
Token.cs:30
ScriptStack.Compiler.TokenType.Wait
@ Wait
Definition
Token.cs:82
ScriptStack.Compiler.TokenType.Assign
@ Assign
Definition
Token.cs:32
ScriptStack.Compiler.TokenType.Period
@ Period
Definition
Token.cs:22
ScriptStack.Compiler.TokenType.NotEqual
@ NotEqual
Definition
Token.cs:46
ScriptStack.Compiler.TokenType.Less
@ Less
Definition
Token.cs:49
ScriptStack.Compiler.TokenType.CustomObject
@ CustomObject
Definition
Token.cs:75
ScriptStack.Compiler.TokenType.Float
@ Float
Definition
Token.cs:68
ScriptStack.Compiler.TokenType.String
@ String
Definition
Token.cs:70
ScriptStack.Compiler.TokenType.Boolean
@ Boolean
Definition
Token.cs:69
ScriptStack.Compiler.TokenType.Identifier
@ Identifier
Definition
Token.cs:65
ScriptStack.Compiler.TokenType.AssignDivide
@ AssignDivide
Definition
Token.cs:36
ScriptStack.Compiler.TokenType.RightParen
@ RightParen
Definition
Token.cs:19
ScriptStack.Compiler.TokenType.Plus
@ Plus
Definition
Token.cs:27
ScriptStack.Compiler.TokenType.For
@ For
Definition
Token.cs:58
ScriptStack.Compiler.TokenType.Or
@ Or
Definition
Token.cs:43
ScriptStack.Compiler.TokenType.Colon
@ Colon
Definition
Token.cs:56
ScriptStack.Compiler.TokenType.While
@ While
Definition
Token.cs:57
ScriptStack.Compiler.TokenType.Volatile
@ Volatile
Definition
Token.cs:76
ScriptStack.Compiler.TokenType.Minus
@ Minus
Definition
Token.cs:28
ScriptStack.Compiler.TokenType.RightBracket
@ RightBracket
Definition
Token.cs:21
ScriptStack.Compiler.TokenType.LeftBracket
@ LeftBracket
Definition
Token.cs:20
ScriptStack.Compiler.TokenType.Modulo
@ Modulo
Definition
Token.cs:31
ScriptStack.Compiler.TokenType.AssignPlus
@ AssignPlus
Definition
Token.cs:33
ScriptStack.Compiler.TokenType.AssignXor
@ AssignXor
Definition
Token.cs:39
ScriptStack.Compiler.TokenType.AssignMinus
@ AssignMinus
Definition
Token.cs:34
ScriptStack.Compiler.TokenType.Comma
@ Comma
Definition
Token.cs:23
ScriptStack.Compiler.TokenType.Var
@ Var
Definition
Token.cs:15
ScriptStack.Compiler.TokenType.Decrement
@ Decrement
Definition
Token.cs:26
ScriptStack.Compiler.TokenType.Else
@ Else
Definition
Token.cs:52
ScriptStack.Compiler.TokenType.Increment
@ Increment
Definition
Token.cs:25
ScriptStack.Compiler.TokenType.GreaterEqual
@ GreaterEqual
Definition
Token.cs:48
ScriptStack.Compiler.TokenType.AssignBinaryAnd
@ AssignBinaryAnd
Definition
Token.cs:37
ScriptStack.Compiler.TokenType.If
@ If
Definition
Token.cs:51
ScriptStack.Compiler.TokenType.SemiColon
@ SemiColon
Definition
Token.cs:24
ScriptStack.Compiler.TokenType.Default
@ Default
Definition
Token.cs:55
ScriptStack.Compiler.TokenType.Function
@ Function
Definition
Token.cs:63
ScriptStack.Compiler.TokenType.Greater
@ Greater
Definition
Token.cs:47
ScriptStack.Compiler.TokenType.Struct
@ Struct
Definition
Token.cs:77
ScriptStack.Compiler.TokenType.Char
@ Char
Definition
Token.cs:71
ScriptStack.Compiler.TokenType.Yield
@ Yield
Definition
Token.cs:80
ScriptStack.Compiler.TokenType.Return
@ Return
Definition
Token.cs:64
ScriptStack.Compiler.TokenType.LeftBrace
@ LeftBrace
Definition
Token.cs:16
ScriptStack.Compiler.TokenType.Continue
@ Continue
Definition
Token.cs:62
ScriptStack.Compiler.TokenType.Integer
@ Integer
Definition
Token.cs:67
ScriptStack.Compiler.TokenType.AssignMultiply
@ AssignMultiply
Definition
Token.cs:35
ScriptStack.Compiler.TokenType.Shared
@ Shared
Definition
Token.cs:14
ScriptStack.Compiler.TokenType.Foreach
@ Foreach
Definition
Token.cs:59
ScriptStack.Compiler.TokenType.Not
@ Not
Definition
Token.cs:44
ScriptStack.Compiler.TokenType.Notify
@ Notify
Definition
Token.cs:83
ScriptStack.Compiler.TokenType.Lock
@ Lock
Definition
Token.cs:81
ScriptStack.Compiler.TokenType.AssignBinaryOr
@ AssignBinaryOr
Definition
Token.cs:38
ScriptStack.Compiler.TokenType.Null
@ Null
Definition
Token.cs:66
ScriptStack.Compiler.TokenType.Switch
@ Switch
Definition
Token.cs:53
ScriptStack.Compiler.TokenType.And
@ And
Definition
Token.cs:42
ScriptStack.Compiler.TokenType.Run
@ Run
Definition
Token.cs:79
ScriptStack.Compiler.TokenType.Enum
@ Enum
Definition
Token.cs:78
ScriptStack.Compiler.TokenType.LessEqual
@ LessEqual
Definition
Token.cs:50
ScriptStack.Compiler.TokenType.AssignBinaryNot
@ AssignBinaryNot
Definition
Token.cs:40
ScriptStack.Compiler.TokenType.Double
@ Double
Definition
Token.cs:72
ScriptStack.Compiler.TokenType.ShiftLeft
@ ShiftLeft
Definition
Token.cs:73
ScriptStack.Compiler.TokenType.Multiply
@ Multiply
Definition
Token.cs:29
ScriptStack.Compiler.TokenType.AssignModulo
@ AssignModulo
Definition
Token.cs:41
ScriptStack.Compiler.TokenType.Break
@ Break
Definition
Token.cs:61
ScriptStack.Compiler.TokenType.In
@ In
Definition
Token.cs:60
ScriptStack.Compiler.TokenType.LeftParen
@ LeftParen
Definition
Token.cs:18
ScriptStack.Compiler.TokenType.ShiftRight
@ ShiftRight
Definition
Token.cs:74
ScriptStack.Compiler.TokenType.Include
@ Include
Definition
Token.cs:13
ScriptStack.Compiler.TokenType.Equal
@ Equal
Definition
Token.cs:45
ScriptStack.Compiler.TokenType.RightBrace
@ RightBrace
Definition
Token.cs:17
Compiler
Token.cs
Generated by
1.15.0