123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- #ifndef __NS_EELINT_H__
- #define __NS_EELINT_H__
- #include "ns-eel.h"
- #include "ns-eel-addfuncs.h"
- #ifdef __cplusplus
- extern "C" {
- #endif
- #define FN_ASSIGN 0
- #define FN_MULTIPLY 1
- #define FN_DIVIDE 2
- #define FN_MODULO 3
- #define FN_ADD 4
- #define FN_SUB 5
- #define FN_AND 6
- #define FN_OR 7
- #define FN_UMINUS 8
- #define FN_UPLUS 9
- #define MATH_SIMPLE 0
- #define MATH_FN 1
- #define YYSTYPE int
- typedef struct
- {
- double **varTable_Values;
- char **varTable_Names;
- int varTable_numBlocks;
- int errVar;
- int colCount;
- int result;
- char last_error_string[256];
- YYSTYPE yylval;
- int yychar;
- int yynerrs;
- char yytext[256];
- char lastVar[256];
- char *llsave[16];
- char llbuf[100];
- char *llp1;
- char *llp2;
- char *llend;
- char *llebuf;
- int lleof;
- int yyline;
- void *tmpblocks_head,*blocks_head;
- int computTableTop;
- int l_stats[4];
- void *userfunc_data[64];
- }
- compileContext;
- typedef struct {
- char *name;
- void *afunc;
- void *func_e;
- int nParams;
- NSEEL_PPPROC pProc;
- } functionType;
- extern functionType *nseel_getFunctionFromTable(int idx);
- int nseel_createCompiledValue(compileContext *ctx, double value, double *addrValue);
- int nseel_createCompiledFunction1(compileContext *ctx, int fntype, int fn, int code);
- int nseel_createCompiledFunction2(compileContext *ctx, int fntype, int fn, int code1, int code2);
- int nseel_createCompiledFunction3(compileContext *ctx, int fntype, int fn, int code1, int code2, int code3);
- extern double nseel_globalregs[100];
- void nseel_resetVars(compileContext *ctx);
- double *nseel_getVarPtr(compileContext *ctx, char *varName);
- double *nseel_registerVar(compileContext *ctx, char *varName);
- int nseel_setVar(compileContext *ctx, int varNum);
- int nseel_getVar(compileContext *ctx, int varNum);
- void *nseel_compileExpression(compileContext *ctx, char *txt);
- #define VALUE 258
- #define IDENTIFIER 259
- #define FUNCTION1 260
- #define FUNCTION2 261
- #define FUNCTION3 262
- #define UMINUS 263
- #define UPLUS 264
- int nseel_translate(compileContext *ctx, int type);
- void nseel_count(compileContext *ctx);
- void nseel_setLastVar(compileContext *ctx);
- int nseel_lookup(compileContext *ctx, int *typeOfObject);
- int nseel_yyerror(compileContext *ctx);
- int nseel_yylex(compileContext *ctx, char **exp);
- int nseel_yyparse(compileContext *ctx, char *exp);
- void nseel_llinit(compileContext *ctx);
- int nseel_gettoken(compileContext *ctx, char *lltb, int lltbsiz);
- struct lextab {
- int llendst;
- char *lldefault;
- char *llnext;
- char *llcheck;
- int *llbase;
- int llnxtmax;
- int (*llmove)();
- char *llfinal;
- int (*llactr)();
- int *lllook;
- char *llign;
- char *llbrk;
- char *llill;
- };
- extern struct lextab nseel_lextab;
- #ifdef __cplusplus
- }
- #endif
- #endif
|