clj_analyzer
Clojerl analyzer.
Processes code in the form of data structures and transform them
into AST nodes which get pushed to the clj_env:env()
.
Summary
Functions
-
analyze(Form, Env0)
Analyzes
Form
and transforms it into anexpr()
. -
is_special(S)
Returns
true
is the provided symbol is a special formfalse
otherwise. -
macroexpand(Form, Env)
Macroexpands
Form
until there are no further macro expansions. -
macroexpand_1(Form, Env)
Macroexpands
Form
only once.
Functions
analyze(Form, Env0)
-spec analyze(any(), clj_env:env()) -> clj_env:env().
Analyzes Form
and transforms it into an expr()
.
Form
gets pushed into the stack of expressions in
Env
and the updated environment is returned.
is_special(S)
-spec is_special('clojerl.Symbol':type()) -> boolean().
Returns true
is the provided symbol is a special form
false
otherwise.
macroexpand(Form, Env)
-spec macroexpand(any(), clj_env:env()) -> any().
Macroexpands Form
until there are no further macro expansions.
macroexpand_1(Form, Env)
-spec macroexpand_1(any(), clj_env:env()) -> any().
Macroexpands Form
only once.