get parser function definitions into docs

This commit is contained in:
ryanfleury
2021-06-30 16:25:09 -06:00
parent 3aec1987d2
commit 9755bc966b
+86 -149
View File
@@ -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