Pol
Revision:cb584c9
|
Namespaces | |
Pol | |
Typedefs | |
typedef std::vector< ref_ptr< BObjectImp > > | BObjectImpRefVec |
typedef std::unordered_map< unsigned int, BObjectImp * > | bobjectimps |
typedef std::vector< BObjectRef > | BObjectRefVec |
typedef void(Executor::* | ExecInstrFunc) (const Instruction &) |
typedef BObject *(ExecutorModule::* | ExecutorModuleFn) () |
typedef std::map< std::string, ReservedWord *, Clib::ci_cmp_pred > | ReservedWords |
typedef std::vector< BObjectRef > | ValueStackCont |
typedef std::vector< Variable > | Variables |
Functions | |
BObjectImp * | bobject_from_string (const std::string &str, int radix) |
BObjectImp * | convert_numeric (const std::string &str, int radix) |
bool | could_be_a_number (const char *s) |
int | display_bobjectimp_instance (BObjectImp *imp) |
void | display_bobjectimp_instances () |
void | display_executor_instances () |
std::atomic< int > | eobject_imp_constructions (0) |
std::atomic< int > | eobject_imp_count (0) |
Precedence | find_precedence (Token &token) |
template<class T > | |
BApplicObj< T > * | getApplicObjParam (ExecutorModule &ex, unsigned param, const BApplicObjType *object_type) |
ObjMember * | getKnownObjMember (const char *token) |
ObjMethod * | getKnownObjMethod (const char *token) |
ObjMember * | getObjMember (int id) |
ObjMethod * | getObjMethod (int id) |
std::string | getpathof (const std::string &fname) |
static void | init_tables () |
void | int_to_binstr (int &value, std::stringstream &s) |
bool | is_web_script (const char *file) |
int | isInTable (Verb *table, int tableSize, const char *search, Verb **result) |
void | matchOperators (Operator *oplist, int n_ops, char *buf, int *nPartial, Operator **pTotalMatchOperator) |
bool | mismatched_end (const Token &token, BTokenId correct) |
std::string | normalize_ecl_filename (const std::string &filename) |
std::ostream & | operator<< (std::ostream &os, const BObject &obj) |
fmt::Writer & | operator<< (fmt::Writer &w, const BObject &obj) |
std::ostream & | operator<< (std::ostream &os, const BObjectImp &objimp) |
fmt::Writer & | operator<< (fmt::Writer &w, const BObjectImp &objimp) |
std::ostream & | operator<< (std::ostream &os, const CompilerContext &ctx) |
fmt::Writer & | operator<< (fmt::Writer &writer, const CompilerContext &ctx) |
std::ostream & | operator<< (std::ostream &out, const BTokenType &tok) |
std::ostream & | operator<< (std::ostream &out, const BTokenId &tok) |
std::ostream & | operator<< (std::ostream &os, const Token &tok) |
fmt::Writer & | operator<< (fmt::Writer &w, const Token &tok) |
Token * | optimize_double_operation (Token *left, Token *oper, Token *right) |
Token * | optimize_double_operation (Token *oper, Token *value) |
Token * | optimize_long_operation (Token *left, Token *oper, Token *right) |
Token * | optimize_long_operation (Token *oper, Token *value) |
Token * | optimize_string_operation (Token *left, Token *oper, Token *right) |
Token * | optimize_string_operation (Token *, Token *) |
void | preprocess_web_script (Clib::FileContents &fc) |
bool | s_parse_int (int &i, std::string const &s) |
void | s_trim (std::string &s) |
void | testparserdefinitions () |
bool | try_to_format (std::stringstream &to_stream, BObjectImp *what, std::string &frmt) |
Bscript namespace is for escript stuff, like compiler and basic modules
typedef std::vector<ref_ptr<BObjectImp> > Pol::Bscript::BObjectImpRefVec |
typedef std::unordered_map<unsigned int, BObjectImp*> Pol::Bscript::bobjectimps |
Definition at line 161 of file object.cpp.
typedef std::vector<BObjectRef> Pol::Bscript::BObjectRefVec |
Definition at line 21 of file exectype.h.
typedef void( Executor::* Pol::Bscript::ExecInstrFunc) (const Instruction &) |
Definition at line 16 of file executortype.h.
typedef BObject*( ExecutorModule::* Pol::Bscript::ExecutorModuleFn) () |
Definition at line 39 of file execmodl.h.
typedef std::map<std::string, ReservedWord*, Clib::ci_cmp_pred> Pol::Bscript::ReservedWords |
Definition at line 913 of file parser.cpp.
typedef std::vector<BObjectRef> Pol::Bscript::ValueStackCont |
Definition at line 51 of file executor.h.
typedef std::vector<Variable> Pol::Bscript::Variables |
Definition at line 94 of file compiler.h.
enum Pol::Bscript::BTokenId : u16 |
The token ID: what this token is
This will be outputted on the compiled bytecode as 2nd byte. Tokens above 0xFF cannot be outputted and are used only internally by the compiler: please remember to allocate your new token in the upper space if it is not meant to be outputted.
Using hardcoded int conversion for better backward compatibility: every insertion in the middle of it done in the past shifted forward all the tokens, invalidating bytecode documentation.
enum Pol::Bscript::BTokenType : u8 |
The token type
This also gets outputted to the compiled bytecode. Using hardcoded int conversion for better backward compatibility: every insertion in the middle of it done in the past shifted forward all the bytes
Enumerator | |
---|---|
BreakOk | |
BreakNotOk |
Definition at line 56 of file compiler.h.
Enumerator | |
---|---|
ContinueOk | |
ContinueNotOk |
Definition at line 61 of file compiler.h.
Enumerator | |
---|---|
CanBeLabelled | |
CanNotBeLabelled |
Definition at line 51 of file compiler.h.
Definition at line 36 of file objmembers.h.
Definition at line 27 of file objmethods.h.
Definition at line 15 of file operator.h.
BObjectImp * Pol::Bscript::bobject_from_string | ( | const std::string & | str, |
int | radix | ||
) |
Definition at line 125 of file escrutil.cpp.
References convert_numeric().
Referenced by Pol::Core::StoredConfigFile::load_tus_scp(), and Pol::Core::StoredConfigElem::StoredConfigElem().
BObjectImp* Pol::Bscript::convert_numeric | ( | const std::string & | str, |
int | radix | ||
) |
Definition at line 59 of file escrutil.cpp.
References could_be_a_number().
Referenced by bobject_from_string().
bool Pol::Bscript::could_be_a_number | ( | const char * | s | ) |
Definition at line 22 of file escrutil.cpp.
Referenced by convert_numeric().
int Pol::Bscript::display_bobjectimp_instance | ( | BObjectImp * | imp | ) |
Definition at line 165 of file object.cpp.
References Pol::Bscript::BObjectImp::getStringRep(), INFO_PRINT, and Pol::Bscript::BObjectImp::instance().
Referenced by display_bobjectimp_instances().
void Pol::Bscript::display_bobjectimp_instances | ( | ) |
Definition at line 170 of file object.cpp.
References Pol::Bscript::BObjectImp::bobjectimp_lock, display_bobjectimp_instance(), INFO_PRINT, and Pol::Bscript::BObjectImp::instances_.
Referenced by Pol::Core::display_leftover_objects(), and Pol::Clib::RunEclMain::runeclScript().
void Pol::Bscript::display_executor_instances | ( | ) |
Definition at line 61 of file executor.cpp.
References Pol::Bscript::Executor::_executor_lock, executor_count, and INFO_PRINT.
Referenced by Pol::Core::display_leftover_objects().
std::atomic<int> Pol::Bscript::eobject_imp_constructions | ( | 0 | ) |
std::atomic<int> Pol::Bscript::eobject_imp_count | ( | 0 | ) |
Precedence Pol::Bscript::find_precedence | ( | Token & | token | ) |
Definition at line 1427 of file parser.cpp.
References Pol::Bscript::Token::precedence.
Referenced by Pol::Bscript::SmartParser::parseToken().
BApplicObj<T>* Pol::Bscript::getApplicObjParam | ( | ExecutorModule & | ex, |
unsigned | param, | ||
const BApplicObjType * | object_type | ||
) |
Definition at line 93 of file execmodl.h.
References Pol::Bscript::ExecutorModule::getApplicObjParam().
Referenced by Pol::Bscript::Executor::numParams().
ObjMember * Pol::Bscript::getKnownObjMember | ( | const char * | token | ) |
Definition at line 483 of file parser.cpp.
References Pol::Bscript::ObjMember::code, and n_objmembers.
Referenced by Pol::Core::BPacket::get_member(), Pol::Core::ScriptExObjImp::get_member(), Pol::Accounts::AccountObjImp::get_member(), Pol::Core::BXMLfile::get_member(), Pol::Module::EPartyRefObjImp::get_member(), Pol::Module::EGuildRefObjImp::get_member(), Pol::Core::BBinaryfile::get_member(), Pol::Module::ECharacterRefObjImp::get_member(), Pol::Core::BXmlNode::get_member(), Pol::Core::BSQLConnection::get_member(), Pol::Module::EItemRefObjImp::get_member(), Pol::Module::EUBoatRefObjImp::get_member(), Pol::Module::EMultiRefObjImp::get_member(), Pol::Module::EClientRefObjImp::get_member(), Pol::Core::ULockable::get_script_member(), Pol::Core::UDoor::get_script_member(), Pol::Multi::UPlank::get_script_member(), Pol::Items::Equipment::get_script_member(), Pol::Items::UArmor::get_script_member(), Pol::Core::UCorpse::get_script_member(), Pol::Multi::UMulti::get_script_member(), Pol::Core::Map::get_script_member(), Pol::Items::UWeapon::get_script_member(), Pol::Mobile::NPC::get_script_member(), Pol::Multi::UHouse::get_script_member(), Pol::Core::UContainer::get_script_member(), Pol::Core::UObject::get_script_member(), Pol::Multi::UBoat::get_script_member(), Pol::Items::Item::get_script_member(), Pol::Mobile::Character::get_script_member(), Pol::Bscript::Expression::optimize_token(), Pol::Module::ECharacterRefObjImp::set_member(), Pol::Module::EItemRefObjImp::set_member(), Pol::Module::EUBoatRefObjImp::set_member(), Pol::Module::EMultiRefObjImp::set_member(), Pol::Module::EClientRefObjImp::set_member(), Pol::Core::ULockable::set_script_member(), Pol::Items::UArmor::set_script_member(), Pol::Items::Equipment::set_script_member(), Pol::Core::Map::set_script_member(), Pol::Items::UWeapon::set_script_member(), Pol::Mobile::NPC::set_script_member(), Pol::Core::UContainer::set_script_member(), Pol::Core::UObject::set_script_member(), Pol::Items::Item::set_script_member(), Pol::Mobile::Character::set_script_member(), Pol::Items::Equipment::set_script_member_double(), Pol::Items::UWeapon::set_script_member_double(), Pol::Core::UObject::set_script_member_double(), and Pol::Items::Item::set_script_member_double().
ObjMethod * Pol::Bscript::getKnownObjMethod | ( | const char * | token | ) |
Definition at line 666 of file parser.cpp.
References Pol::Bscript::ObjMethod::code, and n_objmethods.
Referenced by Pol::Core::ScriptExObjImp::call_method(), Pol::Core::BPacket::call_method(), Pol::Accounts::AccountObjImp::call_method(), Pol::Core::BXMLfile::call_method(), Pol::Bscript::BDictionary::call_method(), Pol::Module::EPartyRefObjImp::call_method(), Pol::Bscript::BStruct::call_method(), Pol::Module::EGuildRefObjImp::call_method(), Pol::Module::ECharacterRefObjImp::call_method(), Pol::Core::BBinaryfile::call_method(), Pol::Module::DataFileRefObjImp::call_method(), Pol::Core::BXmlNode::call_method(), Pol::Bscript::String::call_method(), Pol::Module::EItemRefObjImp::call_method(), Pol::Core::BSQLConnection::call_method(), Pol::Core::BXmlAttribute::call_method(), Pol::Module::EUBoatRefObjImp::call_method(), Pol::Module::EMultiRefObjImp::call_method(), Pol::Module::EClientRefObjImp::call_method(), Pol::Bscript::ObjArray::call_method(), Pol::Bscript::BFunctionRef::call_method(), Pol::Core::CallPropertyListMethod(), Pol::Core::UObject::custom_script_method(), Pol::Bscript::SmartParser::IIP(), Pol::Bscript::EScriptProgram::read_exported_functions(), Pol::Core::UDoor::script_method(), Pol::Core::Spellbook::script_method(), Pol::Core::Map::script_method(), Pol::Mobile::NPC::script_method(), Pol::Multi::UHouse::script_method(), Pol::Core::UObject::script_method(), Pol::Multi::UBoat::script_method(), Pol::Items::Item::script_method(), Pol::Mobile::Character::script_method(), and Pol::Bscript::BFunctionRef::validCall().
ObjMember * Pol::Bscript::getObjMember | ( | int | id | ) |
Definition at line 501 of file parser.cpp.
Referenced by Pol::Module::EConfigElemRefObjImp::get_member_id(), Pol::Bscript::BObjectImp::get_member_id(), Pol::Bscript::Token::printOn(), and Pol::Bscript::BObjectImp::set_member_id().
ObjMethod * Pol::Bscript::getObjMethod | ( | int | id | ) |
Definition at line 685 of file parser.cpp.
Referenced by Pol::Module::ECharacterRefObjImp::call_method_id(), Pol::Module::EItemRefObjImp::call_method_id(), Pol::Module::EMultiRefObjImp::call_method_id(), Pol::Bscript::BObjectImp::call_method_id(), and Pol::Bscript::Token::printOn().
std::string Pol::Bscript::getpathof | ( | const std::string & | fname | ) |
Definition at line 59 of file compiler.cpp.
Referenced by Pol::Bscript::Compiler::compileFile(), Pol::Bscript::Compiler::includeModule(), Pol::Bscript::Compiler::read_function_declarations_in_included_file(), and Pol::Bscript::Compiler::useModule().
|
static |
Definition at line 915 of file parser.cpp.
References n_reserved, and Pol::Bscript::ReservedWord::word.
Referenced by Pol::Bscript::Parser::Parser().
void Pol::Bscript::int_to_binstr | ( | int & | value, |
std::stringstream & | s | ||
) |
Definition at line 629 of file str.cpp.
Referenced by try_to_format().
bool Pol::Bscript::is_web_script | ( | const char * | file | ) |
Given a file name, tells if this is a web script
Definition at line 5285 of file compiler.cpp.
Referenced by Pol::Bscript::Compiler::compileFile().
void Pol::Bscript::matchOperators | ( | Operator * | oplist, |
int | n_ops, | ||
char * | buf, | ||
int * | nPartial, | ||
Operator ** | pTotalMatchOperator | ||
) |
Definition at line 736 of file parser.cpp.
References Pol::Bscript::Operator::ambig, and Pol::Bscript::Operator::code.
Referenced by Pol::Bscript::Parser::tryOperator().
Definition at line 2622 of file compiler.cpp.
References Pol::Bscript::Token::id, INFO_PRINT, RSV_DOWHILE, RSV_ENDENUM, RSV_ENDFOR, RSV_ENDFOREACH, RSV_ENDFUNCTION, RSV_ENDIF, RSV_ENDPROGRAM, RSV_ENDSWITCH, RSV_ENDWHILE, RSV_UNTIL, and TYP_RESERVED.
Referenced by Pol::Bscript::Compiler::handleBracketedIf().
std::string Pol::Bscript::normalize_ecl_filename | ( | const std::string & | filename | ) |
Definition at line 135 of file escrutil.cpp.
Referenced by Pol::Core::full_scriptname().
std::ostream& Pol::Bscript::operator<< | ( | std::ostream & | os, |
const BObject & | obj | ||
) |
Definition at line 17 of file objstrm.cpp.
References Pol::Bscript::BObject::impptr(), and Pol::Bscript::BObjectImp::printOn().
fmt::Writer& Pol::Bscript::operator<< | ( | fmt::Writer & | w, |
const BObject & | obj | ||
) |
Definition at line 22 of file objstrm.cpp.
References Pol::Bscript::BObject::impptr(), and Pol::Bscript::BObjectImp::printOn().
std::ostream& Pol::Bscript::operator<< | ( | std::ostream & | os, |
const BObjectImp & | objimp | ||
) |
Definition at line 30 of file objstrm.cpp.
References Pol::Bscript::BObjectImp::printOn().
fmt::Writer& Pol::Bscript::operator<< | ( | fmt::Writer & | w, |
const BObjectImp & | objimp | ||
) |
Definition at line 35 of file objstrm.cpp.
References Pol::Bscript::BObjectImp::printOn().
|
inline |
Definition at line 54 of file compctx.h.
References Pol::Bscript::CompilerContext::printOn().
Referenced by Pol::Bscript::Token::tokval().
|
inline |
Definition at line 60 of file compctx.h.
References Pol::Bscript::CompilerContext::printOn().
|
inline |
|
inline |
std::ostream & Pol::Bscript::operator<< | ( | std::ostream & | os, |
const Token & | tok | ||
) |
Definition at line 466 of file tkn_strm.cpp.
References Pol::Bscript::Token::printOn().
fmt::Writer & Pol::Bscript::operator<< | ( | fmt::Writer & | w, |
const Token & | tok | ||
) |
Definition at line 472 of file tkn_strm.cpp.
References Pol::Bscript::Token::printOn().
Definition at line 271 of file compiler.cpp.
References Pol::Bscript::Token::dval, Pol::Bscript::Token::id, TOK_ADD, TOK_DIV, TOK_MULT, and TOK_SUBTRACT.
Referenced by Pol::Bscript::Expression::optimize_binary_operations(), and Pol::Bscript::Expression::optimize_unary_operations().
Definition at line 345 of file compiler.cpp.
References Pol::Bscript::Token::dval, Pol::Bscript::Token::id, and TOK_UNMINUS.
Definition at line 198 of file compiler.cpp.
References Pol::Bscript::Token::id, Pol::Bscript::Token::lval, TOK_ADD, TOK_AND, TOK_BITAND, TOK_BITOR, TOK_BITXOR, TOK_BSLEFT, TOK_BSRIGHT, TOK_DIV, TOK_EQUAL, TOK_GREQ, TOK_GRTHAN, TOK_LESSEQ, TOK_LESSTHAN, TOK_MULT, TOK_NEQ, TOK_OR, and TOK_SUBTRACT.
Referenced by Pol::Bscript::Expression::optimize_binary_operations(), and Pol::Bscript::Expression::optimize_unary_operations().
Definition at line 322 of file compiler.cpp.
References Pol::Bscript::Token::id, Pol::Bscript::Token::lval, TOK_BITWISE_NOT, TOK_LOG_NOT, and TOK_UNMINUS.
Definition at line 302 of file compiler.cpp.
References Pol::Bscript::Token::copyStr(), Pol::Bscript::Token::id, TOK_ADD, and Pol::Bscript::Token::tokval().
Referenced by Pol::Bscript::Expression::optimize_binary_operations(), and Pol::Bscript::Expression::optimize_unary_operations().
Definition at line 360 of file compiler.cpp.
void Pol::Bscript::preprocess_web_script | ( | Clib::FileContents & | fc | ) |
Transforms the raw html page into a script with a single WriteHtml() instruction
Definition at line 5299 of file compiler.cpp.
References Pol::Clib::FileContents::contents(), and Pol::Clib::FileContents::set_contents().
Referenced by Pol::Bscript::Compiler::compileFile().
bool Pol::Bscript::s_parse_int | ( | int & | i, |
std::string const & | s | ||
) |
Definition at line 602 of file str.cpp.
Referenced by Pol::Bscript::String::call_method_id().
void Pol::Bscript::testparserdefinitions | ( | ) |
Definition at line 693 of file parser.cpp.
References Pol::Bscript::ObjMethod::code, Pol::Bscript::ObjMember::code, INFO_PRINT, n_objmembers, n_objmethods, and testparserdefinitions_obj.
bool Pol::Bscript::try_to_format | ( | std::stringstream & | to_stream, |
BObjectImp * | what, | ||
std::string & | frmt | ||
) |
Definition at line 647 of file str.cpp.
References Pol::Bscript::BObjectImp::getStringRep(), int_to_binstr(), Pol::Bscript::BObjectImp::isa(), Pol::Bscript::BObjectImp::OTDouble, Pol::Bscript::BObjectImp::OTLong, Pol::Bscript::BLong::value(), and Pol::Bscript::Double::value().
Referenced by Pol::Bscript::String::call_method_id().
int Pol::Bscript::allowed_table[8][8] |
Definition at line 111 of file parser.cpp.
Operator Pol::Bscript::binary_operators[] |
Definition at line 189 of file parser.cpp.
Clib::fixed_allocator< sizeof(BLong), 256 > Pol::Bscript::blong_alloc |
Definition at line 44 of file object.cpp.
Referenced by Pol::Module::PolCore::call_method().
Clib::fixed_allocator< sizeof(BObject), 256 > Pol::Bscript::bobject_alloc |
Definition at line 42 of file object.cpp.
Referenced by Pol::Module::PolCore::call_method().
bobjectimps Pol::Bscript::bobjectimp_instances |
Definition at line 164 of file object.cpp.
CompilerConfig Pol::Bscript::compilercfg |
Definition at line 127 of file compilercfg.cpp.
Referenced by Pol::Bscript::Compiler::_getStatement(), Pol::ECompile::AutoCompile(), Pol::ECompile::compile_file(), Pol::Bscript::Compiler::handleSwitch(), Pol::Bscript::Compiler::handleVarDeclare(), Pol::Bscript::SmartParser::IIP(), Pol::Bscript::Compiler::includeModule(), Pol::Bscript::Compiler::isLegal(), Pol::Bscript::Expression::optimize_token(), Pol::ECompile::parallel_compile(), Pol::Bscript::Scope::popblock(), Pol::ECompile::read_config_file(), Pol::Bscript::Compiler::read_function_declarations_in_included_file(), Pol::ECompile::readargs(), Pol::ECompile::recurse_compile(), Pol::ECompile::run(), Pol::Bscript::Compiler::useModule(), Pol::Bscript::Compiler::validate(), and Pol::Bscript::Scope::varexists().
Clib::fixed_allocator< sizeof(Double), 256 > Pol::Bscript::double_alloc |
Definition at line 45 of file object.cpp.
Referenced by Pol::Module::PolCore::call_method().
std::atomic<int> Pol::Bscript::eobject_imp_constructions |
Referenced by Pol::Bscript::BObjectImp::BObjectImp(), and Pol::Clib::RunEclMain::runeclScript().
std::atomic<int> Pol::Bscript::eobject_imp_count |
EScriptConfig Pol::Bscript::escript_config |
Definition at line 12 of file escript_config.cpp.
Referenced by Pol::Bscript::Executor::ins_jsr_userfunc(), Pol::Clib::RunEclMain::main(), and Pol::Core::PolConfig::read_pol_config().
int Pol::Bscript::escript_execinstr_calls = 0 |
Definition at line 23 of file escriptv.cpp.
Referenced by Pol::Clib::RunEclMain::runeclScript().
u64 Pol::Bscript::escript_instr_cycles = 0 |
Definition at line 22 of file escriptv.cpp.
Referenced by Pol::Bscript::Executor::execInstr(), Pol::Clib::RunEclMain::runeclScript(), Pol::Core::threadstatus_thread(), and Pol::Core::update_rpm().
int Pol::Bscript::escript_program_count = 0 |
Definition at line 21 of file escriptv.cpp.
Referenced by Pol::Bscript::EScriptProgram::EScriptProgram(), and Pol::Bscript::EScriptProgram::~EScriptProgram().
int Pol::Bscript::executor_count = 0 |
Definition at line 18 of file escriptv.cpp.
Referenced by display_executor_instances(), Pol::Core::display_leftover_objects(), Pol::Bscript::Executor::Executor(), and Pol::Bscript::Executor::~Executor().
std::set<Executor*> Pol::Bscript::executor_instances |
Definition at line 55 of file executor.cpp.
const unsigned Pol::Bscript::EXPR_FLAG_AUTO_TERM_ALLOWED = 0x0080 |
Definition at line 102 of file parser.h.
Referenced by Pol::Bscript::Compiler::handleBracketedFor_basic(), and Pol::Bscript::SmartParser::IIP().
const unsigned Pol::Bscript::EXPR_FLAG_COMMA_TERM_ALLOWED = 0x0002 |
Definition at line 96 of file parser.h.
Referenced by Pol::Bscript::SmartParser::getArgs(), Pol::Bscript::Compiler::getArrayElements(), Pol::Bscript::Compiler::getDictionaryMembers(), Pol::Bscript::Compiler::getMethodArguments(), Pol::Bscript::Compiler::getNewArrayElements(), Pol::Bscript::Compiler::getStructMembers(), Pol::Bscript::Compiler::getUserArgs(), Pol::Bscript::Compiler::handleEnumDeclare(), Pol::Bscript::Compiler::handleVarDeclare(), Pol::Bscript::SmartParser::IIP(), and Pol::Bscript::Compiler::readFunctionDeclaration().
const unsigned Pol::Bscript::EXPR_FLAG_CONSUME_RESULT = 0x0100 |
Definition at line 103 of file parser.h.
Referenced by Pol::Bscript::Compiler::_getStatement(), and Pol::Bscript::Compiler::readexpr().
const unsigned Pol::Bscript::EXPR_FLAG_DICTKEY_TERM_ALLOWED = 0x0200 |
Definition at line 104 of file parser.h.
Referenced by Pol::Bscript::Compiler::getDictionaryMembers(), and Pol::Bscript::SmartParser::IIP().
const unsigned Pol::Bscript::EXPR_FLAG_ENDENUM_TERM_ALLOWED = 0x0010 |
Definition at line 99 of file parser.h.
Referenced by Pol::Bscript::Compiler::handleEnumDeclare(), and Pol::Bscript::SmartParser::IIP().
const unsigned Pol::Bscript::EXPR_FLAG_RIGHTBRACE_TERM_ALLOWED = 0x0020 |
Definition at line 100 of file parser.h.
Referenced by Pol::Bscript::Compiler::getDictionaryMembers(), Pol::Bscript::Compiler::getNewArrayElements(), Pol::Bscript::Compiler::getStructMembers(), and Pol::Bscript::SmartParser::IIP().
const unsigned Pol::Bscript::EXPR_FLAG_RIGHTPAREN_TERM_ALLOWED = 0x0004 |
Definition at line 97 of file parser.h.
Referenced by Pol::Bscript::SmartParser::getArgs(), Pol::Bscript::Compiler::getArrayElements(), Pol::Bscript::Compiler::getExprInParens(), Pol::Bscript::Compiler::getMethodArguments(), Pol::Bscript::Compiler::getUserArgs(), Pol::Bscript::Compiler::handleBracketedFor_c(), Pol::Bscript::Compiler::handleFor_c(), Pol::Bscript::SmartParser::IIP(), and Pol::Bscript::Compiler::readFunctionDeclaration().
const unsigned Pol::Bscript::EXPR_FLAG_SEMICOLON_TERM_ALLOWED = 0x0001 |
Definition at line 95 of file parser.h.
Referenced by Pol::Bscript::Compiler::_getStatement(), Pol::Bscript::SmartParser::getArgs(), Pol::Bscript::Compiler::handleBracketedFor_c(), Pol::Bscript::Compiler::handleConstDeclare(), Pol::Bscript::Compiler::handleDoClause(), Pol::Bscript::Compiler::handleFor_c(), Pol::Bscript::Compiler::handleRepeatUntil(), Pol::Bscript::Compiler::handleReturn(), Pol::Bscript::Compiler::handleVarDeclare(), Pol::Bscript::SmartParser::IIP(), and Pol::Bscript::SmartParser::IP().
const unsigned Pol::Bscript::EXPR_FLAG_SINGLE_ELEMENT = 0x0008 |
Definition at line 98 of file parser.h.
Referenced by Pol::Bscript::Compiler::getSimpleExpr(), and Pol::Bscript::SmartParser::IIP().
const unsigned Pol::Bscript::EXPR_FLAG_TO_TERM_ALLOWED = 0x0040 |
Definition at line 101 of file parser.h.
Referenced by Pol::Bscript::Compiler::handleBracketedFor_basic(), and Pol::Bscript::SmartParser::IIP().
char Pol::Bscript::ident_allowed[] |
Definition at line 104 of file parser.cpp.
int Pol::Bscript::include_debug |
Definition at line 30 of file eprog2.cpp.
Referenced by Pol::ECompile::readargs().
int Pol::Bscript::n_objmembers = sizeof object_members / sizeof object_members[0] |
Definition at line 482 of file parser.cpp.
Referenced by getKnownObjMember(), testparserdefinitions(), and Pol::Bscript::Parser::write_words().
int Pol::Bscript::n_objmethods = sizeof object_methods / sizeof object_methods[0] |
Definition at line 665 of file parser.cpp.
Referenced by getKnownObjMethod(), testparserdefinitions(), and Pol::Bscript::Parser::write_words().
int Pol::Bscript::n_operators = sizeof binary_operators / sizeof binary_operators[0] |
Definition at line 243 of file parser.cpp.
Referenced by Pol::Bscript::Parser::recognize_binary(), and Pol::Bscript::Parser::write_words().
unsigned Pol::Bscript::n_reserved = sizeof reserved_words / sizeof reserved_words[0] |
Definition at line 911 of file parser.cpp.
Referenced by init_tables(), and Pol::Bscript::Parser::write_words().
int Pol::Bscript::n_unary = sizeof unary_operators / sizeof unary_operators[0] |
Definition at line 254 of file parser.cpp.
Referenced by Pol::Bscript::Parser::recognize_unary(), and Pol::Bscript::Parser::write_words().
ObjMember Pol::Bscript::object_members |
Definition at line 256 of file parser.cpp.
ObjMethod Pol::Bscript::object_methods |
Definition at line 509 of file parser.cpp.
char Pol::Bscript::operator_brk[] = "+-/*(),<=>,:;%" |
Definition at line 102 of file parser.cpp.
const char * Pol::Bscript::ParseErrorStr |
Definition at line 82 of file parser.cpp.
Referenced by Pol::Bscript::Compiler::compileContext().
class Pol::Bscript::StoredToken Pol::Bscript::POSTSTRUCT_PACK |
ReservedWord Pol::Bscript::reserved_words[] |
Definition at line 810 of file parser.cpp.
ReservedWords Pol::Bscript::reservedWordsByName |
Definition at line 914 of file parser.cpp.
Clib::UnitTest Pol::Bscript::testparserdefinitions_obj(testparserdefinitions) |
Referenced by testparserdefinitions().
Operator Pol::Bscript::unary_operators[] |
Definition at line 245 of file parser.cpp.
Clib::fixed_allocator< sizeof(UninitObject), 256 > Pol::Bscript::uninit_alloc |
Definition at line 43 of file object.cpp.
Referenced by Pol::Module::PolCore::call_method(), and Pol::Bscript::UninitObject::ReleaseSharedInstance().