Ast_Node* parse_expression(char* expr) { typedef enum { Parser_State_Code, Parser_State_String, Parser_State_Comment, } Parser_State; // initial state is code Parser_State current_parser_state = Parser_State_Code; }