mirror of
https://github.com/Ed94/metadesk.git
synced 2026-08-07 08:08:48 +00:00
get parser function definitions into docs
This commit is contained in:
+86
-149
@@ -1039,12 +1039,14 @@ main:
|
|||||||
//~ Enum/Flag Strings
|
//~ Enum/Flag Strings
|
||||||
|
|
||||||
@send(Nodes)
|
@send(Nodes)
|
||||||
|
@doc("Returns a string that contains a name matching @code 'kind'.")
|
||||||
@func MD_StringFromNodeKind: {
|
@func MD_StringFromNodeKind: {
|
||||||
kind: MD_NodeKind,
|
kind: MD_NodeKind,
|
||||||
return: MD_String8,
|
return: MD_String8,
|
||||||
};
|
};
|
||||||
|
|
||||||
@send(Nodes)
|
@send(Nodes)
|
||||||
|
@doc("Builds a string list for all bits set in @code 'flags', with each string being the name of one of the flags that is set.")
|
||||||
@func MD_StringListFromNodeFlags: {
|
@func MD_StringListFromNodeFlags: {
|
||||||
flags: MD_NodeFlags,
|
flags: MD_NodeFlags,
|
||||||
return: MD_String8List,
|
return: MD_String8List,
|
||||||
@@ -1172,173 +1174,109 @@ MD_MapOverwrite: {
|
|||||||
return: *MD_MapSlot,
|
return: *MD_MapSlot,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////
|
|
||||||
//~ String-To-Pointer Table
|
|
||||||
|
|
||||||
// TODO(allen): update reference for map
|
|
||||||
|
|
||||||
@send(Map)
|
|
||||||
@func MD_StringMap_Lookup: {
|
|
||||||
table: *MD_Map,
|
|
||||||
string: MD_String8,
|
|
||||||
return: *MD_MapSlot,
|
|
||||||
};
|
|
||||||
|
|
||||||
@send(Map)
|
|
||||||
@func MD_StringMap_Insert: {
|
|
||||||
table: *MD_Map,
|
|
||||||
collision_rule: MD_MapCollisionRule,
|
|
||||||
string: MD_String8,
|
|
||||||
node: *MD_Node,
|
|
||||||
return: MD_b32,
|
|
||||||
};
|
|
||||||
|
|
||||||
////////////////////////////////
|
|
||||||
//~ Pointer-To-Pointer Table
|
|
||||||
|
|
||||||
@send(Map)
|
|
||||||
@func MD_PtrMap_Lookup: {
|
|
||||||
table: *MD_Map,
|
|
||||||
key: *void,
|
|
||||||
return: *MD_MapSlot,
|
|
||||||
};
|
|
||||||
|
|
||||||
@send(Map)
|
|
||||||
@func MD_PtrMap_Insert: {
|
|
||||||
table: *MD_Map,
|
|
||||||
collision_rule: MD_MapCollisionRule,
|
|
||||||
key: *void,
|
|
||||||
node: *MD_Node,
|
|
||||||
return: MD_b32,
|
|
||||||
};
|
|
||||||
|
|
||||||
////////////////////////////////
|
////////////////////////////////
|
||||||
//~ Parsing
|
//~ Parsing
|
||||||
|
|
||||||
@send(Tokens)
|
@send(Parsing) @func
|
||||||
@func MD_TokenKindIsWhitespace: {
|
MD_TokenFromString:
|
||||||
kind: MD_TokenKind,
|
{
|
||||||
return: MD_b32,
|
string: MD_String8;
|
||||||
};
|
return: MD_Token;
|
||||||
|
}
|
||||||
|
|
||||||
@send(Tokens)
|
@send(Parsing) @func
|
||||||
@func MD_TokenKindIsComment: {
|
MD_LexAdvanceFromSkips:
|
||||||
kind: MD_TokenKind,
|
{
|
||||||
return: MD_b32,
|
string: MD_String8;
|
||||||
};
|
skip_kinds: MD_TokenKind;
|
||||||
|
return: MD_u64;
|
||||||
|
}
|
||||||
|
|
||||||
@send(Tokens)
|
@send(Parsing) @func
|
||||||
@func MD_TokenKindIsRegular: {
|
MD_MakeNodeError:
|
||||||
kind: MD_TokenKind,
|
{
|
||||||
return: MD_b32,
|
node: *MD_Node;
|
||||||
};
|
kind: MD_MessageKind;
|
||||||
|
str: MD_String8;
|
||||||
|
return: *MD_Error
|
||||||
|
}
|
||||||
|
|
||||||
@send(Parsing)
|
@send(Parsing) @func
|
||||||
@func MD_PushNodeError: {
|
MD_MakeTokenError:
|
||||||
ctx: *MD_ParseCtx,
|
{
|
||||||
node: *MD_Node,
|
parse_contents: MD_String8;
|
||||||
kind: MD_MessageKind,
|
token: MD_Token;
|
||||||
str: MD_String8,
|
kind: MD_MessageKind;
|
||||||
};
|
str: MD_String8;
|
||||||
|
return: *MD_Error;
|
||||||
|
}
|
||||||
|
|
||||||
@send(Parsing)
|
@send(Parsing) @func
|
||||||
@func MD_PushNodeErrorF: {
|
MD_PushErrorToList:
|
||||||
ctx: *MD_ParseCtx,
|
{
|
||||||
node: *MD_Node,
|
list: *MD_ErrorList;
|
||||||
kind: MD_MessageKind,
|
error: *MD_Error;
|
||||||
fmt: *char,
|
}
|
||||||
"..."
|
|
||||||
};
|
|
||||||
|
|
||||||
@send(Parsing)
|
@send(Parsing) @func
|
||||||
@func MD_PushTokenError: {
|
MD_PushErrorListToList:
|
||||||
ctx: *MD_ParseCtx,
|
{
|
||||||
token: MD_Token,
|
list: *MD_ErrorList;
|
||||||
kind: MD_MessageKind,
|
to_push: *MD_ErrorList;
|
||||||
str: MD_String8,
|
}
|
||||||
};
|
|
||||||
|
|
||||||
@send(Parsing)
|
@send(Parsing) @func
|
||||||
@func MD_PushTokenErrorF: {
|
MD_ParseResultZero:
|
||||||
ctx: *MD_ParseCtx,
|
{
|
||||||
token: MD_Token,
|
return: MD_ParseResult;
|
||||||
kind: MD_MessageKind,
|
}
|
||||||
fmt: *char,
|
|
||||||
"..."
|
|
||||||
};
|
|
||||||
|
|
||||||
@send(Parsing)
|
@send(Parsing) @func
|
||||||
@func MD_Parse_InitializeCtx: {
|
MD_ParseNodeSet:
|
||||||
filename: MD_String8,
|
{
|
||||||
contents: MD_String8,
|
string: MD_String8;
|
||||||
return: MD_ParseCtx,
|
offset: MD_u64;
|
||||||
};
|
parent: *MD_Node;
|
||||||
|
rule: MD_ParseSetRule;
|
||||||
|
return: MD_ParseResult;
|
||||||
|
}
|
||||||
|
|
||||||
@send(Parsing)
|
@send(Parsing) @func
|
||||||
@func MD_Parse_Bump: {
|
MD_ParseTagList:
|
||||||
ctx: *MD_ParseCtx,
|
{
|
||||||
token: MD_Token,
|
string: MD_String8;
|
||||||
};
|
offset: MD_u64;
|
||||||
|
return: MD_ParseResult;
|
||||||
|
}
|
||||||
|
|
||||||
@send(Parsing)
|
@send(Parsing) @func
|
||||||
@func MD_Parse_BumpNext: {
|
MD_ParseOneNode:
|
||||||
ctx: *MD_ParseCtx,
|
{
|
||||||
};
|
string: MD_String8;
|
||||||
|
offset: MD_u64;
|
||||||
|
return: MD_ParseResult;
|
||||||
|
}
|
||||||
|
|
||||||
@send(Parsing)
|
@send(Parsing) @func
|
||||||
@func MD_Parse_LexNext: {
|
MD_ParseWholeString:
|
||||||
ctx: *MD_ParseCtx,
|
{
|
||||||
return: MD_Token,
|
filename: MD_String8;
|
||||||
};
|
contents: MD_String8;
|
||||||
|
return: MD_ParseResult;
|
||||||
|
}
|
||||||
|
|
||||||
@send(Parsing)
|
@send(Parsing) @func
|
||||||
@func MD_Parse_PeekSkipSome: {
|
MD_ParseWholeFile:
|
||||||
ctx: *MD_ParseCtx,
|
{
|
||||||
skip_groups: MD_TokenGroups,
|
filename: MD_String8;
|
||||||
return: MD_Token,
|
return: MD_ParseResult;
|
||||||
};
|
}
|
||||||
|
|
||||||
@send(Parsing)
|
|
||||||
@func MD_Parse_Require: {
|
|
||||||
ctx: *MD_ParseCtx,
|
|
||||||
string: MD_String8,
|
|
||||||
return: MD_b32,
|
|
||||||
};
|
|
||||||
|
|
||||||
@send(Parsing)
|
|
||||||
@func MD_Parse_RequireKind: {
|
|
||||||
ctx: *MD_ParseCtx,
|
|
||||||
kind: MD_TokenKind,
|
|
||||||
out_token: *MD_Token,
|
|
||||||
return: MD_b32,
|
|
||||||
};
|
|
||||||
|
|
||||||
@send(Parsing)
|
|
||||||
@func MD_ParseOneNode: {
|
|
||||||
filename: MD_String8,
|
|
||||||
contents: MD_String8,
|
|
||||||
return: MD_ParseResult,
|
|
||||||
};
|
|
||||||
|
|
||||||
@send(Parsing)
|
|
||||||
@func MD_ParseWholeString: {
|
|
||||||
filename: MD_String8,
|
|
||||||
contents: MD_String8,
|
|
||||||
return: MD_ParseResult,
|
|
||||||
};
|
|
||||||
|
|
||||||
@send(Parsing)
|
|
||||||
@func MD_ParseWholeFile: {
|
|
||||||
filename: MD_String8,
|
|
||||||
return: MD_ParseResult,
|
|
||||||
};
|
|
||||||
|
|
||||||
////////////////////////////////
|
////////////////////////////////
|
||||||
//~ Location Conversion
|
//~ Location Conversion
|
||||||
|
|
||||||
@send(CodeLoc)
|
@send(CodeLoc)
|
||||||
@func MD_CodeLocFromFileOffset: {
|
@func MD_CodeLocFromFileBaseOff: {
|
||||||
filename: MD_String8,
|
filename: MD_String8,
|
||||||
base: *MD_u8,
|
base: *MD_u8,
|
||||||
off: *MD_u8,
|
off: *MD_u8,
|
||||||
@@ -1351,7 +1289,6 @@ MD_MapOverwrite: {
|
|||||||
return: MD_CodeLoc,
|
return: MD_CodeLoc,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////
|
////////////////////////////////
|
||||||
//~ Tree/List Building
|
//~ Tree/List Building
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user