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

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

?? yabbison.txt

?? basic解釋器源代碼 microsoft visual studio 6.0環境下通過
?? TXT
?? 第 1 頁 / 共 2 頁
字號:
%{
/*
     YABASIC --- a tiny integrated Basic Compiler/Interpreter

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


#undef WINDOWS

#ifndef YABASIC_INCLUDED
#include "yabasic.h"     /* definitions of yabasic */
#endif

#include <malloc.h>

#if HAVE_ALLOCA_H
#include <alloca.h>
#endif

void __yy_bcopy(char *,char *,int); /* prototype missing */

int tileol; /* true, read should go to eon of line */
int yylineno=1;
int yylex(void);
%}

%union {
  double fnum;          /* float number */
  int inum;             /* integer number */
  int token;            /* token of command */
  int sep;              /* number of newlines */
  char *string;         /* quoted string */
  char *symbol;         /* general symbol */
  char *digits;         /* string of digits */
  char *strsym;         /* string symbol */
}

%type <fnum> const
%type <fnum> number
%type <inum> intnum
%type <symbol> symbol_or_lineno
%type <inum> hashed_number
%type <sep> tSEP
%type <sep> tEOFILE

%token <fnum> tFNUM
%token <symbol> tSYMBOL
%token <strsym> tSTRSYM
%token <digits> tDIGITS
%token <string> tSTRING

%token tFOR tTO tSTEP tNEXT tGOTO tGOSUB tLABEL tON
%token tINTERRUPT tBREAK tCONTINUE tSEP tEOFILE
%token tIF tTHEN tELSE tENDIF
%token tPRINT tINPUT tLINE tRETURN tDIM tEND tAT tSCREEN tREVERSE
%token tAND tOR tNOT
%token tNEQ tLEQ tGEQ tLTN tGTN tEQU
%token tREAD tDATA tRESTORE
%token tOPEN tCLOSE tORIGIN
%token tWINDOW tDOT tLINE tCIRCLE tTEXT tCLEAR tPRINTER
%token tWAIT tBELL tMAP tXMAP tYMAP tARROW tXTICK tYTICK
%token tBOX tRECT tNEW tMARKER tCURVE

%token tSIN tASIN tCOS tACOS tTAN tATAN tEXP tLOG tSQRT tMYEOF
%token tINT tFRAC tMOD tRAN tLEN tVAL tLEFT tRIGHT tMID tLEN tMIN tMAX
%token tSTR tINKEY tCHR tASC tUPPER tLOWER tTRIM tLTRIM tRTRIM tINSTR 
%token tSYSTEM tSYSTEM2 tPEEK tPEEK2 tPOKE tDATE tTIME

%left tOR
%left tAND
%left tNOT

%left '-' '+'
%left '*' '/'
%left '^'
%nonassoc UMINUS

%%

program: statement_list tEOFILE {end_of_file=TRUE;YYACCEPT;}
  ;

statement_list: statement
  | statement_list {if (errorlevel<=ERROR) {YYABORT;}} 
    tSEP {yylineno+=$3;} statement
  ;

statement:  /* empty */
  | string_assignment 
  | assignment
  | for_loop 
  | if_clause
  | tGOTO symbol_or_lineno {create_goto($2);}
  | tGOSUB symbol_or_lineno {create_gosub($2);}
  | tON tINTERRUPT tBREAK {create_exception(TRUE);}
  | tON tINTERRUPT tCONTINUE {create_exception(FALSE);}
  | tON expression tGOTO {add_command(cSKIPPER);}
    goto_list {add_command(cNOP);}
  | tON expression tGOSUB {add_command(cSKIPPER);} 
    gosub_list {add_command(cNOP);}
  | tLABEL symbol_or_lineno {create_label($2);}
  | tOPEN hashed_number ',' string_expression ',' string_expression
    {create_myopen($2,'+');}
  | tOPEN hashed_number ',' string_expression {create_myopen($2,'-');}
  | tCLOSE hashed_number {create_myclose($2);}
  | tPRINT printintro printlist {create_revert(FALSE);} semicolon
  | tINPUT {tileol=FALSE;} inputintro inputlist 
  | tLINE tINPUT {tileol=TRUE;} inputintro inputlist 
  | tREAD readlist
  | tDATA datalist
  | tRESTORE {create_restore("");}
  | tRESTORE symbol_or_lineno {create_restore($2);}
  | tRETURN {add_command(cRETURN);}
  | tDIM dimlist 
  | tOPEN tWINDOW expression ',' expression {create_openwin(FALSE);}
  | tOPEN tWINDOW expression ',' expression ',' string_expression 
         {create_openwin(TRUE);}
  | tWINDOW tORIGIN string_expression {add_command(cMOVEORIGIN);}
  | tDOT mapping {add_command(cDOT);}
  | tLINE mapping tTO mapping {create_line('l');}
  | tLINE tTO mapping {create_line('t');}
  | tNEW tCURVE {create_line('n');}
  | tCIRCLE mapping ',' expression {add_command(cCIRCLE)}
  | tTEXT mapping ',' string_expression {create_text(FALSE);}
  | tTEXT mapping ',' string_expression ',' string_expression
        {create_text(TRUE);}
  | tMAP expression ',' expression ',' expression ',' expression tTO
        expression ',' expression ',' expression ',' expression 
        {add_command(cMAKEMAP);}
  | tARROW mapping tTO mapping {create_line('a');}
  | tXTICK mapping ',' string_expression {create_tick(1);}
  | tYTICK mapping ',' string_expression {create_tick(3);}
  | tXTICK mapping {create_tick(0);}
  | tYTICK mapping {create_tick(2);}
  | tRECT mapping tTO mapping {create_rect(FALSE);}
  | tBOX mapping tTO mapping {create_rect(TRUE);}
  | tMARKER mapping ',' string_expression {create_marker(3);}
  | tMARKER mapping ',' string_expression ',' expression {create_marker(4);}
  | tMARKER mapping ',' string_expression ',' expression ',' expression {create_marker(5);}
  | tCLOSE tWINDOW {add_command(cCLOSEWIN);}
  | tCLEAR tWINDOW {add_command(cCLEARWIN);}
  | tCLEAR tSCREEN {add_command(cCLEARSCR);}
  | tOPEN tPRINTER {create_openprinter(0);}
  | tOPEN tPRINTER string_expression {create_openprinter(1);}
  | tCLOSE tPRINTER {add_command(cCLOSEPRN);}
  | tWAIT expression {add_command(cWAIT);}
  | tBELL {add_command(cBELL);}
  | tINKEY {create_function(fINKEY); create_popstrsym(NULL);}
  | tSYSTEM2 '(' string_expression ')' {create_function(fSYSTEM2);
	create_popdblsym(NULL);}
  | tPOKE string_expression ',' string_expression {create_poke('s');}
  | tPOKE string_expression ',' expression {create_poke('d');}
  | tEND {add_command(cEND);};

string_assignment: tSTRSYM tEQU string_expression {create_popstrsym($1);}
  | tMID '(' tSTRSYM {create_pushstrptr($3);} ',' expression ',' expression ')' tEQU string_expression {create_changestring(fMID);}
  | tLEFT '(' tSTRSYM {create_pushstrptr($3);} ',' expression ')' tEQU string_expression {create_changestring(fLEFT);}
  | tRIGHT '(' tSTRSYM {create_pushstrptr($3);} ',' expression ')' tEQU string_expression {create_changestring(fRIGHT);}
  | tSTRSYM '(' {pushcounter();} indexlist ')' tEQU string_expression {create_doarray($1,ASSIGNSTRINGARRAY);}
  | tMID '(' tSTRSYM '(' {pushcounter();} indexlist ')' {create_doarray($3,GETSTRINGPOINTER);} ',' expression ',' expression ')' tEQU string_expression {create_changestring(fMID);}
  | tLEFT '(' tSTRSYM '(' {pushcounter();} indexlist ')' {create_doarray($3,GETSTRINGPOINTER);} ',' expression ')' tEQU string_expression {create_changestring(fLEFT);}
  | tRIGHT '(' tSTRSYM '(' {pushcounter();} indexlist ')' {create_doarray($3,GETSTRINGPOINTER);} ',' expression ')' tEQU string_expression {create_changestring(fRIGHT);}
  ;

string_expression: tSTRSYM {create_pushstrsym($1);}
  | string_function;
  | tSTRING {if ($1==NULL) {error(ERROR,"String not terminated");create_pushstr("");} else {create_pushstr($1);}}
  | string_expression '+' string_expression {add_command(cCONCAT);}
  | tSTRSYM '(' {pushcounter();} indexlist ')' {create_doarray($1,CALLSTRINGARRAY);}
  | '(' string_expression ')'
  ;

string_function: tLEFT '(' string_expression ',' expression ')' {create_function(fLEFT);}
  | tRIGHT '(' string_expression ',' expression ')' {create_function(fRIGHT);}
  | tMID '(' string_expression ',' expression ',' expression ')' {create_function(fMID);}
  | tSTR '(' expression ')' {create_function(fSTR);}
  | tSTR '(' expression ',' string_expression ')' {create_function(fSTR2);} 
  | tINKEY {create_function(fINKEY);}
  | tCHR '(' expression ')' {create_function(fCHR);}
  | tUPPER '(' string_expression ')' {create_function(fUPPER);}
  | tLOWER '(' string_expression ')' {create_function(fLOWER);}
  | tLTRIM '(' string_expression ')' {create_function(fLTRIM);}
  | tRTRIM '(' string_expression ')' {create_function(fRTRIM);}
  | tTRIM '(' string_expression ')' {create_function(fTRIM);}
  | tSYSTEM '(' string_expression ')' {create_function(fSYSTEM);}
  | tDATE {create_function(fDATE);}
  | tTIME {create_function(fTIME);}
  | tPEEK2 '(' string_expression ')' {create_function(fPEEK2);}
  ;

assignment: tSYMBOL tEQU expression {create_popdblsym($1);} 
  | tSYMBOL '(' {pushcounter();} indexlist ')' tEQU expression {create_doarray($1,ASSIGNARRAY);}
  ;

expression: number {create_pushdbl($1);}
  | function
  | tSYMBOL {create_pushdblsym($1);}
  | tSYMBOL '(' {pushcounter();} indexlist ')' {create_doarray($1,CALLARRAY);};
  | '(' expression ')' 
  | expression '+' expression {create_dblbin('+');}
  | expression '-' expression {create_dblbin('-');}
  | expression '*' expression {create_dblbin('*');}
  | expression '/' expression {create_dblbin('/');}
  | expression '^' expression {create_dblbin('^');}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美在线综合网| 欧美日韩在线观看一区二区| 午夜精品123| 亚洲免费观看在线观看| 中文字幕一区二区三区色视频| 久久久美女艺术照精彩视频福利播放| 日韩欧美一二区| 日韩欧美电影一二三| 欧美一区二区三区免费观看视频| 日韩写真欧美这视频| 精品久久久久久久久久久院品网 | 日本亚洲最大的色成网站www| 亚洲综合色噜噜狠狠| 亚洲一区二区av在线| 午夜久久久久久久久久一区二区| 日韩精品欧美精品| 国产美女精品一区二区三区| 粉嫩高潮美女一区二区三区| 99久久伊人久久99| 欧美性色aⅴ视频一区日韩精品| 欧美裸体一区二区三区| 精品免费国产一区二区三区四区| 国产亲近乱来精品视频| 亚洲女同一区二区| 日韩不卡一二三区| 粉嫩一区二区三区性色av| 日本久久一区二区| 精品久久久久香蕉网| 亚洲欧美日韩综合aⅴ视频| 日韩国产欧美在线观看| 国产精品99久久久久久久vr| 在线观看亚洲精品| 精品国产3级a| 亚洲国产一二三| 国产成人免费视频网站高清观看视频| 91尤物视频在线观看| 日韩欧美一区二区在线视频| 亚洲天堂久久久久久久| 久草这里只有精品视频| 91理论电影在线观看| 欧美电影免费观看高清完整版在| 最新不卡av在线| 免费美女久久99| 91国产视频在线观看| 久久久午夜电影| 日本麻豆一区二区三区视频| 96av麻豆蜜桃一区二区| 久久新电视剧免费观看| 午夜视频一区二区三区| 91丨九色丨国产丨porny| 久久亚洲精精品中文字幕早川悠里| 亚洲在线中文字幕| 91丨九色丨蝌蚪丨老版| 国产日韩精品一区二区三区 | 国产人伦精品一区二区| 日韩不卡免费视频| 欧美午夜在线观看| 亚洲另类在线一区| 岛国精品一区二区| 2021中文字幕一区亚洲| 蜜桃av一区二区三区| 欧美午夜视频网站| 一区二区久久久久| 91成人在线精品| 亚洲美女在线一区| 91亚洲精品乱码久久久久久蜜桃| 国产色一区二区| 国产福利一区在线观看| 久久亚洲一区二区三区明星换脸 | 香蕉影视欧美成人| 91久久香蕉国产日韩欧美9色| 国产精品毛片久久久久久| 国产高清久久久久| 国产亚洲成aⅴ人片在线观看| 国产一区二区免费看| 精品国产欧美一区二区| 韩国av一区二区| 久久精品欧美日韩精品| 国产呦精品一区二区三区网站| 久久综合久久综合久久| 国产一区二区在线看| 国产欧美精品一区二区色综合朱莉| 国产激情视频一区二区在线观看 | 色老汉一区二区三区| 亚洲欧美另类小说| 欧美色精品在线视频| 石原莉奈在线亚洲二区| 精品国产sm最大网站| 国产成人综合亚洲91猫咪| 中文字幕的久久| 91福利社在线观看| 日本色综合中文字幕| 精品国产一区a| 99精品视频免费在线观看| 亚洲无线码一区二区三区| 日韩一二三四区| 成人国产精品免费观看视频| 亚洲激情一二三区| 欧美岛国在线观看| 91啪亚洲精品| 奇米888四色在线精品| 国产亚洲综合色| 91国偷自产一区二区三区观看 | 国产精品主播直播| 亚洲视频香蕉人妖| 日韩美女一区二区三区| 国产99久久久久久免费看农村| 亚洲天堂成人网| 欧美一级欧美一级在线播放| 成人激情文学综合网| 亚洲成a人在线观看| 欧美国产一区在线| 欧美美女黄视频| av一区二区三区四区| 蜜桃视频免费观看一区| 最新欧美精品一区二区三区| 欧美一区二区久久久| 99久久久久久99| 国模套图日韩精品一区二区| 亚洲一二三级电影| 国产精品美女久久久久久| 日韩一区二区三区四区五区六区| 99久久er热在这里只有精品15| 蜜臀精品一区二区三区在线观看 | 国产一区二区电影| 婷婷成人激情在线网| 亚洲欧洲性图库| 久久久久久久综合色一本| 欧美福利一区二区| 在线国产电影不卡| 91性感美女视频| av在线播放不卡| 国产v综合v亚洲欧| 韩国中文字幕2020精品| 男女男精品视频| 日本在线播放一区二区三区| 夜夜精品浪潮av一区二区三区| 中文字幕日韩精品一区| 欧美国产精品专区| 久久人人97超碰com| 欧美成人a在线| 日韩一区二区免费在线观看| 欧美日韩精品一区二区三区四区| 91丨porny丨户外露出| www.亚洲人| av在线综合网| 一本色道久久综合精品竹菊| 91在线精品秘密一区二区| 成人成人成人在线视频| 成人激情文学综合网| 9久草视频在线视频精品| 成人av网站在线| 99久久久国产精品免费蜜臀| 99视频一区二区| 色综合久久久网| 欧美在线视频不卡| 欧美日韩精品福利| 日韩欧美色电影| 久久久久久久综合日本| 国产女主播一区| 樱花影视一区二区| 亚洲一区影音先锋| 青青草原综合久久大伊人精品优势| 日本亚洲最大的色成网站www| 精品一区二区三区久久| 国产成人免费9x9x人网站视频| 风间由美一区二区三区在线观看 | 美女视频黄久久| 国产乱人伦偷精品视频不卡| 丰满亚洲少妇av| 欧美日韩精品一区二区三区| 日韩一二三四区| 国产精品电影一区二区| 亚洲一本大道在线| 精品一区二区免费在线观看| 成人免费黄色在线| 欧美日韩一区二区不卡| 精品国产乱码久久久久久闺蜜| 中文字幕精品三区| 视频一区在线播放| 成人性生交大片免费| 欧美性一级生活| 国产色一区二区| 日本视频一区二区三区| av电影在线不卡| 亚洲精品一区二区三区福利| 亚洲色图在线看| 老司机免费视频一区二区三区| 成人短视频下载| 欧美xxxxx牲另类人与| 国产精品超碰97尤物18| 久久精品久久久精品美女| av午夜一区麻豆| 日韩欧美一区电影| 一区二区三区精品久久久| 国产一区二区三区四| 欧美日韩国产首页在线观看| 国产精品色眯眯| 久久精品国产精品青草| 欧美性猛交一区二区三区精品|