Pol  Revision:4b29d2b
parser.cpp File Reference
#include "parser.h"
#include <cctype>
#include <cstddef>
#include <cstdlib>
#include <cstring>
#include <mutex>
#include <string>
#include <unordered_map>
#include "../clib/clib.h"
#include "../clib/logfacility.h"
#include "../clib/passert.h"
#include "../clib/rawtypes.h"
#include "../clib/strutil.h"
#include "../clib/unittest.h"
#include "compctx.h"
#include "compilercfg.h"
#include "fmodule.h"
#include "modules.h"
#include "objmembers.h"
#include "objmethods.h"
#include "token.h"
#include "tokens.h"
#include <format/format.h>

Go to the source code of this file.

Classes

struct  Pol::Bscript::ReservedWord
 

Namespaces

 Pol
 
 Pol::Bscript
 

Typedefs

typedef std::map< std::string, ReservedWord *, Clib::ci_cmp_pred > Pol::Bscript::ReservedWords
 

Functions

Precedence Pol::Bscript::find_precedence (Token &token)
 
ObjMember * Pol::Bscript::getKnownObjMember (const char *token)
 
ObjMethod * Pol::Bscript::getKnownObjMethod (const char *token)
 
ObjMember * Pol::Bscript::getObjMember (int id)
 
ObjMethod * Pol::Bscript::getObjMethod (int id)
 
static void Pol::Bscript::init_tables ()
 
void Pol::Bscript::matchOperators (Operator *oplist, int n_ops, char *buf, int *nPartial, Operator **pTotalMatchOperator)
 
void Pol::Bscript::testparserdefinitions ()
 

Variables

int Pol::Bscript::allowed_table [8][8]
 
Operator Pol::Bscript::binary_operators []
 
char Pol::Bscript::ident_allowed []
 
int Pol::Bscript::n_operators = sizeof binary_operators / sizeof binary_operators[0]
 
unsigned Pol::Bscript::n_reserved = sizeof reserved_words / sizeof reserved_words[0]
 
int Pol::Bscript::n_unary = sizeof unary_operators / sizeof unary_operators[0]
 
char Pol::Bscript::operator_brk [] = "+-/*(),<=>,:;%"
 
const char * Pol::Bscript::ParseErrorStr [PERR_NUM_ERRORS]
 
ReservedWord Pol::Bscript::reserved_words []
 
ReservedWords Pol::Bscript::reservedWordsByName
 
Clib::UnitTest Pol::Bscript::testparserdefinitions_obj (testparserdefinitions)
 
Operator Pol::Bscript::unary_operators []
 

Detailed Description

History
  • 2005/01/24 Shinigami: added ObjMember character.spyonclient2 to get data from packet 0xd9 (Spy on Client 2)
  • 2005/03/09 Shinigami: added Prop Character::Delay_Mod [ms] for WeaponDelay
  • 2005/04/04 Shinigami: added Prop Character::CreatedAt [PolClock]
  • 2005/05/24 Shinigami: added ObjMethod account.delete() to delete this account
  • 2005/05/25 Shinigami: added ObjMethod account.split( newacctname : string, index : 1..5 ) to create a new account and move character to it
  • 2005/05/25 Shinigami: added ObjMethod account.move_char( destacctname : string, index : 1..5 ) to move character from this account to destaccount
  • 2005/08/29 Shinigami: character.spyonclient2 renamed to character.clientinfo
  • 2005/09/12 Shinigami: added ObjMethods packet.GetIntxxFlipped and packet.SetIntxxFlipped (Byte Order)
  • 2005/10/02 Shinigami: added Prop Script.attached_to and Script.controller
  • 2005/11/26 Shinigami: changed "strcmp" into "stricmp" to suppress Script Errors
  • 2005/12/06 MuadDib: Added uclang member for storing UC language from client.
  • 2006/05/16 Shinigami: added Prop Character.Race [RACE_* Constants] to support Elfs
  • 2006/09/16 Shinigami: added ObjMethods packet.GetUnicodeStringFlipped and packet.SetUnicodeStringFlipped (Byte Order)
  • 2007/07/09 Shinigami: added Prop Character.isUOKR [bool] - UO:KR client used?
  • 2008/07/08 Turley: Added character.movemode - returns the MoveMode like given in NPCDesc Added item.stackable - Is item stackable?
  • 2008/12/17 MuadDub: Added item.tile_layer - returns layer entry from tiledata/tiles.cfg
  • 2009/08/06 MuadDib: Removed PasswordOnlyHash support GetGottenBy Method
  • 2009/08/19 Turley: Added character.uo_expansion_client
  • 2009/08/25 Shinigami: STLport-5.2.1 fix: ParseErrorStr and ReservedWord changed little bit
  • 2009/09/06 Turley: Removed chr.isUOKR added chr.ClientType
  • 2009/10/09 Turley: Added spellbook.spells() & .hasspell() methods
  • 2009/10/10 Turley: Added spellbook.addspell() & .removespell() methods
  • 2009/10/14 Turley: Added char.deaf() methods & char.deafened member
  • 2011/12/13 Tomi: Boat members MBR_COMPONENT, MBR_HULL, MBR_ROPE, MBR_SAILS, MBR_WHEEL, MBR_TILLER, MBR_RUDDER, MBR_STORAGE, MBR_WEAPONSLOT
  • 2012/02/02 Tomi: Multi member MBR_MULTIID
  • 2012/03/26 Tomi: Added MBR_LASTCOORD
  • 2012/04/14 Tomi: Added MBR_FACETID for new map message packet
  • 2012/04/15 Tomi: Added MBR_EDITABLE for maps
  • 2012/06/02 Tomi: Added MBR_ACTIVE_SKILL and MBR_CASTING_SPELL for characters

Definition in file parser.cpp.