maug
Quick and dirty C mini-augmentation library.
Loading...
Searching...
No Matches
MLISP Execution Stack
Collaboration diagram for MLISP Execution Stack:

Macros

#define mlisp_stack_push(exec, i, ctype)
 Push a value onto MLISP_EXEC_STATE::stack.
 

Functions

MERROR_RETVAL mlisp_stack_dump (struct MLISP_PARSER *parser, struct MLISP_EXEC_STATE *exec)
 
MERROR_RETVAL mlisp_stack_pop (struct MLISP_EXEC_STATE *exec, struct MLISP_STACK_NODE *o)
 Pop a value off of (removing from) MLISP_EXEC_STATE::stack and copy it to a provided output.
 

Detailed Description

Macro Definition Documentation

◆ mlisp_stack_push

#define mlisp_stack_push ( exec,
i,
ctype )
Value:
(_mlisp_stack_push_ ## ctype( exec, (ctype)i ))

Push a value onto MLISP_EXEC_STATE::stack.

Parameters
execPointer to the running MLISP_EXEC_STATE.
iValue to push.
Ctype of the value to push. Please see MLISP Types for more information.
Warning
MLISP_EXEC_STATE::stack should be unlocked prior to calling!

Function Documentation

◆ mlisp_stack_pop()

MERROR_RETVAL mlisp_stack_pop ( struct MLISP_EXEC_STATE * exec,
struct MLISP_STACK_NODE * o )

Pop a value off of (removing from) MLISP_EXEC_STATE::stack and copy it to a provided output.

Warning
MLISP_EXEC_STATE::stack should be unlocked prior to calling!