lexLeo
Loading...
Searching...
No Matches
lexleo_token.h
1
// src/langage/include/lexleo_token.h
2
3
#ifndef LEXLEO_LEXLEO_TOKEN_H
4
#define LEXLEO_LEXLEO_TOKEN_H
5
6
#include <stdint.h>
7
14
typedef
enum
lexleo_token_kind_t {
15
LEX_TK_INVALID = 0,
16
17
/* punctuation */
18
LEX_TK_LBRACE,
19
LEX_TK_RBRACE,
20
LEX_TK_LPAREN,
21
LEX_TK_RPAREN,
22
23
/* operators */
24
LEX_TK_ADD,
25
LEX_TK_SUBTRACT,
26
LEX_TK_MULTIPLY,
27
LEX_TK_DIVIDE,
28
29
/* separators / assignment */
30
LEX_TK_SEMICOLON,
31
LEX_TK_COMMA,
32
LEX_TK_EQUAL,
33
34
/* keywords */
35
LEX_TK_READ,
36
LEX_TK_WRITE,
37
LEX_TK_DEFINE,
38
LEX_TK_CALL,
39
LEX_TK_QUOTE,
40
LEX_TK_EVAL,
41
LEX_TK_SYMBOL,
42
LEX_TK_SET,
43
LEX_TK_IF,
44
LEX_TK_THEN,
45
LEX_TK_ELSE,
46
LEX_TK_WHILE,
47
LEX_TK_DO,
48
49
/* literals / identifiers */
50
LEX_TK_INTEGER,
51
LEX_TK_STRING,
52
LEX_TK_SYMBOL_NAME,
53
54
/* end of input */
55
LEX_TK_EOF
56
57
} lexleo_token_kind_t;
58
67
typedef
struct
lexleo_token_t
{
68
lexleo_token_kind_t kind;
69
union
{
70
int
int_value;
71
char
*string_value;
72
char
*symbol_value;
73
} as;
74
}
lexleo_token_t
;
75
76
#endif
//LEXLEO_LEXLEO_TOKEN_H
lexleo_token_t
Definition
lexleo_token.h:67
src
langage
include
lexleo_token.h
Generated by
1.9.8