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

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

?? libparam.y

?? disksim是一個非常優秀的磁盤仿真工具
?? Y
字號:
/* libparam (version 1.0) * Authors: John Bucy, Greg Ganger * Contributors: John Griffin, Jiri Schindler, Steve Schlosser * * Copyright (c) of Carnegie Mellon University, 2001-2008. * * This software is being provided by the copyright holders under the * following license. By obtaining, using and/or copying this * software, you agree that you have read, understood, and will comply * with the following terms and conditions: * * Permission to reproduce, use, and prepare derivative works of this * software is granted provided the copyright and "No Warranty" * statements are included with all reproductions and derivative works * and associated documentation. This software may also be * redistributed without charge provided that the copyright and "No * Warranty" statements are included in all redistributions. * * NO WARRANTY. THIS SOFTWARE IS FURNISHED ON AN "AS IS" BASIS. * CARNEGIE MELLON UNIVERSITY MAKES NO WARRANTIES OF ANY KIND, EITHER * EXPRESSED OR IMPLIED AS TO THE MATTER INCLUDING, BUT NOT LIMITED * TO: WARRANTY OF FITNESS FOR PURPOSE OR MERCHANTABILITY, EXCLUSIVITY * OF RESULTS OR RESULTS OBTAINED FROM USE OF THIS SOFTWARE. CARNEGIE * MELLON UNIVERSITY DOES NOT MAKE ANY WARRANTY OF ANY KIND WITH * RESPECT TO FREEDOM FROM PATENT, TRADEMARK, OR COPYRIGHT * INFRINGEMENT.  COPYRIGHT HOLDERS WILL BEAR NO LIABILITY FOR ANY USE * OF THIS SOFTWARE OR DOCUMENTATION.   */%{#include <stdlib.h>#include <stdio.h>#include <string.h>#include <libddbg/libddbg.h>#include "libparam.h"#define YYERROR_VERBOSEvoid yyerror (char *s) {  fprintf(stderr, "*** error: on line %d of %s: ", lp_lineno, lp_filename);  fprintf(stderr, "%s\n", s);}%}%token LBRACE RBRACE SEMI EQUAL TRUE FALSE DECINT HEXINT FLOAT STRING%token LBRAK RBRAK COMMA QU COLON NEWLINE SOURCE DOTDOT /* these are all keywords */%token AS INSTANTIATE TOPOLOGY%union {  double d;  int i;  char *s;  struct lp_block *b;  struct { struct lp_block **b; int blen; } blocks;  struct lp_param *p;  struct { struct lp_param **p; int plen; } params;  struct lp_list *l;  struct lp_value *v;  struct { struct lp_topospec *l; int len; } topo;  struct lp_inst *inst;}%type <b> BLOCKDEF BLOCKVAL%type <blocks> BLOCKS%type <d> FLOAT%type <i> HEXINT DECINT NUM %type <s> STRING%type <p> PARAM%type <p> EXP%type <params> EXPS%type <l> LIST LITEMS%type <v> VALUE%type <topo> TOPOSPEC%type <inst> INST%%BLOCKS: { }| BLOCKS TOPOLOGY TOPOSPEC {/*      printf("blocks topospec\n"); */  lp_new_tl_topo($3.l, lp_filename);    load_topo($3.l, $3.len);}| BLOCKS BLOCKDEF { /*    printf("blocks blockdef\n"); */  lp_new_tl_block($2, lp_filename);  load_block($2); }/*  | BLOCKS INSTANTIATE LIST AS STRING { */| BLOCKS INST {     lp_new_tl_inst($2, lp_filename);  lp_inst_list($2);}/* | STRING EQUAL BLOCKVAL { * printf("global var assignment %s\n", $1); * globalvar($1, $3); * }  */;INST: INSTANTIATE LIST AS STRING {  $$ = malloc(sizeof(struct lp_inst));  $$->source_file = lp_filename;  $$->l = $2;  $$->name = $4;};TOPOSPEC: STRING STRING LIST {/*    printf("topospec\n"); */  $$.l = malloc(sizeof(struct lp_topospec));  $$.l->source_file = lp_filename;  $$.len = 1;  $$.l[0].type = $1;  $$.l[0].name = $2;  $$.l[0].l = $3;}/*  | STRING LIST { *//*    int c; *//*    int c2 = 0; *//*    $$.l = malloc($2->values_len * sizeof(struct lp_topospec)); *//*    bzero($$.l, $2->values_len * sizeof(struct lp_topospec)); *//*    $$.len = $2->values_len; *//*    if($2) for(c = 0; c < $2->values_len; c++) { *//*      if(!($2->values[c])) continue; *//*      $$.l[c2].name = $2->values[c]->v.s; *//*      $$.l[c2].type = $1; *//*      $$.l[c2].l = 0; *//*      c2++; *//*    } */  /* else ... better be a device *//*  } */;BLOCKDEF: STRING STRING LBRACE EXPS RBRACE{  struct lp_block *parent;/*    printf("start of blockdef: %s\n", $2); */  $$ = malloc(sizeof(struct lp_block));  bzero($$, sizeof(struct lp_block));  $$->source_file = lp_filename;  $$->type = lp_mod_name(lp_lookup_base_type($1,0));  if($$->type == -1) {    fprintf(stderr, "*** error: Unknown block type: %s\n", $1);    YYABORT;  }  if(lp_lookup_type($2,0)) {    fprintf(stderr, "*** warning: ignoring redefinition of %s\n", $2);  }  else {    parent = lp_lookup_spec($1);    $$->name = $2;    $$->params = $4.p;    $$->params_len = $4.plen;    if(lp_add_type($2, $1)) {      fprintf(stderr, "*** error: couldn't add type %s::%s\n", $1, $2);    }        if(parent) lp_setup_subtype(parent, $$);  }    free($1);};BLOCKVAL: STRING LBRACE EXPS RBRACE {  $$ = malloc(sizeof(struct lp_block));  bzero($$, sizeof(struct lp_block));  $$->source_file = lp_filename;  $$->name = 0;  $$->params = $3.p;  $$->params_len = $3.plen;  $$->type = lp_mod_name($1);  if($$->type == -1) {    fprintf(stderr, "*** error: no such module %s\n", $1);    YYABORT;  }  $$->loader = lp_modules[$$->type]->fn;  free($1);};EXPS: { $$.p = 0; $$.plen = 0; }| EXP { /*      printf("first exp\n");  */  $$.p = malloc(8 * sizeof(int *));   bzero($$.p, 8*sizeof(int *));   $$.plen = 8;   $$.p[0] = $1;}| LIST EQUAL VALUE {  int c; struct lp_param *tmp;/*    printf("another exp\n");  */  $$.p = malloc($1->values_len * sizeof(int *));  $$.plen = $1->values_len;  bzero($$.p, $1->values_len * (sizeof(int *)));  for(c = 0; c < $1->values_len; c++) {    if(!$1->values[c]) continue;    ddbg_assert($1->values[c]->t == S);    tmp = malloc(sizeof(struct lp_param));    tmp->name = $1->values[c]->v.s;    tmp->v = $3;    if(lp_add_param(&($$.p), &($$.plen), tmp)) YYABORT;  }}| EXPS COMMA LIST EQUAL VALUE {    int c; struct lp_param *tmp;  for(c = 0; c < $3->values_len; c++) {    if(!$3->values[c]) continue;    ddbg_assert($3->values[c]->t == S);    tmp = lp_new_param($3->values[c]->v.s, 0, $5);/* malloc(sizeof(struct lp_param)); *//*     tmp->name =  *//*     tmp->v = $5; */    if(lp_add_param(&($1.p), &($1.plen), tmp)) YYABORT;  }  $$ = $1;}| EXPS COMMA EXP{ /*    printf("nth exp.\n"); */  if(lp_add_param(&($1.p), &($1.plen), $3)) YYABORT;  $$ = $1;};EXP: PARAM EQUAL VALUE {    /* printf("got a param exp: %s (%s)\n", $1->name, $1->source_file); */    $$ = $1;/* malloc(sizeof(struct lp_param));  *//*   $$->source_file = lp_filename; *//*   $$->name = $1;  */  $$->v = $3;  };NUM: DECINT | HEXINT;LIST: LBRAK LITEMS RBRAK{  $$ = $2;};LITEMS:  {   $$ = lp_new_list();  /*  bzero($$, sizeof(struct lp_list)); */  /*  $$->values_len = 0; */  /*  $$ */}| VALUE {/*    printf("first list item\n"); */  $$ = lp_new_list();/*   bzero($$, sizeof(struct lp_list)); *//*   $$->values = malloc(8 * sizeof(int *)); *//*   bzero($$->values, 8 * sizeof(int *)); *//*   $$->values_len = 8; */  $$->values_pop = 1;   $$->values[0] = $1; }| STRING DOTDOT STRING {  char *s1, *s2;  char temp[1024];  int i1, i2, n, c;  if(dumb_split($1, &s1, &i1) || dumb_split($3, &s2, &i2)) {    fprintf(stderr, "*** error: bad lex range\n");    YYABORT;  }  /* done with these */  free($1);  free($3);  if(strcmp(s1,s2)) {    fprintf(stderr, "*** error: bad lex range\n");    YYABORT;  }  n = i2 - i1 + 1;  if(n <= 0) {    fprintf(stderr, "*** error: bad lex range\n");    YYABORT;  }  $$ = lp_new_list();/*   bzero($$, sizeof(struct lp_list)); *//*   $$->values_len = n; *//*   $$->values = malloc(n * sizeof(int *)); */  for(c = 0; c < n; c++) {    struct lp_value *v;    snprintf(temp, 1024, "%s%d", s2, c + i1);/*     $$->values[c] = malloc(sizeof(struct lp_value)); *//*     $$->values[c]->t = S; */    v = lp_new_stringv(strdup(temp));    //    $$->values[c]->v.s = strdup(temp);    $$ = lp_list_add($$, v);  }}| LITEMS COMMA STRING DOTDOT STRING {  char *s1, *s2;  char temp[1024];  int i1, i2, n, c;  struct lp_value *tmp;  if(dumb_split($3, &s1, &i1) || dumb_split($5, &s2, &i2)) {    fprintf(stderr, "*** error: bad lex range\n");    YYABORT;  }  /* done with these */  free($3);  free($5);  if(strcmp(s1,s2)) {    fprintf(stderr, "*** error: bad lex range\n");    YYABORT;  }  n = i2 - i1 + 1;  if(n <= 0) {    fprintf(stderr, "*** error: bad lex range\n");    YYABORT;  }  for(c = 0; c < n; c++) {    snprintf(temp, 1024, "%s%d", s2, c + i1);    tmp = lp_new_stringv(strdup(temp));/*       = malloc(sizeof(struct lp_value)); *//*     tmp->t = S; *//*     tmp->v.s = strdup(temp); */    $$ = lp_list_add($1, tmp);  }}| LITEMS COMMA VALUE {/*    printf("list item\n"); */  $$ = lp_list_add($1, $3);};VALUE: NUM {  $$ = lp_new_intv($1);  $$->source_file = lp_filename;}| FLOAT {  $$ = lp_new_doublev($1);  $$->source_file = lp_filename;}| STRING {   $$ = lp_new_stringv($1);  $$->source_file = lp_filename;}| LIST {  $$ = lp_new_listv($1);  $$->source_file = lp_filename;}| BLOCKVAL {  $$ = lp_new_blockv($1);  $$->source_file = lp_filename;  $$->t = BLOCK;}| BLOCKDEF {   $$ = malloc(sizeof(struct lp_value));  $$->source_file = lp_filename;  $$->v.b = $1;  $$->t = BLOCK;}| TOPOSPEC {/*    printf("topospec value\n"); */  $$ = malloc(sizeof(struct lp_value));  $$->source_file = lp_filename;  $$->v.t.l = $1.l;  $$->v.t.len = $1.len;  $$->t = TOPOSPEC;};PARAM: STRING {/*    printf("empty param\n");  */  $$ = calloc(1, sizeof(struct lp_param));  $$->name = $1;  $$->source_file = lp_filename;}| PARAM STRING {  char *tmp = calloc(2 * (strlen($1->name) + strlen($2)), sizeof(*tmp));   $$ = $1;  strcat(tmp, $1->name);  strcat(tmp, " ");  strcat(tmp, $2);  free($$->name); free($2);  $$->name = tmp;  };%%/*  void main(void) { */  //  printvars();/*    disksim =  *//*      disksim_initialize_disksim_structure(malloc(sizeof(struct disksim)), *//*  					 sizeof(struct disksim)); *//*    lp_init_typetbl(); *//*    disksim->startaddr = malloc(1<<24); *//*    disksim->curroffset = 0; *//*    disksim->totallength = 1<<24; *//*    top_file = 0; *//*    input_files[0] = disksim_param_create_buffer(stdin, 1<<14); *//*    yyparse(); *//*  } */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美视频在线观看视频| 粉嫩一区二区三区性色av| 精品亚洲成a人在线观看 | 精品国免费一区二区三区| 中文字幕av一区 二区| 日韩综合在线视频| 91国偷自产一区二区三区观看| 欧美成人a∨高清免费观看| 亚洲一区二区三区四区中文字幕| 国产一区二区精品久久99| 欧美乱妇15p| 亚洲一级二级三级| 一本大道av一区二区在线播放| ww久久中文字幕| 欧美aⅴ一区二区三区视频| 91官网在线观看| 中文字幕在线观看不卡视频| 国产精品99久久久久久似苏梦涵| 3751色影院一区二区三区| 尤物视频一区二区| 91免费精品国自产拍在线不卡| 国产色婷婷亚洲99精品小说| 国产美女在线观看一区| 日韩欧美的一区| 强制捆绑调教一区二区| 91精品国产欧美日韩| 五月天欧美精品| 欧美美女网站色| 午夜精品一区二区三区三上悠亚| 欧美三区在线观看| 亚洲大片一区二区三区| 91麻豆精品久久久久蜜臀| 日日夜夜精品视频天天综合网| 在线视频欧美精品| 香蕉成人伊视频在线观看| 欧美日韩国产乱码电影| 日韩和欧美一区二区三区| 91精品黄色片免费大全| 麻豆一区二区在线| 久久综合九色综合97婷婷女人| 国产剧情一区在线| 国产欧美一区二区在线| av福利精品导航| 一区二区三区国产豹纹内裤在线| 欧美亚洲图片小说| 日韩电影在线看| 久久久久久久综合日本| 99精品欧美一区二区三区综合在线| **网站欧美大片在线观看| 在线精品亚洲一区二区不卡| 日韩精品电影一区亚洲| 精品国产sm最大网站免费看| 国产91精品一区二区麻豆亚洲| 最新日韩av在线| 制服丝袜在线91| 国产精品主播直播| 一区二区三区成人| 91麻豆精品国产自产在线| 国产成人福利片| 亚洲午夜精品在线| 国产亚洲一本大道中文在线| 色婷婷久久久久swag精品| 日本女人一区二区三区| 国产精品午夜在线观看| 色综合 综合色| 久久99国产精品久久99果冻传媒| 国产精品网友自拍| 欧美日本在线一区| 丰满岳乱妇一区二区三区| 亚洲一区自拍偷拍| 国产亚洲精品aa午夜观看| 欧美色涩在线第一页| 国产成人一区在线| 日韩影院免费视频| 亚洲女厕所小便bbb| 亚洲精品一区二区三区福利| 色国产综合视频| 国产伦精品一区二区三区免费迷| 亚洲一区二区三区激情| 欧美激情一区二区三区| 国产精品女同一区二区三区| 欧美一级日韩免费不卡| 色婷婷一区二区三区四区| 国内精品自线一区二区三区视频| 一区二区三区四区乱视频| 久久久综合网站| 91麻豆精品91久久久久同性| 91污在线观看| 国产不卡免费视频| 久久精品国产在热久久| 午夜精品久久久久久久久| 中文字幕字幕中文在线中不卡视频| 精品日韩av一区二区| 91精品国产色综合久久ai换脸| 91视视频在线直接观看在线看网页在线看| 青青草视频一区| 日韩成人一区二区| 亚洲一级二级在线| 夜夜嗨av一区二区三区四季av| 久久久www成人免费毛片麻豆 | 一区二区三区日韩| 国产欧美日韩三级| 久久女同性恋中文字幕| 555夜色666亚洲国产免| 欧美色视频在线观看| 色天天综合色天天久久| 成人av免费在线播放| 国产不卡高清在线观看视频| 久久国产麻豆精品| 久88久久88久久久| 国产中文字幕一区| 国产麻豆成人精品| 黑人精品欧美一区二区蜜桃| 日本亚洲欧美天堂免费| 日韩国产精品久久久| 日韩成人av影视| 蜜桃久久久久久| 国产真实乱偷精品视频免| 另类综合日韩欧美亚洲| 国内精品免费在线观看| 国产麻豆91精品| 99在线视频精品| 色综合天天综合在线视频| 色www精品视频在线观看| 欧美少妇性性性| 6080日韩午夜伦伦午夜伦| 欧美日韩一区二区三区在线看| 欧美日韩一区二区三区不卡| 91精品国产欧美一区二区成人| 日韩久久精品一区| 国产丝袜欧美中文另类| 自拍偷拍亚洲欧美日韩| 午夜精品免费在线| 精品一区二区三区香蕉蜜桃 | 色嗨嗨av一区二区三区| 欧美三级一区二区| 欧美成人r级一区二区三区| 久久精品人人爽人人爽| 欧洲日韩一区二区三区| 国产精品一二二区| 国产高清在线精品| 成人激情文学综合网| 在线观看91精品国产入口| 欧美电影在线免费观看| 久久久久久一级片| 亚洲精品视频自拍| 男女男精品视频| 波多野结衣中文一区| 欧美久久久久免费| 国产亚洲欧洲997久久综合 | 一级日本不卡的影视| 免费不卡在线视频| k8久久久一区二区三区| 91精品在线观看入口| 国产精品超碰97尤物18| 日本午夜一本久久久综合| 国产福利一区在线| 欧美日韩不卡一区| 国产精品嫩草久久久久| 奇米影视7777精品一区二区| 92精品国产成人观看免费| 91精品久久久久久蜜臀| 国产精品久久久久久久久晋中| 日本不卡高清视频| 欧美在线播放高清精品| 国产亚洲女人久久久久毛片| 三级影片在线观看欧美日韩一区二区 | 极品美女销魂一区二区三区免费| 97超碰欧美中文字幕| 日韩免费电影网站| 五月天激情小说综合| 99久久精品国产精品久久| 久久综合久久综合久久| 五月激情综合色| 欧美在线观看你懂的| 日本一区二区视频在线观看| 美国av一区二区| 欧美日韩国产成人在线免费| 最新日韩av在线| 成人app下载| 国产日韩精品一区| 国产高清成人在线| 久久免费视频色| 国产最新精品免费| 日韩欧美国产高清| 青草av.久久免费一区| 欧美日韩不卡在线| 亚洲午夜免费视频| 欧美性大战久久久久久久 | 久久综合中文字幕| 久久66热re国产| 日韩欧美亚洲国产另类| 日韩1区2区3区| 欧美一区二区私人影院日本| 亚洲成人免费在线| 欧美日韩在线播放一区| 亚洲成人av一区二区| 欧美日韩亚洲综合在线| 亚洲一区在线视频| 欧美精品日韩综合在线|