ScummVM API documentation
Director::LingoCompiler Class Reference
Inheritance diagram for Director::LingoCompiler:
Director::NodeVisitor

Public Member Functions

ScriptContextcompileAnonymous (const Common::U32String &code, uint32 preprocFlags=0)
 
ScriptContextcompileLingo (const Common::U32String &code, LingoArchive *archive, ScriptType type, CastMemberID id, const Common::String &scriptName, bool anonyomous=false, uint32 preprocFlags=kLPPNone)
 
ScriptContextcompileLingoV4 (Common::SeekableReadStreamEndian &stream, uint16 lctxIndex, LingoArchive *archive, const Common::String &archName, uint16 version)
 
int code1 (inst code)
 
int code2 (inst code_1, inst code_2)
 
int code3 (inst code_1, inst code_2, inst code_3)
 
int code4 (inst code_1, inst code_2, inst code_3, inst code_4)
 
int codeCmd (const Common::String &s, int numpar)
 
int codeFloat (double f)
 
int codeFunc (const Common::String &s, int numpar)
 
int codeInt (int val)
 
int codeString (const char *s)
 
void codeVarSet (const Common::String &name)
 
void codeVarRef (const Common::String &name)
 
void codeVarGet (const Common::String &name)
 
int getTheFieldID (int entity, const Common::String &field, bool silent=false)
 
void registerFactory (Common::String &s)
 
void registerMethodVar (const Common::String &name, VarType type=kVarGeneric)
 
void updateLoopJumps (uint nextTargetPos, uint exitTargetPos)
 
virtual bool visitScriptNode (ScriptNode *node)
 
virtual bool visitFactoryNode (FactoryNode *node)
 
virtual bool visitHandlerNode (HandlerNode *node)
 
virtual bool visitCmdNode (CmdNode *node)
 
virtual bool visitPutIntoNode (PutIntoNode *node)
 
virtual bool visitPutAfterNode (PutAfterNode *node)
 
virtual bool visitPutBeforeNode (PutBeforeNode *node)
 
virtual bool visitSetNode (SetNode *node)
 
virtual bool visitGlobalNode (GlobalNode *node)
 
virtual bool visitPropertyNode (PropertyNode *node)
 
virtual bool visitInstanceNode (InstanceNode *node)
 
virtual bool visitIfStmtNode (IfStmtNode *node)
 
virtual bool visitIfElseStmtNode (IfElseStmtNode *node)
 
virtual bool visitRepeatWhileNode (RepeatWhileNode *node)
 
virtual bool visitRepeatWithToNode (RepeatWithToNode *node)
 
virtual bool visitRepeatWithInNode (RepeatWithInNode *node)
 
virtual bool visitNextRepeatNode (NextRepeatNode *node)
 
virtual bool visitExitRepeatNode (ExitRepeatNode *node)
 
virtual bool visitExitNode (ExitNode *node)
 
virtual bool visitReturnNode (ReturnNode *node)
 
virtual bool visitTellNode (TellNode *node)
 
virtual bool visitWhenNode (WhenNode *node)
 
virtual bool visitDeleteNode (DeleteNode *node)
 
virtual bool visitHiliteNode (HiliteNode *node)
 
virtual bool visitAssertErrorNode (AssertErrorNode *node)
 
virtual bool visitIntNode (IntNode *node)
 
virtual bool visitFloatNode (FloatNode *node)
 
virtual bool visitSymbolNode (SymbolNode *node)
 
virtual bool visitStringNode (StringNode *node)
 
virtual bool visitListNode (ListNode *node)
 
virtual bool visitPropListNode (PropListNode *node)
 
virtual bool visitPropPairNode (PropPairNode *node)
 
virtual bool visitFuncNode (FuncNode *node)
 
virtual bool visitVarNode (VarNode *node)
 
virtual bool visitParensNode (ParensNode *node)
 
virtual bool visitUnaryOpNode (UnaryOpNode *node)
 
virtual bool visitBinaryOpNode (BinaryOpNode *node)
 
virtual bool visitFrameNode (FrameNode *node)
 
virtual bool visitMovieNode (MovieNode *node)
 
virtual bool visitIntersectsNode (IntersectsNode *node)
 
virtual bool visitWithinNode (WithinNode *node)
 
virtual bool visitTheNode (TheNode *node)
 
virtual bool visitTheOfNode (TheOfNode *node)
 
virtual bool visitTheNumberOfNode (TheNumberOfNode *node)
 
virtual bool visitTheLastNode (TheLastNode *node)
 
virtual bool visitTheDateTimeNode (TheDateTimeNode *node)
 
virtual bool visitMenuNode (MenuNode *node)
 
virtual bool visitMenuItemNode (MenuItemNode *node)
 
virtual bool visitSoundNode (SoundNode *node)
 
virtual bool visitSpriteNode (SpriteNode *node)
 
virtual bool visitChunkExprNode (ChunkExprNode *node)
 
Common::U32String codePreprocessor (const Common::U32String &code, LingoArchive *archive, ScriptType type, CastMemberID id, uint32 flags)
 
MethodHash prescanMethods (const Common::U32String &code)
 
Common::U32String patchLingoCode (const Common::U32String &line, LingoArchive *archive, ScriptType type, CastMemberID id, int linenumber)
 

Public Attributes

LingoArchive_assemblyArchive
 
ScriptContext_assemblyContext
 
Common::SharedPtr< Node_assemblyAST
 
int32 _assemblyId
 
ScriptData_currentAssembly
 
bool _indef
 
uint _linenumber
 
uint _colnumber
 
uint _bytenumber
 
const char * _lines [3]
 
bool _inFactory
 
LoopNode_currentLoop
 
bool _refMode
 
Common::HashMap< Common::String, VarType, Common::IgnoreCase_Hash, Common::IgnoreCase_EqualTo > * _methodVars
 
bool _hadError
 

The documentation for this class was generated from the following file: