亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? yabasic.h

?? 一個小巧的BASIC解釋器的源代碼
?? H
?? 第 1 頁 / 共 2 頁
字號:
/*
     YABASIC --- a tiny integrated Basic Compiler/Interpreter

     header-file
     
     this Program is subject to the GNU General Public License;
     see the file yabasic.c for details.
*/

#define YABASIC_INCLUDED

#include <stdio.h>
#include <stdlib.h>
#include <float.h>
#include <string.h>
#include <math.h>
#include <time.h>

#ifdef WINDOWS
#include <windows.h>
#include <io.h>
#endif

#ifdef UNIX
#include <sys/time.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <unistd.h>
#endif

#include <signal.h>
#include <ctype.h>


/*-------------- variables needed in all files ------------------------ */

extern char *string;
extern int errorlevel;
extern int end_of_file;
extern struct command *lastinput; /* last input-command */
extern int interactive; /* true, if commands come from stdin */	


/*-------------------------- defs and undefs ------------------------*/

/* undef symbols */
#undef FATAL
#undef ERROR
#undef WARNING
#undef NOTE
#undef DIAGNOSTIC

#if !defined(TRUE)
#define TRUE (1==1)
#endif

#ifndef FALSE
#define FALSE (1!=1)
#endif

/* I've been told, that some symbols are missing under SunOs ... */
#ifndef RAND_MAX
#define RAND_MAX 32767
#endif
#ifndef FOPEN_MAX
#define FOPEN_MAX 20
#endif

/* length of buffers for system() and input */
#define SYSBUFFLEN 100
#define INBUFFLEN 1000

/* ---------------------- enum types ------------------------------- */

enum error {  /* error levels  */
  FATAL,ERROR,WARNING,NOTE,DIAGNOSTIC
};

enum functions { /* functions in yabasic (sorted by number of arguments) */
  fRAN2,fDATE,fTIME,fZEROARGS,fINKEY,fSIN,fASIN,fCOS,fACOS,fTAN,
  fATAN,fSYSTEM,fSYSTEM2,fPEEK,fPEEK2,fEXP,fLOG,fLEN,fSTR,
  fSQRT,fSQR,fFRAC,fABS,fSIG,fRAN,fINT,fVAL,fASC,fUPPER,fLOWER,
  fLTRIM,fRTRIM,fTRIM,fCHR,fXMAP,fYMAP,fONEARGS,fATAN2,fLEFT,
  fRIGHT,fINSTR,fSTR2,fMOD,fMIN,fMAX,fTWOARGS,fMID
};

enum arraymode { /* type of array access */
  CALLARRAY,ASSIGNARRAY,CALLSTRINGARRAY,ASSIGNSTRINGARRAY,GETSTRINGPOINTER
};

enum cmd_type { /* type of command */
  cFIRST_COMMAND, /* no command, just marks start of list */
  
  cLABEL,cGOTO,cQGOTO,cGOSUB,cQGOSUB,cRETURN,  /* flow control */
  cEND,cDECIDE,cSKIPPER,cNOP,cFINDNOP,cEXCEPTION,
  cSKIPONCE,cRESETSKIPONCE,
  
  cDIM,cFUNCTION,cDOARRAY,                        /* everything with "()" */
  
  cSTARTFOR,cFORCHECK,cFORINCREMENT,              /* for for-loops */

  cDBLADD,cDBLMIN,cDBLMUL,cDBLDIV,cDBLPOW,            /* double operations */
  cNEGATE,cPUSHDBLSYM,cPOPDBLSYM,cPUSHDBL,
  
  cPOKE,cSWAP,cDUPLICATE,                           /* internals */
  
  cAND,cOR,cNOT,cLT,cGT,cLE,cGE,cEQ,cNE,            /* comparisons */
  cSTREQ,cSTRNE,cSTRLT,cSTRLE,cSTRGT,cSTRGE,
  
  cPUSHSTRSYM,cPOPSTRSYM,cPUSHSTR,cCONCAT,           /* string operations */
  cPUSHSTRPTR,cCHANGESTRING,cTOKEN,
  
  cPRINT,cREAD,cRESTORE,cQRESTORE,cONESTRING,         /* i/o operations */
  cREADDATA,cDATA,cOPEN,cCLOSE,cSWITCH,cTESTEOF,
  cWAIT,cBELL,cMOVE,cCLEARSCR,cREVERT,cCHKPROMPT,
  
  cOPENWIN,cDOT,cLINE,cCIRCLE,cTEXT,cCLOSEWIN,cCLEARWIN,   /* grafics */
  cOPENPRN,cCLOSEPRN,cMAKEMAP,cTICK,cMAP,cMOVEORIGIN,cRECT,
  cMARKER,
  
  cLAST_COMMAND /* no command, just marks end of list */
};

enum stackentries { /* different types of stackentries */
  stGOTO,stSTRING,stNUMBER,stLABEL,stRETADD,stFREE
};

enum symbols { /* different types of symbols */
  sySTRING,syNUMBER,syFREE,syARRAY
};

enum states { /* current state of program */
  HATCHED,INITIALIZED,COMPILING,RUNNING,FINISHED
};

/* ------------- global types ---------------- */ 

struct stackentry { /* one element on stack */ 
  int type;     /* contents of entry */
  struct stackentry *next;
  struct stackentry *prev;
  void *pointer; /* multiuse ptr */
  double value;  /* double value, only one of pointer or value is used */
};

struct symbol {   /* general symbol; either variable, string, label or call */
  int type;
  struct symbol *next;
  char *name;
  void *pointer;   /* general pointer */
  char *args;      /* used to store number of arguments for functions/array */
  double value;
};

struct command { /* one interpreter command */
  int type;    /* type of command */
  struct command *next;  /* link to next command */
  void *pointer;       /* pointer to command specific data */
  int args;  /* number of arguments for function/array call */
             /* or stream number for open/close             */
  char tag;  /* letter to pass some information */
  int line; /* line this command has been created for */
};

struct array { /* data structure for arrays */
  int bounds[10];  /* index boundaries */
  int dimension; /* dimension of array */
  int total; /* product of all dimensions */
  int dimed;      /* Flag to mark if array has been dimed already */
  void *pointer; /* contents of array */
  char type;  /* decide between string- ('s') and double-Arrays ('d') */
};

struct buff_chain { /* buffer chain for system-input */
  char buff[SYSBUFFLEN]; /* content of buffer */
  struct buff_chain *next; /* next buffer in chain */
};


/* ------------- function prototypes for ... ---------------- */
/* ------------- main program and auxiliary functions ---------------- */
int main(int,char **);
int yyparse(void); /* yyparse is supplied by BISON */
struct symbol *get_sym(char *,int,int); /* find and/or add a symbol */
struct command *add_command(int); /* get room for new command */
void parse_arguments(int,char *argv[]); /* parse arguments from command line */
void initialize(void); /* give correct values to pointers etc ... */
void reset(void); /* reset pointers to their initial values */
void signal_handler(int);  /* handle various signals */
void create_exception(int); /* create command 'exception' */
void exception(struct command *); /* change handling of exceptions */
void error(int,char *); /* reports an error and possibly exits */
char *my_strdup(char *); /* my own version of strdup */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品裸体舞一区二区三区| 欧美亚洲一区二区在线观看| 亚洲免费大片在线观看| 久久久欧美精品sm网站| 日韩午夜电影在线观看| 欧美精品丝袜久久久中文字幕| 91在线一区二区三区| 成人污污视频在线观看| 国产乱码字幕精品高清av| 久久精品国产久精国产| 免费的国产精品| 琪琪久久久久日韩精品| 亚洲国产精品一区二区久久 | 日本久久电影网| caoporen国产精品视频| 成人爽a毛片一区二区免费| 国产一区999| 从欧美一区二区三区| 极品美女销魂一区二区三区 | 水蜜桃久久夜色精品一区的特点| 亚洲最大成人综合| 亚洲国产中文字幕在线视频综合| 亚洲在线视频免费观看| 天天av天天翘天天综合网 | 亚洲人成网站色在线观看| 成人欧美一区二区三区1314 | 91丨porny丨户外露出| 91精品办公室少妇高潮对白| 91国偷自产一区二区使用方法| 色综合久久综合网欧美综合网| 色噜噜狠狠色综合欧洲selulu| 欧美日韩综合在线| 欧美电视剧免费观看| 26uuu另类欧美亚洲曰本| 欧美国产日韩一二三区| 一区二区三区高清| 奇米影视一区二区三区| 国产69精品久久久久毛片| 色婷婷亚洲婷婷| 欧美一级专区免费大片| 亚洲国产精华液网站w| 亚洲自拍偷拍麻豆| 精品一二三四区| 一本一本大道香蕉久在线精品| 9191精品国产综合久久久久久| 久久综合色天天久久综合图片| 亚洲乱码中文字幕| 精品一区二区三区免费视频| jiyouzz国产精品久久| 5月丁香婷婷综合| 中文字幕欧美一| 久久精品国产**网站演员| 92精品国产成人观看免费| 欧美一区二区精品久久911| 国产三级一区二区| 丝袜美腿亚洲综合| 国产成人精品在线看| 欧美午夜精品一区| 中文字幕欧美区| 麻豆高清免费国产一区| 一本久久a久久免费精品不卡| 亚洲精品一区二区在线观看| 亚洲电影激情视频网站| 成人动漫一区二区| 国产精品久久一卡二卡| 日韩中文字幕1| 99久久精品情趣| 久久蜜桃av一区精品变态类天堂| 天堂av在线一区| 欧美色涩在线第一页| 国产欧美日产一区| 精品一区二区三区影院在线午夜 | 国产精品午夜在线观看| 国产综合色视频| 日韩欧美国产综合| 日韩精品国产欧美| 欧美日韩一级片在线观看| 国产欧美日韩视频在线观看| 紧缚奴在线一区二区三区| 欧美日韩国产影片| 亚洲中国最大av网站| 91麻豆国产福利精品| 亚洲欧美综合在线精品| www.66久久| 一区在线观看视频| 91麻豆蜜桃一区二区三区| 国产精品免费丝袜| heyzo一本久久综合| 中文字幕在线不卡| 91麻豆.com| 亚洲成a人v欧美综合天堂| 欧美日韩一本到| 亚洲va欧美va人人爽| 欧美日韩国产综合一区二区三区 | 欧美三级在线看| 亚洲123区在线观看| 欧美另类久久久品| 美女一区二区在线观看| 欧美va亚洲va香蕉在线| 国产一区二区三区免费在线观看| 国产清纯白嫩初高生在线观看91 | 成人av资源网站| 亚洲欧洲av在线| 欧美性视频一区二区三区| 日韩中文字幕一区二区三区| 日韩欧美www| 国产盗摄一区二区三区| 亚洲欧洲av另类| 欧美高清精品3d| 九一九一国产精品| 国产精品国产精品国产专区不蜜| 91丨九色丨黑人外教| 视频在线观看一区二区三区| 精品欧美一区二区久久| www.亚洲精品| 丝袜美腿亚洲色图| www国产精品av| 91免费精品国自产拍在线不卡| 婷婷丁香激情综合| 国产无一区二区| 欧美在线一区二区三区| 精久久久久久久久久久| 亚洲欧美激情一区二区| 日韩亚洲欧美在线| 成人动漫在线一区| 奇米一区二区三区av| 亚洲日本va午夜在线影院| 日韩一区二区三区在线观看| 94-欧美-setu| 国产一区二区三区美女| 亚洲一区二区不卡免费| 国产日本一区二区| 91精品国产一区二区三区| 99久久国产综合精品女不卡| 麻豆国产欧美日韩综合精品二区| 亚洲人午夜精品天堂一二香蕉| 日韩三级在线观看| 欧美性大战xxxxx久久久| 国产精品中文字幕一区二区三区| 香蕉影视欧美成人| 1区2区3区精品视频| 久久综合九色综合欧美亚洲| 欧美浪妇xxxx高跟鞋交| 色综合久久九月婷婷色综合| 国产伦精一区二区三区| 免费视频一区二区| 午夜精品久久一牛影视| 一区2区3区在线看| 国产精品美女久久久久av爽李琼| 精品人在线二区三区| 欧美一区二区成人| 欧美日本国产视频| 欧美视频一区在线| 色综合久久66| 色综合婷婷久久| 99免费精品视频| 99热在这里有精品免费| eeuss鲁片一区二区三区在线看 | 精品国产百合女同互慰| 91麻豆精品国产91久久久久久 | 欧美精品乱码久久久久久| 欧美在线观看视频一区二区| 色先锋aa成人| 一本到一区二区三区| 色诱亚洲精品久久久久久| 91尤物视频在线观看| 色综合久久天天综合网| 日本高清视频一区二区| 欧洲av在线精品| 欧美日产国产精品| 欧美高清dvd| 精品国免费一区二区三区| 欧美大尺度电影在线| 精品国产电影一区二区| 国产欧美日韩综合精品一区二区| 国产女主播视频一区二区| 欧美激情一区二区三区全黄| 国产精品人妖ts系列视频| 亚洲色图在线播放| 亚洲chinese男男1069| 日本一不卡视频| 国产美女娇喘av呻吟久久 | 国产女人18水真多18精品一级做 | 国产精品拍天天在线| 亚洲人成人一区二区在线观看| 亚洲综合色网站| 久久精品国产免费看久久精品| 国产高清成人在线| 97久久精品人人澡人人爽| 欧美年轻男男videosbes| 日韩午夜小视频| 国产精品久久久久久久久搜平片| 亚洲综合区在线| 极品尤物av久久免费看| 97久久久精品综合88久久| 欧美一区二区三区视频在线观看| 国产人久久人人人人爽| 亚洲国产毛片aaaaa无费看| 激情综合色综合久久综合| 99麻豆久久久国产精品免费|