mirror of
				https://github.com/Ed94/gencpp.git
				synced 2025-11-03 23:36:12 -08:00 
			
		
		
		
	WIP: It can parse to around ~2k lines. Need to improve its ability to detect when a forward declare of a class/enum/struct/union..
This language truly is a mess.
This commit is contained in:
		@@ -15,8 +15,8 @@ BraceSquare_Open,       "["
 | 
			
		||||
BraceSquare_Close,      "]"
 | 
			
		||||
Capture_Start,          "("
 | 
			
		||||
Capture_End,            ")"
 | 
			
		||||
Comment,                "comemnt"
 | 
			
		||||
Char,                   "character"
 | 
			
		||||
Comment,                "__comemnt__"
 | 
			
		||||
Char,                   "__character__"
 | 
			
		||||
Comma,                  ","
 | 
			
		||||
Decl_Class,             "class"
 | 
			
		||||
Decl_GNU_Attribute,     "__attribute__"
 | 
			
		||||
@@ -26,18 +26,18 @@ Decl_Extern_Linkage,    "extern"
 | 
			
		||||
Decl_Friend,            "friend"
 | 
			
		||||
Decl_Module,            "module"
 | 
			
		||||
Decl_Namespace,         "namespace"
 | 
			
		||||
Decl_Operator,          "operator"
 | 
			
		||||
Decl_Operator,          "__operator__"
 | 
			
		||||
Decl_Struct,            "struct"
 | 
			
		||||
Decl_Template,          "template"
 | 
			
		||||
Decl_Typedef,           "typedef"
 | 
			
		||||
Decl_Using,             "using"
 | 
			
		||||
Decl_Union,             "union"
 | 
			
		||||
Identifier,             "identifier"
 | 
			
		||||
Identifier,             "__identifier__"
 | 
			
		||||
Module_Import,          "import"
 | 
			
		||||
Module_Export,          "export"
 | 
			
		||||
Number,                 "number"
 | 
			
		||||
Operator,               "operator"
 | 
			
		||||
Preprocess_Define,      "#define"
 | 
			
		||||
Number,                 "__number__"
 | 
			
		||||
Operator,               "__operator__"
 | 
			
		||||
Preprocess_Define,      "define"
 | 
			
		||||
Preprocess_If,          "if"
 | 
			
		||||
Preprocess_IfDef, 	    "ifdef"
 | 
			
		||||
Preprocess_IfNotDef, 	"ifndef"
 | 
			
		||||
@@ -46,7 +46,8 @@ Preprocess_Else,        "else"
 | 
			
		||||
Preprocess_EndIf,       "endif"
 | 
			
		||||
Preprocess_Include,     "include"
 | 
			
		||||
Preprocess_Pragma,      "pragma"
 | 
			
		||||
Preprocess_Macro,       "macro"
 | 
			
		||||
Preprocess_Macro,       "__macro__"
 | 
			
		||||
Preprocess_Unsupported, "__unsupported__"
 | 
			
		||||
Spec_Alignas,           "alignas"
 | 
			
		||||
Spec_Const,             "const"
 | 
			
		||||
Spec_Consteval,         "consteval"
 | 
			
		||||
@@ -66,7 +67,8 @@ Spec_ThreadLocal,       "thread_local"
 | 
			
		||||
Spec_Volatile,          "volatile"
 | 
			
		||||
Star,                   "*"
 | 
			
		||||
Statement_End,          ";"
 | 
			
		||||
String,                 "string"
 | 
			
		||||
StaticAssert,           "static_assert"
 | 
			
		||||
String,                 "__string__"
 | 
			
		||||
Type_Unsigned,          "unsigned"
 | 
			
		||||
Type_Signed,            "signed"
 | 
			
		||||
Type_Short,             "short"
 | 
			
		||||
@@ -74,5 +76,10 @@ Type_Long,              "long"
 | 
			
		||||
Type_char,              "char"
 | 
			
		||||
Type_int,               "int"
 | 
			
		||||
Type_double,            "double"
 | 
			
		||||
Type_MS_int8, 		    "__int8"
 | 
			
		||||
Type_MS_int16, 		    "__int16"
 | 
			
		||||
Type_MS_int32, 		    "__int32"
 | 
			
		||||
Type_MS_int64, 		    "__int64"
 | 
			
		||||
Type_MS_W64, 		    "_W64"
 | 
			
		||||
Varadic_Argument,       "..."
 | 
			
		||||
Attributes_Start,       "__attrib_start__"
 | 
			
		||||
__Attributes_Start,     "__attrib_start__"
 | 
			
		||||
 
 | 
			
		||||
		
		
			
  | 
		Reference in New Issue
	
	Block a user