hobbes
a language, embedded compiler, and runtime for efficient dynamic expression evaluation, data storage and analysis
include
hobbes
lang
macroexpand.H
Go to the documentation of this file.
1
#ifndef HOBBES_LANG_MACROEXPAND_HPP_INCLUDED
2
#define HOBBES_LANG_MACROEXPAND_HPP_INCLUDED
3
4
#include <
hobbes/lang/expr.H
>
5
#include <
hobbes/lang/type.H
>
6
7
namespace
hobbes
{
8
9
// give a type assignment to all macros (so that they can be safely type-checked, even if they're just expanded inline)
10
void
initMacroEnvironment
(
const
TEnvPtr
& tenv);
11
12
// macro-expand an expression
13
ExprPtr
macroExpand
(
const
ExprPtr
& e);
14
15
}
16
17
#endif
18
type.H
hobbes::macroExpand
ExprPtr macroExpand(const ExprPtr &e)
Definition:
macroexpand.C:116
hobbes
Definition:
boot.H:7
hobbes::initMacroEnvironment
void initMacroEnvironment(const TEnvPtr &tenv)
Definition:
macroexpand.C:120
hobbes::ExprPtr
std::shared_ptr< Expr > ExprPtr
Definition:
expr.H:58
hobbes::TEnvPtr
std::shared_ptr< TEnv > TEnvPtr
Definition:
type.H:80
expr.H
Generated by
1.8.13