mirror of
https://github.com/Ed94/metadesk.git
synced 2026-07-20 23:46:48 +00:00
condense string flags
This commit is contained in:
@@ -1,14 +1,14 @@
|
||||
Node {
|
||||
Kind: Label,
|
||||
Flags: 0000110000000000000000010000000000000000000000000000000000000000,
|
||||
Flag Names: BraceLeft, BraceRight,
|
||||
Flags: 0000110000000001000000000000000000000000000000000000000000000000,
|
||||
Flag Names: BraceLeft, BraceRight, Identifier,
|
||||
String: foo,
|
||||
Whole String: foo,
|
||||
Tag: @struct
|
||||
Node {
|
||||
Kind: Label,
|
||||
Flags: 1100000010000000000000010000000000000000000000000000000000000000,
|
||||
Flag Names: ParenLeft, ParenRight, BeforeComma,
|
||||
Flags: 1100000010000001000000000000000000000000000000000000000000000000,
|
||||
Flag Names: ParenLeft, ParenRight, BeforeComma, Identifier,
|
||||
String: x,
|
||||
Whole String: x,
|
||||
Node {
|
||||
@@ -17,16 +17,16 @@ Node {
|
||||
Flag Names: BracketLeft, BracketRight,
|
||||
Node {
|
||||
Kind: Label,
|
||||
Flags: 0000000000000000000000010000000000000000000000000000000000000000,
|
||||
Flag Names: ,
|
||||
Flags: 0000000000000001000000000000000000000000000000000000000000000000,
|
||||
Flag Names: Identifier,
|
||||
String: MAX_PATH,
|
||||
Whole String: MAX_PATH,
|
||||
}
|
||||
}
|
||||
Node {
|
||||
Kind: Label,
|
||||
Flags: 0000000000000000000000010000000000000000000000000000000000000000,
|
||||
Flag Names: ,
|
||||
Flags: 0000000000000001000000000000000000000000000000000000000000000000,
|
||||
Flag Names: Identifier,
|
||||
String: char,
|
||||
Whole String: char,
|
||||
}
|
||||
@@ -35,36 +35,36 @@ Node {
|
||||
|
||||
Node {
|
||||
Kind: Label,
|
||||
Flags: 0000110000000000000000010000000000000000000000000000000000000000,
|
||||
Flag Names: BraceLeft, BraceRight,
|
||||
Flags: 0000110000000001000000000000000000000000000000000000000000000000,
|
||||
Flag Names: BraceLeft, BraceRight, Identifier,
|
||||
String: bar,
|
||||
Whole String: bar,
|
||||
Tag: @struct
|
||||
Tag: @test_tag
|
||||
Node {
|
||||
Kind: Label,
|
||||
Flags: 0000000010000000000000010000000000000000000000000000000000000000,
|
||||
Flag Names: BeforeComma,
|
||||
Flags: 0000000000000001000000000000000000000000000000000000000000000000,
|
||||
Flag Names: Identifier,
|
||||
String: y,
|
||||
Whole String: y,
|
||||
Node {
|
||||
Kind: Label,
|
||||
Flags: 0000000000000000000000010000000000000000000000000000000000000000,
|
||||
Flag Names: ,
|
||||
Flags: 0000000000000001000000000000000000000000000000000000000000000000,
|
||||
Flag Names: Identifier,
|
||||
String: float,
|
||||
Whole String: float,
|
||||
}
|
||||
}
|
||||
Node {
|
||||
Kind: Label,
|
||||
Flags: 0000000011000000000000010000000000000000000000000000000000000000,
|
||||
Flag Names: BeforeComma, AfterComma,
|
||||
Flags: 0000000000000001000000000000000000000000000000000000000000000000,
|
||||
Flag Names: Identifier,
|
||||
String: z,
|
||||
Whole String: z,
|
||||
Node {
|
||||
Kind: Label,
|
||||
Flags: 0000000000000000000000010000000000000000000000000000000000000000,
|
||||
Flag Names: ,
|
||||
Flags: 0000000000000001000000000000000000000000000000000000000000000000,
|
||||
Flag Names: Identifier,
|
||||
String: i32,
|
||||
Whole String: i32,
|
||||
}
|
||||
|
||||
@@ -1,34 +1,34 @@
|
||||
Node {
|
||||
Kind: Label,
|
||||
Flags: 0000110000000000000000010000000000000000000000000000000000000000,
|
||||
Flag Names: BraceLeft, BraceRight,
|
||||
Flags: 0000110000000001000000000000000000000000000000000000000000000000,
|
||||
Flag Names: BraceLeft, BraceRight, Identifier,
|
||||
String: a_set,
|
||||
Whole String: a_set,
|
||||
Tag: @sets
|
||||
Node {
|
||||
Kind: Label,
|
||||
Flags: 0000110010000000000000010000000000000000000000000000000000000000,
|
||||
Flag Names: BraceLeft, BraceRight, BeforeComma,
|
||||
Flags: 0000110010000001000000000000000000000000000000000000000000000000,
|
||||
Flag Names: BraceLeft, BraceRight, BeforeComma, Identifier,
|
||||
String: named_set,
|
||||
Whole String: named_set,
|
||||
Node {
|
||||
Kind: Label,
|
||||
Flags: 0000000010000000000000100000000000000000000000000000000000000000,
|
||||
Flag Names: BeforeComma,
|
||||
Flags: 0000000010000010000000000000000000000000000000000000000000000000,
|
||||
Flag Names: BeforeComma, Numeric,
|
||||
String: 1,
|
||||
Whole String: 1,
|
||||
}
|
||||
Node {
|
||||
Kind: Label,
|
||||
Flags: 0000000011000000000000100000000000000000000000000000000000000000,
|
||||
Flag Names: BeforeComma, AfterComma,
|
||||
Flags: 0000000011000010000000000000000000000000000000000000000000000000,
|
||||
Flag Names: BeforeComma, AfterComma, Numeric,
|
||||
String: 3,
|
||||
Whole String: 3,
|
||||
}
|
||||
Node {
|
||||
Kind: Label,
|
||||
Flags: 0000000001000000000000100000000000000000000000000000000000000000,
|
||||
Flag Names: AfterComma,
|
||||
Flags: 0000000001000010000000000000000000000000000000000000000000000000,
|
||||
Flag Names: AfterComma, Numeric,
|
||||
String: 7,
|
||||
Whole String: 7,
|
||||
}
|
||||
@@ -39,22 +39,22 @@ Node {
|
||||
Flag Names: BraceLeft, BraceRight, BeforeComma, AfterComma,
|
||||
Node {
|
||||
Kind: Label,
|
||||
Flags: 0000000010000000000000010000000000000000000000000000000000000000,
|
||||
Flag Names: BeforeComma,
|
||||
Flags: 0000000010000001000000000000000000000000000000000000000000000000,
|
||||
Flag Names: BeforeComma, Identifier,
|
||||
String: not,
|
||||
Whole String: not,
|
||||
}
|
||||
Node {
|
||||
Kind: Label,
|
||||
Flags: 0000000011000000000000010000000000000000000000000000000000000000,
|
||||
Flag Names: BeforeComma, AfterComma,
|
||||
Flags: 0000000011000001000000000000000000000000000000000000000000000000,
|
||||
Flag Names: BeforeComma, AfterComma, Identifier,
|
||||
String: named,
|
||||
Whole String: named,
|
||||
}
|
||||
Node {
|
||||
Kind: Label,
|
||||
Flags: 0000000001000000000000010000000000000000000000000000000000000000,
|
||||
Flag Names: AfterComma,
|
||||
Flags: 0000000001000001000000000000000000000000000000000000000000000000,
|
||||
Flag Names: AfterComma, Identifier,
|
||||
String: set,
|
||||
Whole String: set,
|
||||
}
|
||||
@@ -67,44 +67,44 @@ Node {
|
||||
Tag Children{
|
||||
Node {
|
||||
Kind: Label,
|
||||
Flags: 0000000010000000000000010000000000000000000000000000000000000000,
|
||||
Flag Names: BeforeComma,
|
||||
Flags: 0000000010000001000000000000000000000000000000000000000000000000,
|
||||
Flag Names: BeforeComma, Identifier,
|
||||
String: p1,
|
||||
Whole String: p1,
|
||||
}
|
||||
Node {
|
||||
Kind: Label,
|
||||
Flags: 0000000011000000000000010000000000000000000000000000000000000000,
|
||||
Flag Names: BeforeComma, AfterComma,
|
||||
Flags: 0000000011000001000000000000000000000000000000000000000000000000,
|
||||
Flag Names: BeforeComma, AfterComma, Identifier,
|
||||
String: p2,
|
||||
Whole String: p2,
|
||||
}
|
||||
Node {
|
||||
Kind: Label,
|
||||
Flags: 0000000001000000000000010000000000000000000000000000000000000000,
|
||||
Flag Names: AfterComma,
|
||||
Flags: 0000000001000001000000000000000000000000000000000000000000000000,
|
||||
Flag Names: AfterComma, Identifier,
|
||||
String: p3,
|
||||
Whole String: p3,
|
||||
}
|
||||
}
|
||||
Node {
|
||||
Kind: Label,
|
||||
Flags: 0000000010000000000000010000000000000000000000000000000000000000,
|
||||
Flag Names: BeforeComma,
|
||||
Flags: 0000000010000001000000000000000000000000000000000000000000000000,
|
||||
Flag Names: BeforeComma, Identifier,
|
||||
String: e1,
|
||||
Whole String: e1,
|
||||
}
|
||||
Node {
|
||||
Kind: Label,
|
||||
Flags: 0000000011000000000000010000000000000000000000000000000000000000,
|
||||
Flag Names: BeforeComma, AfterComma,
|
||||
Flags: 0000000011000001000000000000000000000000000000000000000000000000,
|
||||
Flag Names: BeforeComma, AfterComma, Identifier,
|
||||
String: e2,
|
||||
Whole String: e2,
|
||||
}
|
||||
Node {
|
||||
Kind: Label,
|
||||
Flags: 0000000001000000000000010000000000000000000000000000000000000000,
|
||||
Flag Names: AfterComma,
|
||||
Flags: 0000000001000001000000000000000000000000000000000000000000000000,
|
||||
Flag Names: AfterComma, Identifier,
|
||||
String: e3,
|
||||
Whole String: e3,
|
||||
}
|
||||
@@ -117,22 +117,22 @@ Node {
|
||||
Tag Children{
|
||||
Node {
|
||||
Kind: Label,
|
||||
Flags: 0000000010000000000000010000000000000000000000000000000000000000,
|
||||
Flag Names: BeforeComma,
|
||||
Flags: 0000000010000001000000000000000000000000000000000000000000000000,
|
||||
Flag Names: BeforeComma, Identifier,
|
||||
String: p1,
|
||||
Whole String: p1,
|
||||
}
|
||||
Node {
|
||||
Kind: Label,
|
||||
Flags: 0000000011000000000000010000000000000000000000000000000000000000,
|
||||
Flag Names: BeforeComma, AfterComma,
|
||||
Flags: 0000000011000001000000000000000000000000000000000000000000000000,
|
||||
Flag Names: BeforeComma, AfterComma, Identifier,
|
||||
String: p2,
|
||||
Whole String: p2,
|
||||
}
|
||||
Node {
|
||||
Kind: Label,
|
||||
Flags: 0000000001000000000000010000000000000000000000000000000000000000,
|
||||
Flag Names: AfterComma,
|
||||
Flags: 0000000001000001000000000000000000000000000000000000000000000000,
|
||||
Flag Names: AfterComma, Identifier,
|
||||
String: p3,
|
||||
Whole String: p3,
|
||||
}
|
||||
@@ -141,44 +141,44 @@ Node {
|
||||
Tag Children{
|
||||
Node {
|
||||
Kind: Label,
|
||||
Flags: 0000000010000000000000010000000000000000000000000000000000000000,
|
||||
Flag Names: BeforeComma,
|
||||
Flags: 0000000010000001000000000000000000000000000000000000000000000000,
|
||||
Flag Names: BeforeComma, Identifier,
|
||||
String: p,
|
||||
Whole String: p,
|
||||
}
|
||||
Node {
|
||||
Kind: Label,
|
||||
Flags: 0000000011000000000000010000000000000000000000000000000000000000,
|
||||
Flag Names: BeforeComma, AfterComma,
|
||||
Flags: 0000000011000001000000000000000000000000000000000000000000000000,
|
||||
Flag Names: BeforeComma, AfterComma, Identifier,
|
||||
String: pp,
|
||||
Whole String: pp,
|
||||
}
|
||||
Node {
|
||||
Kind: Label,
|
||||
Flags: 0000000001000000000000010000000000000000000000000000000000000000,
|
||||
Flag Names: AfterComma,
|
||||
Flags: 0000000001000001000000000000000000000000000000000000000000000000,
|
||||
Flag Names: AfterComma, Identifier,
|
||||
String: ppp,
|
||||
Whole String: ppp,
|
||||
}
|
||||
}
|
||||
Node {
|
||||
Kind: Label,
|
||||
Flags: 0000000010000000000000010000000000000000000000000000000000000000,
|
||||
Flag Names: BeforeComma,
|
||||
Flags: 0000000010000001000000000000000000000000000000000000000000000000,
|
||||
Flag Names: BeforeComma, Identifier,
|
||||
String: e1,
|
||||
Whole String: e1,
|
||||
}
|
||||
Node {
|
||||
Kind: Label,
|
||||
Flags: 0000000011000000000000010000000000000000000000000000000000000000,
|
||||
Flag Names: BeforeComma, AfterComma,
|
||||
Flags: 0000000011000001000000000000000000000000000000000000000000000000,
|
||||
Flag Names: BeforeComma, AfterComma, Identifier,
|
||||
String: e2,
|
||||
Whole String: e2,
|
||||
}
|
||||
Node {
|
||||
Kind: Label,
|
||||
Flags: 0000000001000000000000010000000000000000000000000000000000000000,
|
||||
Flag Names: AfterComma,
|
||||
Flags: 0000000001000001000000000000000000000000000000000000000000000000,
|
||||
Flag Names: AfterComma, Identifier,
|
||||
String: e3,
|
||||
Whole String: e3,
|
||||
}
|
||||
@@ -187,8 +187,8 @@ Node {
|
||||
|
||||
Node {
|
||||
Kind: Label,
|
||||
Flags: 0000110000000000000000010000000000000000000000000000000000000000,
|
||||
Flag Names: BraceLeft, BraceRight,
|
||||
Flags: 0000110000000001000000000000000000000000000000000000000000000000,
|
||||
Flag Names: BraceLeft, BraceRight, Identifier,
|
||||
String: empty,
|
||||
Whole String: empty,
|
||||
Tag: @empty_set
|
||||
@@ -201,14 +201,14 @@ Node {
|
||||
Tag: @tagged_unnamed_set
|
||||
Node {
|
||||
Kind: Label,
|
||||
Flags: 0000110000000000000000010000000000000000000000000000000000000000,
|
||||
Flag Names: BraceLeft, BraceRight,
|
||||
Flags: 0000110000000001000000000000000000000000000000000000000000000000,
|
||||
Flag Names: BraceLeft, BraceRight, Identifier,
|
||||
String: a_label,
|
||||
Whole String: a_label,
|
||||
Node {
|
||||
Kind: Label,
|
||||
Flags: 0000000000000000000000010000000000000000000000000000000000000000,
|
||||
Flag Names: ,
|
||||
Flags: 0000000000000001000000000000000000000000000000000000000000000000,
|
||||
Flag Names: Identifier,
|
||||
String: unnamed_set_element,
|
||||
Whole String: unnamed_set_element,
|
||||
}
|
||||
@@ -229,22 +229,22 @@ Node {
|
||||
Tag: @symbol_label
|
||||
Node {
|
||||
Kind: Label,
|
||||
Flags: 0000000000000000000000100000000000000000000000000000000000000000,
|
||||
Flag Names: ,
|
||||
Flags: 0000000000000010000000000000000000000000000000000000000000000000,
|
||||
Flag Names: Numeric,
|
||||
String: 1,
|
||||
Whole String: 1,
|
||||
}
|
||||
Node {
|
||||
Kind: Label,
|
||||
Flags: 0000000000000000000000100000000000000000000000000000000000000000,
|
||||
Flag Names: ,
|
||||
Flags: 0000000000000010000000000000000000000000000000000000000000000000,
|
||||
Flag Names: Numeric,
|
||||
String: 2,
|
||||
Whole String: 2,
|
||||
}
|
||||
Node {
|
||||
Kind: Label,
|
||||
Flags: 0000000000000000000000100000000000000000000000000000000000000000,
|
||||
Flag Names: ,
|
||||
Flags: 0000000000000010000000000000000000000000000000000000000000000000,
|
||||
Flag Names: Numeric,
|
||||
String: 3,
|
||||
Whole String: 3,
|
||||
}
|
||||
@@ -258,22 +258,22 @@ Node {
|
||||
Tag: @symbol_label
|
||||
Node {
|
||||
Kind: Label,
|
||||
Flags: 0000000000000000000000010000000000000000000000000000000000000000,
|
||||
Flag Names: ,
|
||||
Flags: 0000000000000001000000000000000000000000000000000000000000000000,
|
||||
Flag Names: Identifier,
|
||||
String: x,
|
||||
Whole String: x,
|
||||
}
|
||||
Node {
|
||||
Kind: Label,
|
||||
Flags: 0000000000000000000000010000000000000000000000000000000000000000,
|
||||
Flag Names: ,
|
||||
Flags: 0000000000000001000000000000000000000000000000000000000000000000,
|
||||
Flag Names: Identifier,
|
||||
String: y,
|
||||
Whole String: y,
|
||||
}
|
||||
Node {
|
||||
Kind: Label,
|
||||
Flags: 0000000000000000000000010000000000000000000000000000000000000000,
|
||||
Flag Names: ,
|
||||
Flags: 0000000000000001000000000000000000000000000000000000000000000000,
|
||||
Flag Names: Identifier,
|
||||
String: z,
|
||||
Whole String: z,
|
||||
}
|
||||
|
||||
+6
-7
@@ -207,7 +207,8 @@
|
||||
#endif
|
||||
|
||||
#if MD_COMPILER_CLANG || MD_COMPILER_GCC
|
||||
#define MD_FORMAT_FUNCTION_ANNOTATION(str_idx, check_idx) __attribute__((format(printf, str_idx, check_idx)))
|
||||
#define MD_FORMAT_FUNCTION_ANNOTATION(str_idx, check_idx) \
|
||||
__attribute__((format(printf, str_idx, check_idx)))
|
||||
#else
|
||||
#define MD_FORMAT_FUNCTION_ANNOTATION(str_idx, check_idx)
|
||||
#endif
|
||||
@@ -352,13 +353,11 @@ enum
|
||||
MD_NodeFlag_StringSingleQuote = (1<<10),
|
||||
MD_NodeFlag_StringDoubleQuote = (1<<11),
|
||||
MD_NodeFlag_StringTick = (1<<12),
|
||||
MD_NodeFlag_StringTripletSingleQuote= (1<<13),
|
||||
MD_NodeFlag_StringTripletDoubleQuote= (1<<14),
|
||||
MD_NodeFlag_StringTripletTick = (1<<15),
|
||||
MD_NodeFlag_StringTriplet = (1<<13),
|
||||
|
||||
MD_NodeFlag_Numeric = (1<<16),
|
||||
MD_NodeFlag_Identifier = (1<<17),
|
||||
MD_NodeFlag_StringLiteral = (1<<18),
|
||||
MD_NodeFlag_Numeric = (1<<14),
|
||||
MD_NodeFlag_Identifier = (1<<15),
|
||||
MD_NodeFlag_StringLiteral = (1<<16),
|
||||
};
|
||||
|
||||
typedef struct MD_Node MD_Node;
|
||||
|
||||
+9
-20
@@ -679,9 +679,7 @@ MD_StringListFromNodeFlags(MD_NodeFlags flags)
|
||||
"StringSingleQuote",
|
||||
"StringDoubleQuote",
|
||||
"StringTick",
|
||||
"StringTripletSingleQuote",
|
||||
"StringTripletDoubleQuote",
|
||||
"StringTripletTick",
|
||||
"StringTriplet",
|
||||
|
||||
"Numeric",
|
||||
"Identifier",
|
||||
@@ -1309,25 +1307,16 @@ MD_TokenFromString(MD_String8 string)
|
||||
|
||||
//- rjf: set relevant node flags on token
|
||||
token.node_flags |= MD_NodeFlag_StringLiteral;
|
||||
switch(d)
|
||||
{
|
||||
case '\'': token.node_flags |= MD_NodeFlag_StringSingleQuote; break;
|
||||
case '"': token.node_flags |= MD_NodeFlag_StringDoubleQuote; break;
|
||||
case '`': token.node_flags |= MD_NodeFlag_StringTick; break;
|
||||
default: break;
|
||||
}
|
||||
if(is_triplet)
|
||||
{
|
||||
switch(d)
|
||||
{
|
||||
case '\'': token.node_flags |= MD_NodeFlag_StringTripletSingleQuote; break;
|
||||
case '"': token.node_flags |= MD_NodeFlag_StringTripletDoubleQuote; break;
|
||||
case '`': token.node_flags |= MD_NodeFlag_StringTripletTick; break;
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
switch(d)
|
||||
{
|
||||
case '\'': token.node_flags |= MD_NodeFlag_StringSingleQuote; break;
|
||||
case '"': token.node_flags |= MD_NodeFlag_StringDoubleQuote; break;
|
||||
case '`': token.node_flags |= MD_NodeFlag_StringTick; break;
|
||||
default: break;
|
||||
}
|
||||
token.node_flags |= MD_NodeFlag_StringTriplet;
|
||||
}
|
||||
|
||||
}break;
|
||||
|
||||
@@ -309,11 +309,11 @@ int main(void)
|
||||
TestResult(MD_ParseOneNode(MD_S8Lit("`foo`"), 0).node->flags &
|
||||
MD_NodeFlag_StringLiteral | MD_NodeFlag_StringTick);
|
||||
TestResult(MD_ParseOneNode(MD_S8Lit("\"\"\"foo\"\"\""), 0).node->flags &
|
||||
MD_NodeFlag_StringLiteral | MD_NodeFlag_StringTripletDoubleQuote);
|
||||
MD_NodeFlag_StringLiteral | MD_NodeFlag_StringDoubleQuote | MD_NodeFlag_StringTriplet);
|
||||
TestResult(MD_ParseOneNode(MD_S8Lit("'''foo'''"), 0).node->flags &
|
||||
MD_NodeFlag_StringLiteral | MD_NodeFlag_StringTripletSingleQuote);
|
||||
MD_NodeFlag_StringLiteral | MD_NodeFlag_StringSingleQuote | MD_NodeFlag_StringTriplet);
|
||||
TestResult(MD_ParseOneNode(MD_S8Lit("```foo```"), 0).node->flags &
|
||||
MD_NodeFlag_StringLiteral | MD_NodeFlag_StringTripletTick);
|
||||
MD_NodeFlag_StringLiteral | MD_NodeFlag_StringTick | MD_NodeFlag_StringTriplet);
|
||||
}
|
||||
|
||||
Test("Expression Evaluation")
|
||||
|
||||
Reference in New Issue
Block a user