X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;ds=sidebyside;f=Usermode%2FLibraries%2Flibspiderscript.so_src%2Fast.h;h=39ea294712e5d3217319160ae0c8552f40072053;hb=239f2374299c1471a40b1087725b32f3f163d9b3;hp=39c23b1fef99b904a76c5fd7498a15860c9c8b2b;hpb=2c8989ea0849b0e207e6c357626d41c991dc423f;p=tpg%2Facess2.git diff --git a/Usermode/Libraries/libspiderscript.so_src/ast.h b/Usermode/Libraries/libspiderscript.so_src/ast.h index 39c23b1f..39ea2947 100644 --- a/Usermode/Libraries/libspiderscript.so_src/ast.h +++ b/Usermode/Libraries/libspiderscript.so_src/ast.h @@ -76,31 +76,6 @@ enum eAST_NodeTypes NODETYPE_MODULO, //!< Modulus }; -struct sSpiderScript -{ - tSpiderVariant *Variant; - tAST_Script *Script; - char *CurNamespace; //!< Current namespace prefix (NULL = Root) - No trailing . -}; - -struct sAST_Script -{ - // TODO: Namespaces and Classes - tAST_Function *Functions; - tAST_Function *LastFunction; -}; - -struct sAST_Function -{ - tAST_Function *Next; //!< Next function in list - int ReturnType; - tAST_Node *Code; //!< Function Code - tAST_Node *Arguments; // HACKJOB (Only NODETYPE_DEFVAR is allowed) - tAST_Node *Arguments_Last; - int ArgumentCount; - char Name[]; //!< Function Name -}; - struct sAST_Node { tAST_Node *NextSibling; @@ -215,12 +190,10 @@ struct sAST_Variable // === FUNCTIONS === extern tAST_Script *AST_NewScript(void); -extern size_t AST_WriteScript(void *Buffer, tAST_Script *Script); +extern size_t AST_WriteScript(void *Buffer, tSpiderScript *Script); extern size_t AST_WriteNode(void *Buffer, size_t Offset, tAST_Node *Node); -extern tAST_Function *AST_AppendFunction(tAST_Script *Script, const char *Name, int ReturnType); -extern void AST_AppendFunctionArg(tAST_Function *Function, tAST_Node *Arg); -extern void AST_SetFunctionCode(tAST_Function *Function, tAST_Node *Root); +extern int AST_AppendFunction(tSpiderScript *Script, const char *Name, int ReturnType, tAST_Node *FirstArg, tAST_Node *Code); extern tAST_Node *AST_NewNop(tParser *Parser);