mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-06-23 20:24:59 -07:00
more old eval trimming
This commit is contained in:
@@ -4,155 +4,6 @@
|
||||
#ifndef EVAL_PARSE_H
|
||||
#define EVAL_PARSE_H
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Generated Code
|
||||
|
||||
#include "generated/eval.meta.h"
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Token Types
|
||||
|
||||
typedef struct E_Token E_Token;
|
||||
struct E_Token
|
||||
{
|
||||
E_TokenKind kind;
|
||||
Rng1U64 range;
|
||||
};
|
||||
|
||||
typedef struct E_TokenChunkNode E_TokenChunkNode;
|
||||
struct E_TokenChunkNode
|
||||
{
|
||||
E_TokenChunkNode *next;
|
||||
E_Token *v;
|
||||
U64 count;
|
||||
U64 cap;
|
||||
};
|
||||
|
||||
typedef struct E_TokenChunkList E_TokenChunkList;
|
||||
struct E_TokenChunkList
|
||||
{
|
||||
E_TokenChunkNode *first;
|
||||
E_TokenChunkNode *last;
|
||||
U64 node_count;
|
||||
U64 total_count;
|
||||
};
|
||||
|
||||
typedef struct E_TokenArray E_TokenArray;
|
||||
struct E_TokenArray
|
||||
{
|
||||
E_Token *v;
|
||||
U64 count;
|
||||
};
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Expression Tree Types
|
||||
|
||||
typedef struct E_Expr E_Expr;
|
||||
struct E_Expr
|
||||
{
|
||||
E_Expr *first;
|
||||
E_Expr *last;
|
||||
E_Expr *first_tag;
|
||||
E_Expr *last_tag;
|
||||
E_Expr *next;
|
||||
E_Expr *prev;
|
||||
E_Expr *ref;
|
||||
void *location;
|
||||
E_ExprKind kind;
|
||||
E_Mode mode;
|
||||
E_Space space;
|
||||
E_TypeKey type_key;
|
||||
E_Value value;
|
||||
String8 string;
|
||||
String8 qualifier;
|
||||
String8 bytecode;
|
||||
};
|
||||
|
||||
typedef struct E_ExprChain E_ExprChain;
|
||||
struct E_ExprChain
|
||||
{
|
||||
E_Expr *first;
|
||||
E_Expr *last;
|
||||
};
|
||||
|
||||
typedef struct E_ExprNode E_ExprNode;
|
||||
struct E_ExprNode
|
||||
{
|
||||
E_ExprNode *next;
|
||||
E_Expr *v;
|
||||
};
|
||||
|
||||
typedef struct E_ExprList E_ExprList;
|
||||
struct E_ExprList
|
||||
{
|
||||
E_ExprNode *first;
|
||||
E_ExprNode *last;
|
||||
U64 count;
|
||||
};
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Map Types
|
||||
|
||||
//- rjf: string -> num
|
||||
|
||||
typedef struct E_String2NumMapNode E_String2NumMapNode;
|
||||
struct E_String2NumMapNode
|
||||
{
|
||||
E_String2NumMapNode *order_next;
|
||||
E_String2NumMapNode *hash_next;
|
||||
String8 string;
|
||||
U64 num;
|
||||
};
|
||||
|
||||
typedef struct E_String2NumMapNodeArray E_String2NumMapNodeArray;
|
||||
struct E_String2NumMapNodeArray
|
||||
{
|
||||
E_String2NumMapNode **v;
|
||||
U64 count;
|
||||
};
|
||||
|
||||
typedef struct E_String2NumMapSlot E_String2NumMapSlot;
|
||||
struct E_String2NumMapSlot
|
||||
{
|
||||
E_String2NumMapNode *first;
|
||||
E_String2NumMapNode *last;
|
||||
};
|
||||
|
||||
typedef struct E_String2NumMap E_String2NumMap;
|
||||
struct E_String2NumMap
|
||||
{
|
||||
U64 slots_count;
|
||||
U64 node_count;
|
||||
E_String2NumMapSlot *slots;
|
||||
E_String2NumMapNode *first;
|
||||
E_String2NumMapNode *last;
|
||||
};
|
||||
|
||||
//- rjf: string -> expr
|
||||
|
||||
typedef struct E_String2ExprMapNode E_String2ExprMapNode;
|
||||
struct E_String2ExprMapNode
|
||||
{
|
||||
E_String2ExprMapNode *hash_next;
|
||||
String8 string;
|
||||
E_Expr *expr;
|
||||
U64 poison_count;
|
||||
};
|
||||
|
||||
typedef struct E_String2ExprMapSlot E_String2ExprMapSlot;
|
||||
struct E_String2ExprMapSlot
|
||||
{
|
||||
E_String2ExprMapNode *first;
|
||||
E_String2ExprMapNode *last;
|
||||
};
|
||||
|
||||
typedef struct E_String2ExprMap E_String2ExprMap;
|
||||
struct E_String2ExprMap
|
||||
{
|
||||
U64 slots_count;
|
||||
E_String2ExprMapSlot *slots;
|
||||
};
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Parse Results
|
||||
|
||||
|
||||
Reference in New Issue
Block a user