remove MD_NodeKind_UnnamedSet; simplify to MD_NodeKind_Label with zero-string

This commit is contained in:
ryanfleury
2021-02-09 08:11:07 -07:00
parent 8847aebca2
commit 9253bd0de8
5 changed files with 18 additions and 20 deletions
@@ -12,7 +12,7 @@ Node {
String: x,
Whole String: x,
Node {
Kind: UnnamedSet,
Kind: Label,
Flags: 00110000000000000000000000000000,
Flag Names: BracketLeft, BracketRight,
Node {
@@ -34,7 +34,7 @@ Node {
}
}
Node {
Kind: UnnamedSet,
Kind: Label,
Flags: 00001101010000000000000000000000,
Flag Names: BraceLeft, BraceRight, BeforeComma, AfterComma,
Node {
@@ -60,7 +60,7 @@ Node {
}
}
Node {
Kind: UnnamedSet,
Kind: Label,
Flags: 00001101010000000000000000000000,
Flag Names: BraceLeft, BraceRight, BeforeComma, AfterComma,
Tag: @tag_with_params
@@ -110,7 +110,7 @@ Node {
}
}
Node {
Kind: UnnamedSet,
Kind: Label,
Flags: 00001101010000000000000000000000,
Flag Names: BraceLeft, BraceRight, BeforeComma, AfterComma,
Tag: @tag_with_params
@@ -195,7 +195,7 @@ Node {
}
Node {
Kind: UnnamedSet,
Kind: Label,
Flags: 00001100000000000000000000000000,
Flag Names: BraceLeft, BraceRight,
Tag: @tagged_unnamed_set
@@ -216,7 +216,7 @@ Node {
}
Node {
Kind: UnnamedSet,
Kind: Label,
Flags: 00001100000000000000000000000000,
Flag Names: BraceLeft, BraceRight,
Tag: @showcase_mixed_set_scoping
-1
View File
@@ -295,7 +295,6 @@ typedef enum MD_NodeKind
MD_NodeKind_Nil,
MD_NodeKind_File,
MD_NodeKind_Label,
MD_NodeKind_UnnamedSet,
MD_NodeKind_Tag,
MD_NodeKind_MAX,
}
+1 -2
View File
@@ -643,7 +643,6 @@ MD_StringFromNodeKind(MD_NodeKind kind)
"Nil",
"File",
"Label",
"UnnamedSet",
"Tag",
};
return MD_S8CString(cstrs[kind]);
@@ -1429,7 +1428,7 @@ _MD_ParseOneNode(MD_ParseCtx *ctx)
MD_Parse_TokenMatch(next_token, MD_S8Lit("["), 0)) &&
next_token.kind == MD_TokenKind_Symbol )
{
result.node = _MD_MakeNodeFromString_Ctx(ctx, MD_NodeKind_UnnamedSet, MD_S8Lit(""));
result.node = _MD_MakeNodeFromString_Ctx(ctx, MD_NodeKind_Label, MD_S8Lit(""));
_MD_ParseSet(ctx, result.node,
_MD_ParseSetFlag_Paren |
_MD_ParseSetFlag_Brace |
+11 -11
View File
@@ -126,18 +126,18 @@ int main(void)
Test("Empty Sets")
{
TestResult(MatchParsedWithNode(MD_S8Lit("{}"), MakeTestNode(MD_NodeKind_UnnamedSet, MD_S8Lit(""))));
TestResult(MatchParsedWithNode(MD_S8Lit("()"), MakeTestNode(MD_NodeKind_UnnamedSet, MD_S8Lit(""))));
TestResult(MatchParsedWithNode(MD_S8Lit("[]"), MakeTestNode(MD_NodeKind_UnnamedSet, MD_S8Lit(""))));
TestResult(MatchParsedWithNode(MD_S8Lit("[)"), MakeTestNode(MD_NodeKind_UnnamedSet, MD_S8Lit(""))));
TestResult(MatchParsedWithNode(MD_S8Lit("(]"), MakeTestNode(MD_NodeKind_UnnamedSet, MD_S8Lit(""))));
TestResult(MatchParsedWithNode(MD_S8Lit("{}"), MakeTestNode(MD_NodeKind_Label, MD_S8Lit(""))));
TestResult(MatchParsedWithNode(MD_S8Lit("()"), MakeTestNode(MD_NodeKind_Label, MD_S8Lit(""))));
TestResult(MatchParsedWithNode(MD_S8Lit("[]"), MakeTestNode(MD_NodeKind_Label, MD_S8Lit(""))));
TestResult(MatchParsedWithNode(MD_S8Lit("[)"), MakeTestNode(MD_NodeKind_Label, MD_S8Lit(""))));
TestResult(MatchParsedWithNode(MD_S8Lit("(]"), MakeTestNode(MD_NodeKind_Label, MD_S8Lit(""))));
}
Test("Simple Unnamed Sets")
{
{
MD_String8 string = MD_S8Lit("{a, b, c}");
MD_Node *tree = MakeTestNode(MD_NodeKind_UnnamedSet, MD_S8Lit(""));
MD_Node *tree = MakeTestNode(MD_NodeKind_Label, MD_S8Lit(""));
MD_PushChild(tree, MakeTestNode(MD_NodeKind_Label, MD_S8Lit("a")));
MD_PushChild(tree, MakeTestNode(MD_NodeKind_Label, MD_S8Lit("b")));
MD_PushChild(tree, MakeTestNode(MD_NodeKind_Label, MD_S8Lit("c")));
@@ -145,7 +145,7 @@ int main(void)
}
{
MD_String8 string = MD_S8Lit("(1 2 3 4 5)");
MD_Node *tree = MakeTestNode(MD_NodeKind_UnnamedSet, MD_S8Lit(""));
MD_Node *tree = MakeTestNode(MD_NodeKind_Label, MD_S8Lit(""));
MD_PushChild(tree, MakeTestNode(MD_NodeKind_Label, MD_S8Lit("1")));
MD_PushChild(tree, MakeTestNode(MD_NodeKind_Label, MD_S8Lit("2")));
MD_PushChild(tree, MakeTestNode(MD_NodeKind_Label, MD_S8Lit("3")));
@@ -155,7 +155,7 @@ int main(void)
}
{
MD_String8 string = MD_S8Lit("{a}");
MD_Node *tree = MakeTestNode(MD_NodeKind_UnnamedSet, MD_S8Lit(""));
MD_Node *tree = MakeTestNode(MD_NodeKind_Label, MD_S8Lit(""));
MD_PushChild(tree, MakeTestNode(MD_NodeKind_Label, MD_S8Lit("a")));
TestResult(MatchParsedWithNode(string, tree));
}
@@ -175,7 +175,7 @@ int main(void)
{
{
MD_String8 string = MD_S8Lit("{a b:{1 2 3} c}");
MD_Node *tree = MakeTestNode(MD_NodeKind_UnnamedSet, MD_S8Lit(""));
MD_Node *tree = MakeTestNode(MD_NodeKind_Label, MD_S8Lit(""));
MD_PushChild(tree, MakeTestNode(MD_NodeKind_Label, MD_S8Lit("a")));
{
MD_Node *sub = MakeTestNode(MD_NodeKind_Label, MD_S8Lit("b"));
@@ -191,7 +191,7 @@ int main(void)
{
MD_String8 string = MD_S8Lit("foo: { (size: u64) -> *void }");
MD_Node *tree = MakeTestNode(MD_NodeKind_Label, MD_S8Lit("foo"));
MD_Node *params = MakeTestNode(MD_NodeKind_UnnamedSet, MD_S8Lit(""));
MD_Node *params = MakeTestNode(MD_NodeKind_Label, MD_S8Lit(""));
MD_Node *size = MakeTestNode(MD_NodeKind_Label, MD_S8Lit("size"));
MD_PushChild(size, MakeTestNode(MD_NodeKind_Label, MD_S8Lit("u64")));
MD_PushChild(params, size);
@@ -383,7 +383,7 @@ int main(void)
Test("Enum Strings")
{
TestResult(MD_StringMatch(MD_StringFromNodeKind(MD_NodeKind_Label), MD_S8Lit("Label"), 0));
TestResult(MD_StringMatch(MD_StringFromNodeKind(MD_NodeKind_UnnamedSet), MD_S8Lit("UnnamedSet"), 0));
TestResult(MD_StringMatch(MD_StringFromNodeKind(MD_NodeKind_Label), MD_S8Lit("Label"), 0));
MD_String8List list = MD_StringListFromNodeFlags(MD_NodeFlag_CharLiteral | MD_NodeFlag_ParenLeft | MD_NodeFlag_BeforeSemicolon);
MD_b32 match = 1;
for(MD_String8Node *node = list.first; node; node = node->next)