Closing issue #99 : shared const char * memory issues. Also, clean up some file loading overhead (did not seem to have an performance impact).

This commit is contained in:
Jason Turner
2010-11-05 22:01:39 +00:00
parent e1e48d732f
commit 36173d277d
8 changed files with 163 additions and 174 deletions

View File

@@ -44,7 +44,7 @@ namespace chaiscript
struct Binary_Operator_AST_Node : public AST_Node {
public:
Binary_Operator_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Bitwise_Xor, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Binary_Operator_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Bitwise_Xor, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~Binary_Operator_AST_Node() {}
virtual Boxed_Value eval(Dispatch_Engine &ss){
@@ -78,7 +78,7 @@ namespace chaiscript
struct Error_AST_Node : public AST_Node {
public:
Error_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Error, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Error_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Error, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~Error_AST_Node() {}
@@ -86,7 +86,7 @@ namespace chaiscript
struct Int_AST_Node : public AST_Node {
public:
Int_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Int, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Int_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Int, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~Int_AST_Node() {}
virtual Boxed_Value eval(Dispatch_Engine &){
@@ -97,7 +97,7 @@ namespace chaiscript
struct Float_AST_Node : public AST_Node {
public:
Float_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Float, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Float_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Float, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~Float_AST_Node() {}
virtual Boxed_Value eval(Dispatch_Engine &){
@@ -108,7 +108,7 @@ namespace chaiscript
struct Id_AST_Node : public AST_Node {
public:
Id_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Id, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Id_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Id, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~Id_AST_Node() {}
virtual Boxed_Value eval(Dispatch_Engine &ss){
@@ -137,28 +137,28 @@ namespace chaiscript
struct Char_AST_Node : public AST_Node {
public:
Char_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Char, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Char_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Char, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~Char_AST_Node() {}
};
struct Str_AST_Node : public AST_Node {
public:
Str_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Str, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Str_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Str, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~Str_AST_Node() {}
};
struct Eol_AST_Node : public AST_Node {
public:
Eol_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Eol, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Eol_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Eol, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~Eol_AST_Node() {}
};
struct Fun_Call_AST_Node : public AST_Node {
public:
Fun_Call_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Fun_Call, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Fun_Call_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Fun_Call, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~Fun_Call_AST_Node() {}
virtual Boxed_Value eval(Dispatch_Engine &ss){
@@ -213,7 +213,7 @@ namespace chaiscript
struct Inplace_Fun_Call_AST_Node : public AST_Node {
public:
Inplace_Fun_Call_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Inplace_Fun_Call, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Inplace_Fun_Call_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Inplace_Fun_Call, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~Inplace_Fun_Call_AST_Node() {}
virtual Boxed_Value eval(Dispatch_Engine &ss){
@@ -258,21 +258,21 @@ namespace chaiscript
struct Arg_List_AST_Node : public AST_Node {
public:
Arg_List_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Arg_List, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Arg_List_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Arg_List, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~Arg_List_AST_Node() {}
};
struct Variable_AST_Node : public AST_Node {
public:
Variable_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Variable, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Variable_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Variable, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~Variable_AST_Node() {}
};
struct Equation_AST_Node : public AST_Node {
public:
Equation_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Equation, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Equation_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Equation, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~Equation_AST_Node() {}
virtual Boxed_Value eval(Dispatch_Engine &ss){
@@ -348,7 +348,7 @@ namespace chaiscript
struct Var_Decl_AST_Node : public AST_Node {
public:
Var_Decl_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Var_Decl, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Var_Decl_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Var_Decl, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~Var_Decl_AST_Node() {}
virtual Boxed_Value eval(Dispatch_Engine &ss){
@@ -365,28 +365,28 @@ namespace chaiscript
struct Comparison_AST_Node : public Binary_Operator_AST_Node {
public:
Comparison_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Comparison, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Comparison_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Comparison, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Binary_Operator_AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~Comparison_AST_Node() {}
};
struct Additive_AST_Node : public Binary_Operator_AST_Node {
public:
Additive_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Additive, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Additive_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Additive, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Binary_Operator_AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~Additive_AST_Node() {}
};
struct Multiplicative_AST_Node : public Binary_Operator_AST_Node {
public:
Multiplicative_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Multiplicative, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Multiplicative_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Multiplicative, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Binary_Operator_AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~Multiplicative_AST_Node() {}
};
struct Array_Call_AST_Node : public AST_Node {
public:
Array_Call_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Array_Call, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Array_Call_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Array_Call, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~Array_Call_AST_Node() {}
virtual Boxed_Value eval(Dispatch_Engine &ss){
@@ -422,7 +422,7 @@ namespace chaiscript
struct Dot_Access_AST_Node : public AST_Node {
public:
Dot_Access_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Dot_Access, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Dot_Access_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Dot_Access, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~Dot_Access_AST_Node() {}
virtual Boxed_Value eval(Dispatch_Engine &ss){
@@ -508,7 +508,7 @@ namespace chaiscript
struct Quoted_String_AST_Node : public AST_Node {
public:
Quoted_String_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Quoted_String, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Quoted_String_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Quoted_String, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~Quoted_String_AST_Node() {}
virtual Boxed_Value eval(Dispatch_Engine &){
@@ -519,7 +519,7 @@ namespace chaiscript
struct Single_Quoted_String_AST_Node : public AST_Node {
public:
Single_Quoted_String_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Single_Quoted_String, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Single_Quoted_String_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Single_Quoted_String, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~Single_Quoted_String_AST_Node() {}
virtual Boxed_Value eval(Dispatch_Engine &){
@@ -530,7 +530,7 @@ namespace chaiscript
struct Lambda_AST_Node : public AST_Node {
public:
Lambda_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Lambda, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Lambda_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Lambda, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~Lambda_AST_Node() {}
virtual Boxed_Value eval(Dispatch_Engine &ss){
@@ -558,7 +558,7 @@ namespace chaiscript
struct Block_AST_Node : public AST_Node {
public:
Block_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Block, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Block_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Block, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~Block_AST_Node() {}
virtual Boxed_Value eval(Dispatch_Engine &ss){
@@ -598,7 +598,7 @@ namespace chaiscript
struct Def_AST_Node : public AST_Node {
public:
Def_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Def, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Def_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Def, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~Def_AST_Node() {}
virtual Boxed_Value eval(Dispatch_Engine &ss){
@@ -652,7 +652,7 @@ namespace chaiscript
struct While_AST_Node : public AST_Node {
public:
While_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::While, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
While_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::While, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~While_AST_Node() {}
virtual Boxed_Value eval(Dispatch_Engine &ss){
@@ -707,7 +707,7 @@ namespace chaiscript
struct If_AST_Node : public AST_Node {
public:
If_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::If, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
If_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::If, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~If_AST_Node() {}
virtual Boxed_Value eval(Dispatch_Engine &ss){
@@ -778,7 +778,7 @@ namespace chaiscript
struct For_AST_Node : public AST_Node {
public:
For_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::For, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
For_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::For, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~For_AST_Node() {}
virtual Boxed_Value eval(Dispatch_Engine &ss){
@@ -889,7 +889,7 @@ namespace chaiscript
struct Inline_Array_AST_Node : public AST_Node {
public:
Inline_Array_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Inline_Array, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Inline_Array_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Inline_Array, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~Inline_Array_AST_Node() {}
virtual Boxed_Value eval(Dispatch_Engine &ss){
@@ -913,7 +913,7 @@ namespace chaiscript
struct Inline_Map_AST_Node : public AST_Node {
public:
Inline_Map_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Inline_Map, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Inline_Map_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Inline_Map, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~Inline_Map_AST_Node() {}
virtual Boxed_Value eval(Dispatch_Engine &ss){
@@ -940,7 +940,7 @@ namespace chaiscript
struct Return_AST_Node : public AST_Node {
public:
Return_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Return, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Return_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Return, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~Return_AST_Node() {}
virtual Boxed_Value eval(Dispatch_Engine &ss){
@@ -962,7 +962,7 @@ namespace chaiscript
struct File_AST_Node : public AST_Node {
public:
File_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::File, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
File_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::File, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~File_AST_Node() {}
virtual Boxed_Value eval(Dispatch_Engine &ss) {
@@ -985,7 +985,7 @@ namespace chaiscript
struct Prefix_AST_Node : public AST_Node {
public:
Prefix_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Prefix, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Prefix_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Prefix, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~Prefix_AST_Node() {}
virtual Boxed_Value eval(Dispatch_Engine &ss){
@@ -1001,7 +1001,7 @@ namespace chaiscript
struct Break_AST_Node : public AST_Node {
public:
Break_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Break, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Break_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Break, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~Break_AST_Node() {}
virtual Boxed_Value eval(Dispatch_Engine &){
@@ -1011,21 +1011,21 @@ namespace chaiscript
struct Map_Pair_AST_Node : public AST_Node {
public:
Map_Pair_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Map_Pair, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Map_Pair_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Map_Pair, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~Map_Pair_AST_Node() {}
};
struct Value_Range_AST_Node : public AST_Node {
public:
Value_Range_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Value_Range, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Value_Range_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Value_Range, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~Value_Range_AST_Node() {}
};
struct Inline_Range_AST_Node : public AST_Node {
public:
Inline_Range_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Inline_Range, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Inline_Range_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Inline_Range, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~Inline_Range_AST_Node() {}
virtual Boxed_Value eval(Dispatch_Engine &ss){
@@ -1047,14 +1047,14 @@ namespace chaiscript
struct Annotation_AST_Node : public AST_Node {
public:
Annotation_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Annotation, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Annotation_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Annotation, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~Annotation_AST_Node() {}
};
struct Try_AST_Node : public AST_Node {
public:
Try_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Try, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Try_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Try, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~Try_AST_Node() {}
virtual Boxed_Value eval(Dispatch_Engine &ss){
@@ -1282,21 +1282,21 @@ namespace chaiscript
struct Catch_AST_Node : public AST_Node {
public:
Catch_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Catch, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Catch_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Catch, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~Catch_AST_Node() {}
};
struct Finally_AST_Node : public AST_Node {
public:
Finally_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Finally, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Finally_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Finally, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~Finally_AST_Node() {}
};
struct Method_AST_Node : public AST_Node {
public:
Method_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Method, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Method_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Method, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~Method_AST_Node() {}
virtual Boxed_Value eval(Dispatch_Engine &ss){
@@ -1373,7 +1373,7 @@ namespace chaiscript
struct Attr_Decl_AST_Node : public AST_Node {
public:
Attr_Decl_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Attr_Decl, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Attr_Decl_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Attr_Decl, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~Attr_Decl_AST_Node() {}
virtual Boxed_Value eval(Dispatch_Engine &ss){
@@ -1392,42 +1392,42 @@ namespace chaiscript
struct Shift_AST_Node : public Binary_Operator_AST_Node {
public:
Shift_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Shift, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Shift_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Shift, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Binary_Operator_AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~Shift_AST_Node() {}
};
struct Equality_AST_Node : public Binary_Operator_AST_Node {
public:
Equality_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Equality, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Equality_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Equality, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Binary_Operator_AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~Equality_AST_Node() {}
};
struct Bitwise_And_AST_Node : public Binary_Operator_AST_Node {
public:
Bitwise_And_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Bitwise_And, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Bitwise_And_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Bitwise_And, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Binary_Operator_AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~Bitwise_And_AST_Node() {}
};
struct Bitwise_Xor_AST_Node : public Binary_Operator_AST_Node {
public:
Bitwise_Xor_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Bitwise_Xor, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Bitwise_Xor_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Bitwise_Xor, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Binary_Operator_AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~Bitwise_Xor_AST_Node() {}
};
struct Bitwise_Or_AST_Node : public Binary_Operator_AST_Node {
public:
Bitwise_Or_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Bitwise_Or, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Bitwise_Or_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Bitwise_Or, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Binary_Operator_AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~Bitwise_Or_AST_Node() {}
};
struct Logical_And_AST_Node : public AST_Node {
public:
Logical_And_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Logical_And, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Logical_And_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Logical_And, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~Logical_And_AST_Node() {}
virtual Boxed_Value eval(Dispatch_Engine &ss){
@@ -1469,7 +1469,7 @@ namespace chaiscript
struct Logical_Or_AST_Node : public AST_Node {
public:
Logical_Or_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Logical_Or, const char *fname = NULL, int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
Logical_Or_AST_Node(const std::string &ast_node_text = "", int id = AST_Node_Type::Logical_Or, const boost::shared_ptr<std::string> &fname=boost::shared_ptr<std::string>(), int start_line = 0, int start_col = 0, int end_line = 0, int end_col = 0) :
AST_Node(ast_node_text, id, fname, start_line, start_col, end_line, end_col) { }
virtual ~Logical_Or_AST_Node() {}
virtual Boxed_Value eval(Dispatch_Engine &ss){