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

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

?? sor.c

?? SRI international 發布的OAA框架軟件
?? C
?? 第 1 頁 / 共 4 頁
字號:
/*
 * A n t l r  T r a n s l a t i o n  H e a d e r
 *
 * Terence Parr, Will Cohen, and Hank Dietz: 1989-2001
 * Purdue University Electrical Engineering
 * With AHPCRC, University of Minnesota
 * ANTLR Version 1.33MR33
 *
 *   ..\bin\antlr -gh -k 2 -gt sor.g
 *
 */

#define ANTLR_VERSION	13333
#include "pcctscfg.h"
#include "pccts_stdio.h"

/*  23-Sep-97   thm     Accomodate user who needs to redefine ZZLEXBUFSIZE  */

#ifndef ZZLEXBUFSIZE
#define ZZLEXBUFSIZE	8000
#endif
#include "pcctscfg.h"    /* MR20 G. Hobbelt __USE_PROTOS #define */
#include "charbuf.h"
#include "hash.h"
#include "set.h"
#include "sor.h"
#define AST_FIELDS	\
int token; char text[MaxAtom+1], label[MaxRuleName+1]; \
char *action;		/* if action node, here is ptr to it */ \
char in,out; \
char init_action;	/* set if Action and 1st action of alt */ \
int file; int line; /* set for BLOCK, ALT, nonterm nodes */ \
int upper_range;	/* only if T1..T2 found */	\
GLA *start_state;	/* ptr into GLA for this block */ \
int no_copy;		/* copy input ptr to output ptr? */ \
ListNode *refvars;	/* any ref vars defined for this rule */ \
unsigned char is_root; /* this token is a root #( A ... ) */
#define zzcr_ast(node, cur, _tok, _text)	\
{(node)->token=_tok; strncpy((node)->text, _text,MaxAtom);}
#define USER_ZZSYN
#define zzAST_DOUBLE
extern int define_num;
#define LL_K 2
#define GENAST

#include "ast.h"

#define zzSET_SIZE 16
#include "antlr.h"
#include "tokens.h"
#include "dlgdef.h"
#include "mode.h"

/* MR23 In order to remove calls to PURIFY use the antlr -nopurify option */

#ifndef PCCTS_PURIFY
#define PCCTS_PURIFY(r,s) memset((char *) &(r),'\0',(s));
#endif

#include "ast.c"
zzASTgvars

ANTLR_INFO

/* MR20 G. Hobbelt Fix for Borland C++ 4.x & 5.x compiling with ALL warnings enabled */
#if defined(__TURBOC__)
#pragma warn -aus  /* unused assignment of 'xxx' */
#endif


#include "sym.h"
#include "proto.h"

void    /* MR9 23-Sep-97 Eliminate complaint about no return value */
#ifdef __USE_PROTOS
lisp( AST *tree, FILE *output )
#else
lisp( tree, output )
AST *tree;
FILE *output;
#endif
{
  while ( tree != NULL )
  {
    if ( tree->down != NULL ) fprintf(output," (");
    if ( tree->text[0]!='\0' ) {
      fprintf(output, " \"");
      if ( tree->label[0]!='\0' ) fprintf(output, "%s:", tree->label);
      switch ( tree->token ) {
        case OPT :
        case POS_CLOSURE :
        case CLOSURE :
        case PRED_OP :
        fprintf(output, "%s", tree->text);
        break;
        default :
        fprintf(output, "%s[%s]", zztokens[tree->token], tree->text);
      }
      fprintf(output, "\"");
    }
    else {
      fprintf(output, " %s", zztokens[tree->token]);
    }
    lisp(tree->down, output);
    if ( tree->down != NULL ) fprintf(output," )");
    tree = tree->right;
  }
}

AST *
#ifdef __USE_PROTOS
zzmk_ast(AST *node, int token)
#else
zzmk_ast(node, token)
AST *node;
int token;
#endif
{
  node->token = token;
  return node;
}

AST *
#ifdef __USE_PROTOS
read_sor_desc(FILE *f)
#else
read_sor_desc(f)
FILE *f;
#endif
{
  AST *root = NULL;
  
	zzline = 1;
  ANTLR(sordesc(&root), f);
  
	if ( found_error ) return NULL;
  
	if ( print_guts ) {
    fprintf(stderr, "Internal Represenation of Tree Grammar:\n");
    lisp(root, stderr);
    fprintf(stderr, "\n");
  }
  
	last_valid_token = token_type;
  end_of_input = token_type++;/* end of input token type is 1 + last real token */
  epsilon = token_type++;		/* epsilon token type is 2 + last real token */
  wild_card = token_type++;	/* wild_card_token is 3 + last real token */
  token_association(end_of_input, "$");
  token_association(epsilon, "[Ep]");
  token_association(wild_card, ".");
  
	zzdouble_link(root, NULL, NULL);
  rules = root;
  if ( root!=NULL ) build_GLA(root);
  
	if ( print_guts ) {
    fprintf(stderr, "Internal Represenation of Grammar Lookahead Automaton:\n");
    dump_GLAs(root);
    fprintf(stderr, "\n");
  }
  return root;
}

void
#ifdef __USE_PROTOS
sordesc(AST**_root)
#else
sordesc(_root)
AST **_root;
#endif
{
  zzRULE;
  zzBLOCK(zztasp1);
  zzMake0;
  {
  int he=0,to=0;
  {
    zzBLOCK(zztasp2);
    zzMake0;
    {
    for (;;) {
      if ( !((setwd1[LA(1)]&0x1))) break;
      if ( (LA(1)==Header) ) {
        header(zzSTR); zzlink(_root, &_sibling, &_tail);
        he++;
      }
      else {
        if ( (LA(1)==Tokdef) ) {
          tokdef(zzSTR); zzlink(_root, &_sibling, &_tail);
          to++;
        }
        else break; /* MR6 code for exiting loop "for sure" */
      }
      zzLOOP(zztasp2);
    }
    zzEXIT(zztasp2);
    }
  }
  
  if ( he==0 && !Inline && !GenCPP ) warnNoFL("missing #header statement");
  if ( he>1 ) warnNoFL("extra #header statement");
  if ( to>1 ) warnNoFL("extra #tokdef statement");
  {
    zzBLOCK(zztasp2);
    zzMake0;
    {
    while ( (LA(1)==Action) && (setwd1[LA(2)]&0x2) ) {
      zzmatch(Action); 
      list_add(&before_actions, actiondup(LATEXT(1)));
 zzCONSUME;

      zzLOOP(zztasp2);
    }
    zzEXIT(zztasp2);
    }
  }
  {
    zzBLOCK(zztasp2);
    zzMake0;
    {
    if ( (LA(1)==81)
 ) {
      class_def(zzSTR); zzlink(_root, &_sibling, &_tail);
    }
    else {
      if ( (setwd1[LA(1)]&0x4) ) {
      }
      else {zzFAIL(1,zzerr1,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
    }
    zzEXIT(zztasp2);
    }
  }
  {
    zzBLOCK(zztasp2);
    zzMake0;
    {
    while ( (LA(1)==Action) && (setwd1[LA(2)]&0x8) ) {
      zzmatch(Action); 
      
      if ( CurClassName[0]!='\0' )
      list_add(&class_actions, actiondup(LATEXT(1)));
      else
      list_add(&before_actions, actiondup(LATEXT(1)));
 zzCONSUME;

      zzLOOP(zztasp2);
    }
    zzEXIT(zztasp2);
    }
  }
  {
    zzBLOCK(zztasp2);
    zzMake0;
    {
    while ( (LA(1)==NonTerm) ) {
      rule(zzSTR); zzlink(_root, &_sibling, &_tail);
      zzLOOP(zztasp2);
    }
    zzEXIT(zztasp2);
    }
  }
  {
    zzBLOCK(zztasp2);
    zzMake0;
    {
    while ( (LA(1)==Action) && (setwd1[LA(2)]&0x10) ) {
      zzmatch(Action); 
      
      if ( CurClassName[0]!='\0' )
      list_add(&class_actions, actiondup(LATEXT(1)));
      else
      list_add(&before_actions, actiondup(LATEXT(1)));
 zzCONSUME;

      zzLOOP(zztasp2);
    }
    zzEXIT(zztasp2);
    }
  }
  {
    zzBLOCK(zztasp2);
    zzMake0;
    {
    if ( (LA(1)==80)
 ) {
      zzmatch(80); 
      
      if ( CurClassName[0]=='\0' )
      err("missing class definition for trailing '}'");
 zzCONSUME;

    }
    else {
      if ( (setwd1[LA(1)]&0x20) ) {
      }
      else {zzFAIL(1,zzerr2,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
    }
    zzEXIT(zztasp2);
    }
  }
  {
    zzBLOCK(zztasp2);
    zzMake0;
    {
    while ( (LA(1)==Action) ) {
      zzmatch(Action); 
      list_add(&after_actions, actiondup(LATEXT(1)));
 zzCONSUME;

      zzLOOP(zztasp2);
    }
    zzEXIT(zztasp2);
    }
  }
  zzmatch(Eof);  zzCONSUME;
  zzEXIT(zztasp1);
  return;
fail:
  zzEXIT(zztasp1);
  found_error=1;  
  zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
  zzresynch(setwd1, 0x40);
  }
}

void
#ifdef __USE_PROTOS
header(AST**_root)
#else
header(_root)
AST **_root;
#endif
{
  zzRULE;
  zzBLOCK(zztasp1);
  zzMake0;
  {
  zzmatch(Header);  zzCONSUME;
  zzmatch(Action); 
  header_action = actiondup(LATEXT(1));
 zzCONSUME;

  zzEXIT(zztasp1);
  return;
fail:
  zzEXIT(zztasp1);
  found_error=1;  
  zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
  zzresynch(setwd1, 0x80);
  }
}

void
#ifdef __USE_PROTOS
tokdef(AST**_root)
#else
tokdef(_root)
AST **_root;
#endif
{
  zzRULE;
  zzBLOCK(zztasp1);
  zzMake0;
  {
  zzmatch(Tokdef);  zzCONSUME;
  zzmatch(RExpr); 
  {
    AST *dumb = NULL;
    zzantlr_state st; FILE *f; struct zzdlg_state dst;
    strcpy(tokdefs_file, LATEXT(1));
    strcpy(tokdefs_file, tokdefs_file+1); /* remove quotes */
    tokdefs_file[strlen(tokdefs_file)-1] = '\0';
    zzsave_antlr_state(&st);
    zzsave_dlg_state(&dst);
    define_num=0;
    f = fopen(tokdefs_file, "r");
    if ( f==NULL ) {found_error=1; err(eMsg1("cannot open token defs file '%s'", tokdefs_file));}
    else {ANTLRm(enum_file(&dumb), f, PARSE_ENUM_FILE);}
    zzrestore_antlr_state(&st);
    zzrestore_dlg_state(&dst);
    UserDefdTokens = 1;
  }
 zzCONSUME;

  zzEXIT(zztasp1);
  return;
fail:
  zzEXIT(zztasp1);
  found_error=1;  
  zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
  zzresynch(setwd2, 0x1);
  }
}

void
#ifdef __USE_PROTOS
class_def(AST**_root)
#else
class_def(_root)
AST **_root;
#endif
{
  zzRULE;
  zzBLOCK(zztasp1);
  zzMake0;
  {
  zzmatch(81); zzastDPush; zzCONSUME;
  {
    zzBLOCK(zztasp2);
    zzMake0;
    {
    if ( (LA(1)==NonTerm) ) {
      zzmatch(NonTerm); zzastDPush;
      strncpy(CurClassName,LATEXT(1),MaxAtom);
 zzCONSUME;

    }
    else {
      if ( (LA(1)==Token) ) {
        zzmatch(Token); zzastDPush;
        strncpy(CurClassName,LATEXT(1),MaxAtom);
 zzCONSUME;

      }
      else {zzFAIL(1,zzerr3,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
    }
    zzEXIT(zztasp2);
    }
  }
  if ( !GenCPP ) { err("class meta-op used without C++ option"); }
  zzmatch(OPT); zzastDPush; zzCONSUME;
  zzEXIT(zztasp1);
  return;
fail:
  zzEXIT(zztasp1);
  zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
  zzresynch(setwd2, 0x2);
  }
}

void
#ifdef __USE_PROTOS
rule(AST**_root)
#else
rule(_root)
AST **_root;
#endif
{
  zzRULE;
  zzBLOCK(zztasp1);
  zzMake0;
  {
  SymEntry *p; int trouble=0, no_copy=0;
  zzmatch(NonTerm); zzsubroot(_root, &_sibling, &_tail);
  
  (*_root)->file = CurFile;
  (*_root)->line = zzline;
  CurRule = zzaArg(zztasp1,1 ).text;
  p = (SymEntry *) hash_get(symbols, zzaArg(zztasp1,1 ).text);
  if ( p==NULL ) {
    p = (SymEntry *) hash_add(symbols, zzaArg(zztasp1,1 ).text, (Entry *) newSymEntry(zzaArg(zztasp1,1 ).text));
    p->token = NonTerm;
    p->defined = 1;
    p->definition = (*_root);
  }
  else if ( p->token != NonTerm ) {
    err(eMsg2("rule definition clashes with %s definition: '%s'", zztokens[p->token], p->str));
    trouble = 1;
  }
  else {
    if ( p->defined ) {
      trouble = 1;
      err(eMsg1("rule multiply defined: '%s'", zzaArg(zztasp1,1 ).text));
    }
    else {
      p->defined = 1;
      p->definition = (*_root);
    }
  }
 zzCONSUME;

  {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人av资源下载| 成人性视频免费网站| 一区二区三区欧美激情| 国产精品美女久久福利网站| 久久免费美女视频| 国产精品美女久久久久aⅴ国产馆| 国产日韩av一区二区| 亚洲欧美日韩在线播放| 亚洲一区二区三区视频在线播放| 亚洲一区二区精品3399| 青青草成人在线观看| 国产一区二区三区最好精华液| 国产999精品久久久久久绿帽| 成人精品亚洲人成在线| 欧美日韩视频专区在线播放| 欧美mv日韩mv亚洲| 亚洲欧洲中文日韩久久av乱码| 午夜视频在线观看一区| 国产sm精品调教视频网站| 91国偷自产一区二区使用方法| 91精品国产综合久久精品| 国产精品无码永久免费888| 亚洲一区二区四区蜜桃| 国产成人av影院| 69精品人人人人| 亚洲免费在线看| 成人av影院在线| 国产亚洲欧美激情| 免费成人结看片| 欧美日韩一区 二区 三区 久久精品| 精品国产麻豆免费人成网站| 亚洲国产精品久久久久婷婷884| 国产黄色精品视频| 2022国产精品视频| 美女久久久精品| 日韩免费成人网| 久久99精品国产麻豆婷婷洗澡| 欧美日本在线观看| 午夜婷婷国产麻豆精品| 欧美日韩久久不卡| 免费看日韩a级影片| 欧美日本一区二区三区| 香蕉成人啪国产精品视频综合网| 成人高清视频在线| 亚洲三级免费电影| 日本精品裸体写真集在线观看| 国产精品国产精品国产专区不蜜| jlzzjlzz欧美大全| 亚洲一区二区三区四区中文字幕| 色香蕉成人二区免费| 国产精品国产三级国产| 色爱区综合激月婷婷| 日韩影视精彩在线| 中文字幕av免费专区久久| kk眼镜猥琐国模调教系列一区二区| 亚洲视频你懂的| 欧美一级高清大全免费观看| 国产一区999| 亚洲免费观看高清| 欧美tickling网站挠脚心| 成人av在线影院| 乱一区二区av| 成人欧美一区二区三区黑人麻豆 | 在线观看国产一区二区| 日韩av在线发布| 一级日本不卡的影视| 日韩精品一区二区三区三区免费 | 亚洲第一主播视频| 日本一区二区三区电影| 欧美成人一级视频| 欧美剧情片在线观看| 一本色道久久综合亚洲aⅴ蜜桃 | 亚洲尤物视频在线| 国产精品污www在线观看| 欧美成人三级电影在线| 欧美精品乱码久久久久久按摩| 国产91在线看| 成人综合婷婷国产精品久久免费| 日本一不卡视频| 日本人妖一区二区| 日韩在线观看一区二区| 亚洲一二三专区| 亚洲国产精品久久久男人的天堂| 最好看的中文字幕久久| 国产精品美女www爽爽爽| 久久九九久精品国产免费直播| 日韩精品最新网址| 日韩欧美你懂的| 久久久精品tv| 亚洲欧美日韩精品久久久久| 亚洲美女偷拍久久| 亚洲在线视频免费观看| 亚洲成人av一区二区| 免费在线观看精品| 国产一区二区三区香蕉| www.亚洲激情.com| 在线日韩国产精品| 91精品国产综合久久精品麻豆| 精品久久久三级丝袜| 国产精品毛片a∨一区二区三区| 中文字幕av免费专区久久| 亚洲电影第三页| 国产精品99久久久久久宅男| 99视频有精品| 精品国产3级a| 亚洲国产综合人成综合网站| 精品一区中文字幕| 91成人免费在线视频| www激情久久| 亚洲不卡av一区二区三区| 精品综合免费视频观看| 不卡的电影网站| 久久免费精品国产久精品久久久久| 国产精品私人影院| 日本不卡不码高清免费观看| 成人毛片视频在线观看| 欧美成人video| 日韩精品电影在线| 欧美三区在线观看| 亚洲男人天堂av网| 国产成人夜色高潮福利影视| 日韩一区二区三区视频| 一区二区三区自拍| 国产电影精品久久禁18| 欧美mv日韩mv国产网站app| 亚洲一区二区视频| 欧美性感一区二区三区| 亚洲一区二区精品3399| 欧美在线看片a免费观看| 亚洲欧洲av在线| 91啪九色porn原创视频在线观看| 国产精品久久777777| 成人国产精品免费观看| 最新不卡av在线| 欧美在线视频全部完| 亚洲图片自拍偷拍| 欧美电影免费提供在线观看| 免费三级欧美电影| 欧美激情综合网| 在线看不卡av| 精品一区二区三区在线播放| 久久综合久色欧美综合狠狠| 国产91在线看| 夜夜精品浪潮av一区二区三区| 欧美美女黄视频| 波多野结衣中文一区| 亚洲第一主播视频| 国产精品热久久久久夜色精品三区 | 成人午夜免费电影| 亚洲高清不卡在线观看| 2欧美一区二区三区在线观看视频| 国产经典欧美精品| 日韩高清不卡一区| 国产精品毛片久久久久久久| 欧美日韩一区二区三区在线看| 国产精品亚洲视频| 偷拍一区二区三区| 国产精品久久久久久久久免费丝袜| 91久久精品国产91性色tv| 韩国精品主播一区二区在线观看| 国产精品久久久久四虎| 精品日韩在线观看| 7777精品伊人久久久大香线蕉经典版下载 | 色999日韩国产欧美一区二区| 久久99久久久久| 日韩影视精彩在线| 亚洲午夜视频在线| 亚洲日穴在线视频| 国产精品丝袜91| 久久综合999| 精品国产网站在线观看| 欧美电影免费观看高清完整版在线| 99久久er热在这里只有精品66| 精品制服美女久久| 韩国v欧美v日本v亚洲v| 看电影不卡的网站| 精品一区二区影视| 激情五月婷婷综合网| 狠狠色丁香婷婷综合久久片| 免播放器亚洲一区| 国产一区二区三区精品欧美日韩一区二区三区 | 日韩一区二区三免费高清| 欧美精品视频www在线观看| 欧美精品乱码久久久久久| 日韩一区二区电影| 久久女同精品一区二区| 亚洲三级小视频| 日本女优在线视频一区二区| 奇米影视7777精品一区二区| 久久精品久久久精品美女| 国产精品一级在线| 一本色道久久综合狠狠躁的推荐| 91成人看片片| 久久精品一区二区| 亚洲人成影院在线观看| 天堂精品中文字幕在线| 国产成人啪免费观看软件| 日本精品裸体写真集在线观看| 欧美一级午夜免费电影| 亚洲婷婷在线视频|