Module: SasLexer::Lexer::TokenType
- Defined in:
- lib/sas_lexer/lexer.rb
Overview
Token type constants — match the ‘TokenType` enum in the Rust crate. Full enum: github.com/mishamsk/sas-lexer/blob/main/crates/sas-lexer/src/lexer/token_type.rs
Constant Summary collapse
- EOF =
Special tokens
0- MACRO_SEP =
1- CATCH_ALL =
2- WS =
3- WHITESPACE =
Alias for WS
3- SEMI =
Punctuation and operators
4- AMP =
‘;’
5- PERCENT =
‘&’
6- LPAREN =
‘%’
7- RPAREN =
‘(’
8- LCURLY =
‘)’
9- RCURLY =
‘{’
10- LBRACK =
‘}’
11- RBRACK =
‘[’
12- STAR =
‘]’
13- EXCL =
‘*’
14- EXCL2 =
‘!’
15- BPIPE =
‘!!’
16- BPIPE2 =
‘!|’
17- PIPE2 =
‘!|!’
18- STAR2 =
‘||’
19- NOT =
‘**’
20- FSLASH =
‘¬’ or ‘^’
21- PLUS =
‘/’
22- MINUS =
‘+’
23- GTLT =
‘-’
24- LTGT =
‘><’
25- LT =
‘<>’
26- LE =
‘<’
27- NE =
‘<=’
28- GT =
‘!=’ or ‘^=’
29- GE =
‘>’
30- SOUNDS_LIKE =
‘>=’
31- PIPE =
‘=*’
32- DOT =
‘|’
33- COMMA =
‘.’
34- COLON =
‘,’
35- ASSIGN =
‘:’
36- DOLLAR =
‘=’
37- AT =
‘$’
38- HASH =
‘@’
39- QUESTION =
‘#’
40- KW_LT =
Logical operators (mnemonic keywords)
41- KW_LE =
LT
42- KW_EQ =
LE
43- KW_IN =
EQ
44- KW_NE =
IN
45- KW_GT =
NE
46- KW_GE =
GT
47- KW_AND =
GE
48- KW_OR =
AND
49- KW_NOT =
OR
50- INTEGER_LITERAL =
Literals
51- FLOAT_LITERAL =
52- FLOAT_EXPONENT_LITERAL =
53- STRING_LITERAL =
54- BIT_TESTING_LITERAL =
55- DATE_LITERAL =
56- DATE_TIME_LITERAL =
57- NAME_LITERAL =
58- TIME_LITERAL =
59- HEX_STRING_LITERAL =
60- STRING_EXPR_START =
61- STRING_EXPR_TEXT =
62- STRING_EXPR_END =
63- BIT_TESTING_LITERAL_EXPR_END =
64- DATE_LITERAL_EXPR_END =
65- DATE_TIME_LITERAL_EXPR_END =
66- NAME_LITERAL_EXPR_END =
67- TIME_LITERAL_EXPR_END =
68- HEX_STRING_LITERAL_EXPR_END =
69- C_STYLE_COMMENT =
Comments
70- PREDICTED_COMMENT_STAT =
/* … */
71- COMMENT_STAT =
-
…; and ** … **;
-
71- DATALINES_START =
Alias for PREDICTED_COMMENT_STAT
72- DATALINES_DATA =
73- CHAR_FORMAT =
74- MACRO_COMMENT =
%* …;
75- MACRO_VAR_RESOLVE =
76- MACRO_VAR_TERM =
77- MACRO_STRING =
78- MACRO_STRING_EMPTY =
79- MACRO_LABEL =
80- MACRO_IDENTIFIER =
81- KWM_CMPRES =
Macro functions
82- KWM_COMPSTOR =
83- KWM_DATATYP =
84- KWM_EVAL =
85- KWM_INDEX =
86- KWM_LEFT =
87- KWM_LENGTH =
88- KWM_LOWCASE =
89- KWM_SCAN =
90- KWM_SUBSTR =
91- KWM_SYM_EXIST =
92- KWM_SYM_GLOBL =
93- KWM_SYM_LOCAL =
94- KWM_SYSEVALF =
95- KWM_SYSFUNC =
96- KWM_SYSGET =
97- KWM_SYSMACEXEC =
98- KWM_SYSMACEXIST =
99- KWM_SYSMEXECDEPTH =
100- KWM_SYSMEXECNAME =
101- KWM_SYSPROD =
102- KWM_TRIM =
103- KWM_UNQUOTE =
104- KWM_UPCASE =
105- KWM_VERIFY =
106- KWM_K_CMPRES =
107- KWM_K_INDEX =
108- KWM_K_LEFT =
109- KWM_K_LENGTH =
110- KWM_K_LOWCASE =
111- KWM_K_SCAN =
112- KWM_K_SUBSTR =
113- KWM_K_TRIM =
114- KWM_K_UPCASE =
115- KWM_K_VERIFY =
116- KWM_VALIDCHS =
117- KWM_Q_CMPRES =
118- KWM_Q_LEFT =
119- KWM_Q_LOWCASE =
120- KWM_Q_SCAN =
121- KWM_Q_SUBSTR =
122- KWM_Q_TRIM =
123- KWM_Q_SYSFUNC =
124- KWM_Q_UPCASE =
125- KWM_QK_CMPRES =
126- KWM_QK_LEFT =
127- KWM_QK_LOWCASE =
128- KWM_QK_SCAN =
129- KWM_QK_SUBSTR =
130- KWM_QK_TRIM =
131- KWM_QK_UPCASE =
132- KWM_BQUOTE =
133- KWM_NR_BQUOTE =
134- KWM_NR_QUOTE =
135- KWM_QUOTE =
136- KWM_SUPERQ =
137- KWM_STR =
138- KWM_NR_STR =
139- KWM_ABORT =
Macro statements
140- KWM_COPY =
141- KWM_DISPLAY =
142- KWM_DO =
143- KWM_TO =
144- KWM_BY =
145- KWM_UNTIL =
146- KWM_WHILE =
147- KWM_END =
148- KWM_GLOBAL =
149- KWM_GOTO =
150- KWM_IF =
151- KWM_THEN =
152- KWM_ELSE =
153- KWM_INPUT =
154- KWM_LET =
155- KWM_LOCAL =
156- KWM_MACRO =
157- KWM_MEND =
158- KWM_PUT =
159- KWM_RETURN =
160- KWM_SYMDEL =
161- KWM_SYSCALL =
162- KWM_SYSEXEC =
163- KWM_SYSLPUT =
164- KWM_SYSMACDELETE =
165- KWM_SYSMSTORECLEAR =
166- KWM_SYSRPUT =
167- KWM_WINDOW =
168- KWM_INCLUDE =
169- KWM_LIST =
170- KWM_RUN =
171- IDENTIFIER =
Identifiers (variable names, dataset names, etc.)
172- KW_EQT =
Additional keyword operators
173- KW_GTT =
174- KW_LTT =
175- KW_GET =
176- KW_LET =
177- KW_NET =
178- KW_LIBNAME =
SAS statement keywords
179- KW_FILENAME =
180- KW_CLEAR =
181- KW_LIST =
182- KW_CANCEL =
183- KW_ALL_VAR =
184- KW_ARRAY =
185- KW_ATTRIB =
186- KW_CALL =
187- KW_DATA =
188- KW_DEFAULT =
189- KW_DESCENDING =
190- KW_FORMAT =
191- KW_GROUPFORMAT =
192- KW_ID =
193- KW_IF =
194- KW_INFILE =
195- KW_INFORMAT =
196- KW_KEEP =
197- KW_LABEL =
198- KW_LENGTH =
199- KW_MERGE =
200- KW_NULL_DATASET =
201- KW_OUTPUT =
202- KW_PGM =
203- KW_RENAME =
204- KW_RUN =
205- KW_SET =
206- KW_STOP =
207- KW_VAR =
208- KW_VIEW =
209- KW_WITH =
210- KW_DELETE =
211- KW_NOTSORTED =
212- KW_PROC =
213- KW_QUIT =
214- KW_RANKS =
215- KW_ALL =
SQL and other SAS keywords
216- KW_ANY =
217- KW_AS =
218- KW_ASC =
219- KW_BETWEEN =
220- KW_BOTH =
221- KW_BTRIM =
222- KW_BY =
223- KW_CALCULATED =
224- KW_CASE =
225- KW_CONNECT =
226- KW_CONNECTION =
227- KW_CONTAINS =
228- KW_CORR =
229- KW_CREATE =
230- KW_CROSS =
231- KW_DESC =
232- KW_DISCONNECT =
233- KW_DISTINCT =
234- KW_DO =
235- KW_DROP =
236- KW_ELSE =
237- KW_END =
238- KW_ESCAPE =
239- KW_EXCEPT =
240- KW_EXECUTE =
241- KW_EXISTS =
242- KW_FOR =
243- KW_FROM =
244- KW_FULL =
245- KW_GROUP =
246- KW_HAVING =
247- KW_INDEX =
248- KW_INNER =
249- KW_INSERT =
250- KW_INTERSECT =
251- KW_INTO =
252- KW_IS =
253- KW_JOIN =
254- KW_KEY =
255- KW_LEADING =
256- KW_LEFT =
257- KW_LIKE =
258- KW_MISSING =
259- KW_NATURAL =
260- KW_NOTRIM =
261- KW_NULL =
262- KW_ON =
263- KW_ORDER =
264- KW_OUTER =
265- KW_PRIMARY =
266- KW_RIGHT =
267- KW_SELECT =
268- KW_SEPARATED =
269- KW_SUBSTRING =
270- KW_TABLE =
271- KW_THEN =
272- KW_TO =
273- KW_TRAILING =
274- KW_TRIMMED =
275- KW_UNION =
276- KW_UNIQUE =
277- KW_UPDATE =
278- KW_USING =
279- KW_VALUES =
280- KW_WHEN =
281- KW_WHERE =
282- KW_DECLARE =
283- KW_HASH =
284- KW_HITER =
285- KW_INPUT =
286- KW_PUT =
287