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
Formand transforms it into anexpr(). -
is_special(S)
Returns
trueis the provided symbol is a special formfalseotherwise. -
macroexpand(Form, Env)
Macroexpands
Formuntil there are no further macro expansions. -
macroexpand_1(Form, Env)
Macroexpands
Formonly 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.