OSDN Git Service

fix for FreeBSD 11.1.
[hmh/hhml.git] / lib / expr.h
index d9dc0df..7603740 100644 (file)
@@ -15,8 +15,13 @@ typedef struct {
 }  paramList;
 
 MNode*  eval (MNode* ptr, MlEnv* mlenv);
+MNode*  vectorDup (MNode* c);
+MNode*  vectorEval (MNode* c, MlEnv* mlenv);
+MNode*  tableDup (MNode* c);
+MNode*  tableEval (MNode* c, MlEnv* mlenv);
 double  eval_double (MNode* ptr, MlEnv* mlenv);
 int  eval_int (MNode* ptr, MlEnv* mlenv);
+int64_t  eval_int64 (MNode* ptr, MlEnv* mlenv);
 ustring  eval_str (MNode* ptr, MlEnv* mlenv);
 ustring  eval_text1 (MNode* cell, MlEnv* mlenv);
 ustring  eval_asciiword (MNode* cell, MlEnv* mlenv);
@@ -26,13 +31,13 @@ MNode*  progn (MNode* arg, MlEnv* mlenv);
 void  progn_ex (MNode* arg, MlEnv* mlenv);
 void  checkDefun (MNode* cell, ustring& rname, MNode*& sexp);
 MNode*  newLambda (MNode* cell);
-bool  isLambda (MNode* sexp);
-MNode*  buildArgs (int start, std::vector<ustring>& args);
-MNode*  buildArgs (int start, std::vector<ustring>& args, const ustring& arg2);
+MNode*  buildArgs (int start, const std::vector<ustring>& args);
+MNode*  buildArgs (int start, const std::vector<ustring>& args, const ustring& arg2);
 MNode*  buildArgs (const ustring& arg1);
 bool  checkDefunArgs (MNode* lambda, MNode* values);
 MNode*  execDefun (MlEnv* mlenv, MotorVar* pool, const ustring& name, MNode* values);
-MNode*  execDefun (MlEnv* mlenv, MNode* sexp, MNode* values);
-void  setParams (MNode* list, int nparam, std::vector<MNode*>* params, paramList *kwlist, std::vector<MNode*>* keywords, MNode** rest);
+MNode*  execDefun (MlEnv* mlenv, MNode* sexp, MNode* values, const ustring& name);
+void  onErrorFn (MNode* fn, MlEnv* mlenv);
+void  setParams (MNode* list, int nparam, std::vector<MNode*>* params, paramList *kwlist, std::vector<MNode*>* keywords, MNode** rest, bool padding = false);
 
 #endif /* EXPR_H */