Skip to content

Environment

class Environment

DEFINITION
class Environment;

constructor Environment

DEFINITION
Environment ( );

constructor Environment

DEFINITION
Environment ( const Environment & env );
PARAMETERDESCRIPTION
env

constructor Environment

DEFINITION
Environment ( std::shared_ptr< Environment >  next );
PARAMETERDESCRIPTION
next

method add

DEFINITION
void  add ( Symbol  name,
const Function * function );
PARAMETERDESCRIPTION
name
function

method add

DEFINITION
void  add ( Symbol  name,
const Macro * macro );
PARAMETERDESCRIPTION
name
macro

method add

DEFINITION
void  add ( Symbol  name,
const SizeRange & offset );
PARAMETERDESCRIPTION
name
offset

method add

DEFINITION
void  add ( Symbol  name,
Expression  value );
PARAMETERDESCRIPTION
name
value

method add_next

DEFINITION
void  add_next ( std::shared_ptr< Environment >  new_next );
PARAMETERDESCRIPTION
new_next

method all_functionsconst

DEFINITION
const std::unordered_map< Symbol, const Function * > & all_functions ( ) const;
RETURNSDESCRIPTION
const std::unordered_map< Symbol, const Function * > &

method all_labelsconst

DEFINITION
const std::unordered_map< Symbol, SizeRange > & all_labels ( ) const;
RETURNSDESCRIPTION
const std::unordered_map< Symbol, SizeRange > &

method all_macrosconst

DEFINITION
const std::unordered_map< Symbol, const Macro * > & all_macros ( ) const;
RETURNSDESCRIPTION
const std::unordered_map< Symbol, const Macro * > &

method all_variablesconst

DEFINITION
const std::unordered_map< Symbol, Expression > & all_variables ( ) const;
RETURNSDESCRIPTION
const std::unordered_map< Symbol, Expression > &

method clear_next

DEFINITION
void  clear_next ( );

method emptyconst

DEFINITION
bool  empty ( ) const;
RETURNSDESCRIPTION
bool

method get_functionconst

DEFINITION
const Function * get_function ( Symbol  name ) const;
PARAMETERDESCRIPTION
name
RETURNSDESCRIPTION
const Function *

method get_labelconst

DEFINITION
std::optional< SizeRange >  get_label ( Symbol  name ) const;
PARAMETERDESCRIPTION
name
RETURNSDESCRIPTION
std::optional< SizeRange >

method get_macroconst

DEFINITION
const Macro * get_macro ( Symbol  name ) const;
PARAMETERDESCRIPTION
name
RETURNSDESCRIPTION
const Macro *

method get_variableconst

DEFINITION
std::optional< Expression >  get_variable ( Symbol  name ) const;
PARAMETERDESCRIPTION
name
RETURNSDESCRIPTION
std::optional< Expression >

method operator[]const

DEFINITION
std::optional< Expression >  operator[] ( Symbol  name ) const;
PARAMETERDESCRIPTION
name
RETURNSDESCRIPTION
std::optional< Expression >

method remove

DEFINITION
void  remove ( Symbol  name );
PARAMETERDESCRIPTION
name

method replace

DEFINITION
void  replace ( const std::shared_ptr< Environment > & old_next,
const std::shared_ptr< Environment > & new_next );
PARAMETERDESCRIPTION
old_next
new_next

method update

DEFINITION
void  update ( Symbol  name,
const SizeRange & offset );
PARAMETERDESCRIPTION
name
offset

member unnamed_labels

DEFINITION
UnnamedLabelList  unnamed_labels;