ScriptStack
1.0.5
Loading...
Searching...
No Matches
Src
Compiler
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
Decimal
,
74
ShiftLeft
,
75
ShiftRight
,
76
Run
,
77
Yield
,
78
Lock
,
79
Wait
,
80
Notify
,
81
BinaryNot
,
// ~
82
BinaryAnd
,
// &
83
BinaryOr
,
// |
84
Xor
// ^
85
}
86
87
public
class
SerializableToken
88
{
89
public
TokenType
Type
{
get
;
set
; }
90
public
string
Lexeme
{
get
;
set
; }
91
public
int
Line
{
get
;
set
; }
92
public
int
Column
{
get
;
set
; }
93
public
string
Text
{
get
;
set
; }
94
}
95
99
[Serializable]
100
public
class
Token
101
{
102
103
#region Private Variables
104
105
private
TokenType
tokenType
;
106
private
object
lexeme
;
107
private
int
line
;
108
private
int
column
;
109
private
String
text
;
110
111
#endregion
112
113
#region Public Methods
114
115
public
Token
(
TokenType
tokenType
,
object
lexeme
,
int
line
,
int
column
,
String
sourceLine)
116
{
117
this.tokenType =
tokenType
;
118
this.lexeme =
lexeme
;
119
this.line =
line
;
120
this.column = Math.Max(0,
column
-
lexeme
.ToString().Length - 1);
121
this.text = sourceLine;
122
}
123
124
public
override
string
ToString
()
125
{
126
return
"Token("
+
tokenType
+
", \""
+
lexeme
.ToString() +
"\")"
;
127
}
128
129
#endregion
130
131
#region Public Methods
132
133
public
TokenType
Type
134
{
135
get
{
return
tokenType
; }
136
}
137
138
public
object
Lexeme
139
{
140
get
{
return
lexeme
; }
141
}
142
143
public
int
Line
144
{
145
get
{
return
line
; }
146
}
147
148
public
int
Column
149
{
150
get
{
return
column
; }
151
}
152
153
public
string
Text
154
{
155
get
{
return
text
; }
156
}
157
158
#endregion
159
160
}
161
162
}
163
164
ScriptStack.Compiler.SerializableToken
Definition
Token.cs:88
ScriptStack.Compiler.SerializableToken.Type
TokenType Type
Definition
Token.cs:89
ScriptStack.Compiler.SerializableToken.Line
int Line
Definition
Token.cs:91
ScriptStack.Compiler.SerializableToken.Lexeme
string Lexeme
Definition
Token.cs:90
ScriptStack.Compiler.SerializableToken.Column
int Column
Definition
Token.cs:92
ScriptStack.Compiler.SerializableToken.Text
string Text
Definition
Token.cs:93
ScriptStack.Compiler.Token.Lexeme
object Lexeme
Definition
Token.cs:139
ScriptStack.Compiler.Token.column
int column
Definition
Token.cs:108
ScriptStack.Compiler.Token.tokenType
TokenType tokenType
Definition
Token.cs:105
ScriptStack.Compiler.Token.Type
TokenType Type
Definition
Token.cs:134
ScriptStack.Compiler.Token.Column
int Column
Definition
Token.cs:149
ScriptStack.Compiler.Token.line
int line
Definition
Token.cs:107
ScriptStack.Compiler.Token.text
String text
Definition
Token.cs:109
ScriptStack.Compiler.Token.Text
string Text
Definition
Token.cs:154
ScriptStack.Compiler.Token.Line
int Line
Definition
Token.cs:144
ScriptStack.Compiler.Token.Token
Token(TokenType tokenType, object lexeme, int line, int column, String sourceLine)
Definition
Token.cs:115
ScriptStack.Compiler.Token.ToString
override string ToString()
Definition
Token.cs:124
ScriptStack.Compiler.Token.lexeme
object lexeme
Definition
Token.cs:106
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:79
ScriptStack.Compiler.TokenType.BinaryNot
@ BinaryNot
Definition
Token.cs:81
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.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.BinaryAnd
@ BinaryAnd
Definition
Token.cs:82
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.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.Xor
@ Xor
Definition
Token.cs:84
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.Char
@ Char
Definition
Token.cs:71
ScriptStack.Compiler.TokenType.BinaryOr
@ BinaryOr
Definition
Token.cs:83
ScriptStack.Compiler.TokenType.Decimal
@ Decimal
Definition
Token.cs:73
ScriptStack.Compiler.TokenType.Yield
@ Yield
Definition
Token.cs:77
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:80
ScriptStack.Compiler.TokenType.Lock
@ Lock
Definition
Token.cs:78
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:76
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:74
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:75
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
Generated by
1.15.0