maug
Quick and dirty C mini-augmentation library.
Loading...
Searching...
No Matches
MLISP Abstract Syntax Tree Parser
Collaboration diagram for MLISP Abstract Syntax Tree Parser:

Macros

#define mlisp_parser_pstate(parser)
 
#define mlisp_parser_pstate_push(parser, new_pstate)
 
#define mlisp_parser_pstate_pop(parser)
 
#define mlisp_parser_invalid_c(parser, c, retval)
 
#define mlisp_parser_reset_token(parser)
 
#define mlisp_parser_append_token(parser, c)
 
#define mlisp_parser_parse_token(parser)
 

Functions

MERROR_RETVAL mlisp_ast_dump (struct MLISP_PARSER *parser, size_t ast_node_idx, size_t depth, char ab)
 

Detailed Description

Macro Definition Documentation

◆ mlisp_parser_append_token

#define mlisp_parser_append_token ( parser,
c )
Value:
mparser_append_token( "mlisp", &((parser)->base), c )

◆ mlisp_parser_invalid_c

#define mlisp_parser_invalid_c ( parser,
c,
retval )
Value:
mparser_invalid_c( mlisp, &((parser)->base), c, retval )

◆ mlisp_parser_parse_token

#define mlisp_parser_parse_token ( parser)
Value:
parser->token_parser( \
(parser)->token, (parser)->token_sz, (parser)->token_parser_arg )

◆ mlisp_parser_pstate

#define mlisp_parser_pstate ( parser)
Value:
((parser)->base.pstate_sz > 0 ? \
(parser)->base.pstate[(parser)->base.pstate_sz - 1] : MLISP_PSTATE_NONE)

◆ mlisp_parser_pstate_pop

#define mlisp_parser_pstate_pop ( parser)
Value:
mparser_pstate_pop( "mlisp", &((parser)->base) )

◆ mlisp_parser_pstate_push

#define mlisp_parser_pstate_push ( parser,
new_pstate )
Value:
mparser_pstate_push( "mlisp", &((parser)->base), new_pstate )

◆ mlisp_parser_reset_token

#define mlisp_parser_reset_token ( parser)
Value:
mparser_reset_token( "mlisp", &((parser)->base) )