// ( <expr> )
// - <factor>
// ! <factor>
-// proc ...
// <symbol> ( '(' <exprlist> ')' )?
// <numlit>
// 'true'
// <expr> *= <expr>
// <expr> /= <expr>
// <expr> %= <expr>
+// <factor>
// With expected precedence rules
static AstTyped* parse_expression(OnyxParser* parser) {
bh_arr(AstBinaryOp*) tree_stack = NULL;
return (AstTyped *) global_node;
}
+// <proc>
+// <global>
+// <expr>
static AstTyped* parse_top_level_expression(OnyxParser* parser) {
if (parser->curr->type == Token_Type_Keyword_Proc) {
AstFunction* func_node = parse_function_definition(parser);
return (AstNode *) use_node;
}
+ case Token_Type_Keyword_Proc:
+ parse_top_level_expression(parser);
+ return NULL;
+
case Token_Type_Symbol:
{
OnyxToken* symbol = parser->curr;