Naive preprocessor support initial implementation (compiles and runs, not heavily tested)

This commit is contained in:
2023-07-30 01:21:04 -04:00
parent 3d7cb85e71
commit bfbfae466f
19 changed files with 641 additions and 199 deletions

View File

@ -32,7 +32,15 @@ Operator_Member_Fwd
Operator_Cast
Operator_Cast_Fwd
Parameters
Preprocessor_Include
Preprocess_Define
Preprocess_Include
Preprocess_If
Preprocess_IfDef
Preprocess_IfNotDef
Preprocess_ElIf
Preprocess_Else
Preprocess_EndIf
Preprocess_Pragma
Specifiers
Struct
Struct_Fwd

1 Invalid
32 Operator_Cast
33 Operator_Cast_Fwd
34 Parameters
35 Preprocessor_Include Preprocess_Define
36 Preprocess_Include
37 Preprocess_If
38 Preprocess_IfDef
39 Preprocess_IfNotDef
40 Preprocess_ElIf
41 Preprocess_Else
42 Preprocess_EndIf
43 Preprocess_Pragma
44 Specifiers
45 Struct
46 Struct_Fwd

View File

@ -38,11 +38,14 @@ Module_Export, "export"
Number, "number"
Operator, "operator"
Preprocess_Define, "#define"
Preprocess_Include, "#include"
Preprocess_If, "#if"
Preprocess_ElIF, "#elif"
Preprocess_IfDef, "#ifdef"
Preprocess_IfNotDef, "#ifndef"
Preprocess_ElIf, "#elif"
Preprocess_Else, "#else"
Preprocess_EndIf, "#endif"
Preprocess_Include, "#include"
Preprocess_Pragma, "#pragma"
Spec_Alignas, "alignas"
Spec_Const, "const"
Spec_Consteval, "consteval"

1 Invalid __invalid__
38 Number number
39 Operator operator
40 Preprocess_Define #define
Preprocess_Include #include
41 Preprocess_If #if
42 Preprocess_ElIF Preprocess_IfDef #elif #ifdef
43 Preprocess_IfNotDef #ifndef
44 Preprocess_ElIf #elif
45 Preprocess_Else #else
46 Preprocess_EndIf #endif
47 Preprocess_Include #include
48 Preprocess_Pragma #pragma
49 Spec_Alignas alignas
50 Spec_Const const
51 Spec_Consteval consteval