From f5985c65df468e49109febcad2a3937aea801b89 Mon Sep 17 00:00:00 2001 From: Kai Stevenson Date: Wed, 15 Feb 2023 15:53:33 -0800 Subject: types. eq() internal function --- parse.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'parse.h') diff --git a/parse.h b/parse.h index 44d1c0e..27ce444 100644 --- a/parse.h +++ b/parse.h @@ -10,8 +10,15 @@ typedef enum SymbolProvince { KEY_REF, LITERAL } prov_t; +typedef enum LiteralType { + NO_TYPE, + INT, + FLOAT, + STRING +} litType_t; typedef struct Symbol { prov_t province; + litType_t litType; void* name; struct Symbol** args; int argCount; @@ -20,6 +27,10 @@ typedef struct SymbolSet { sym_t** symbols; int count; } symset_t; + +int symtoi(sym_t* symbol); +float symtof(sym_t* symbol); +char* symtos(sym_t* symbol); void symbol_add_arg(sym_t* symbol, sym_t* arg); void symset_add_symbol(symset_t* symbolSet, sym_t* symbol); symset_t* parse_symbols(char** str); -- cgit v1.3.1