code wiki / (root) / nx_lex_kinds.nx

nx_lex_kinds.nx

buildroot/runtime/nx_lex_kinds.nx

5724 B168 linesdepth 0pulls 0 transitivereach 78 importersview sourcekind librarytopic lex
docsdependenciesstructsconstsfunctions

about

lex_kinds.nx -- Tok record + named TokenKind constants. Shared by lex.nx (producer) and parse.nx (consumer). Both used to carry their own copy of the `Tok` struct and compare `t.kind == 67` with a comment saying "LPAREN"; with this module imported they use `t.kind == TK_LPAREN` directly. Numbers below must match the comment table in lex.nx and the emission sites in lex.nx's lexer -- do not renumber without auditing both callers and the existing test fixtures.

dependencies 0 imports · 40 importers

nx_lex_kinds.nx end2end_test.nx lex_kinds.nx nx_compile_wat.nx nx_compile_x86.nx nx_dom_oracle_gate.nx nx_lang_struct.nx nx_main.nx nx_nxc.nx nx_parse.nx nx_quality_grade_daemon.nx

diagram shows first 10 each side; +0 more imports, +30 more importers in the complete lists below.

imports: none

imported by: end2end_test.nxlex_kinds.nxnx_compile_wat.nxnx_compile_x86.nxnx_dom_oracle_gate.nxnx_lang_struct.nxnx_main.nxnx_nxc.nxnx_parse.nxnx_quality_grade_daemon.nxnx_quality_grade_quad.nxnx_quality_grade_self.nxnx_quality_grade_septagon.nxnx_smoke_imports.nxnx_smoke_lex2.nxnx_smoke_lex3.nxnx_smoke_lex4.nxnx_smoke_lex5.nxnx_smoke_lex6.nxnx_smoke_lex7.nxnx_smoke_lex_min.nxnx_smoke_nxc_pipeline.nxnx_smoke_nxc_pipeline10.nxnx_smoke_nxc_pipeline11.nxnx_smoke_nxc_pipeline12.nxnx_smoke_nxc_pipeline13.nxnx_smoke_nxc_pipeline14.nxnx_smoke_nxc_pipeline15.nxnx_smoke_nxc_pipeline2.nxnx_smoke_nxc_pipeline3.nxnx_smoke_nxc_pipeline4.nxnx_smoke_nxc_pipeline5.nxnx_smoke_nxc_pipeline6.nxnx_smoke_nxc_pipeline7.nxnx_smoke_nxc_pipeline8.nxnx_smoke_nxc_pipeline9.nxnx_smoke_nxc_tilde.nxnx_tokenizer.nxnx_vcc_color_wat.nxnx_vcc_probe_wat.nx

structs

17struct Tok {

consts

36const TOK_BYTES: i64 = 112
40const TK_EOF: i64 = 0
41const TK_INT: i64 = 1
42const TK_IDENT: i64 = 2
43const TK_STRING: i64 = 3
53const TK_FLOAT: i64 = 4
60const TK_FLOAT_F32: i64 = 5
64const TK_FUNC: i64 = 10
65const TK_LET: i64 = 11
66const TK_VAR: i64 = 12
67const TK_CONST: i64 = 13
68const TK_STATIC: i64 = 14
69const TK_IF: i64 = 15
70const TK_ELSE: i64 = 16
71const TK_WHILE: i64 = 17
72const TK_LOOP: i64 = 18
73const TK_FOR: i64 = 19
74const TK_IN: i64 = 20
75const TK_BREAK: i64 = 21
76const TK_CONTINUE: i64 = 22
77const TK_RETURN: i64 = 23
78const TK_TRUE: i64 = 24
79const TK_FALSE: i64 = 25
80const TK_STRUCT: i64 = 26
81const TK_ENUM: i64 = 27
84const TK_PRIV: i64 = 33
85const TK_MATCH: i64 = 28
86const TK_COMPTIME: i64 = 29
87const TK_EXTERN: i64 = 30
88const TK_AS: i64 = 31
93const TK_THEN: i64 = 32
97const TK_PLUS: i64 = 40
98const TK_MINUS: i64 = 41
99const TK_STAR: i64 = 42
100const TK_SLASH: i64 = 43
101const TK_PERCENT: i64 = 44
102const TK_ASSIGN: i64 = 45
106const TK_EQ: i64 = 46
107const TK_NE: i64 = 47
108const TK_LT: i64 = 48
109const TK_GT: i64 = 49
110const TK_LE: i64 = 50
111const TK_GE: i64 = 51
115const TK_AND_AND: i64 = 52
116const TK_OR_OR: i64 = 53
117const TK_BANG: i64 = 54
118const TK_AMP: i64 = 55
119const TK_PIPE: i64 = 56
120const TK_CARET: i64 = 57
121const TK_TILDE: i64 = 58
122const TK_SHL: i64 = 59
123const TK_SHR: i64 = 60
127const TK_ARROW: i64 = 61 // ->
128const TK_DOT_DOT: i64 = 62 // ..
129const TK_DOT: i64 = 63
130const TK_COLON: i64 = 64
131const TK_SEMI: i64 = 65
132const TK_COMMA: i64 = 66
133const TK_LPAREN: i64 = 67
134const TK_RPAREN: i64 = 68
135const TK_LBRACE: i64 = 69
136const TK_RBRACE: i64 = 70
137const TK_LBRACKET: i64 = 71
138const TK_RBRACKET: i64 = 72
139const TK_AT: i64 = 73
140const TK_HASH: i64 = 74
141const TK_COLON_COLON: i64 = 75 // ::
142const TK_FAT_ARROW: i64 = 76 // => (used by `match` arms)
143const TK_QUESTION: i64 = 77 // ? (C-style ternary cond ? a : b)

functions

151func tok_text_ptr(t: *Tok) -> *u8 {
160func streq_n(a: *u8, b: *u8, n: i64) -> i64 {