fix(parser)
parser used to work depending on opening parenthesis and therefore parsed e.g. `(if 0 (list 1 2 3) 1)` as two seperate expressions, thus the example would print: 1 (1 2 3) Now fixed by using a stack for parenthesis
This commit is contained in:
@@ -78,10 +78,10 @@ void build_scopes(Scopes *scopes);
|
||||
void tokenize(Nob_String_View content, Tokens *tokens);
|
||||
|
||||
int parse_one(Tokens *tokens, Node *node);
|
||||
void parse(Tokens *tokens, Nodes *nodes);
|
||||
int parse(Tokens *tokens, Nodes *nodes);
|
||||
|
||||
int eval_one(Node input, Scopes *scopes, Node *result);
|
||||
int eval(Nodes *inputs, Scopes *scopes, Nodes *results);
|
||||
int eval(Nodes inputs, Scopes *scopes, Nodes *results);
|
||||
|
||||
// builtins
|
||||
int lisp_function_add(Nodes *args, Scopes *scopes, Node *result);
|
||||
|
||||
Reference in New Issue
Block a user