当前位置: 首页 > news >正文

网站关键词排名怎么提升中国光刻机最新消息

网站关键词排名怎么提升,中国光刻机最新消息,山西省建设厅政务中心网站,酒店团购的网站建设lex和yacc的使用很简单#xff0c;但环境配置却是各种问题#xff0c;本章说明lex和yacc在windows下的环境配置。 软件需求#xff1a; 系统 win7-64位(win7-32, win8, win10全部通过) c编译器#xff1a; vs2010(2008,2013,2015也全部通过) lex和yacc编译器#xff1a… lex和yacc的使用很简单但环境配置却是各种问题本章说明lex和yacc在windows下的环境配置。 软件需求 系统 win7-64位(win7-32, win8, win10全部通过) c编译器 vs2010(2008,2013,2015也全部通过) lex和yacc编译器 ParGen.exe 基本流程 安装Pargen.exe采用的默认目录安装在C:\Program Files (x86)\Parser Generator 2\ 安装vs2010这个各种教程不再赘述 启动Pargen程序并选择Project-ParserWizard… 选中ParserWizard开始工程的创建此处我创建功能命名为Test目录位置可自己选择目标语言为C编译器为vc(32-bit) 下一步选择是创建lex还是yacc还是两者兼有。此处我选择是lex和yacc都有准备实现一个不支持变量的计算器使用lex识别token使用yacc识别语法。 下一步设置yacc的文件名字以及使用的解析器此处我使用的默认选项不进行修改文件名默认为myparser.y 下一步设置lex的文件名以及使用的分析器的名字此处我使用的默认选项文件名默认为mylexer.l 点击完成按钮创建工程完毕同时有两个文件mylexer.l 和myparser.y 工程的管理可使用window-project菜单查看工程下的所有文件 当你点击文件编辑窗口的放大按钮会将其他的文件编辑覆盖此时可以使用window-project菜单查看也可以使用window-Tile vertically查看全部文件的平铺 编辑mylexer.l文件粘贴入以下内容 %{ //this code will be added into the header of generated .cpp file #include iostream #include myparser.h using namespace std;//already defined in yacc.y, use %token... //enum{LT, EQ, GT, IF, ELSE, ID, NUMBER, PLUS, MINUS, TIMES, OVER, INT, DOUBLE,CHAR, LP,RP};const char* tokenStr[] {LT, EQ, GT, IF, ELSE, ID, NUMBER, PLUS, MINUS, TIMES, OVER, INT, DOUBLE,CHAR}; static void print_token(int token, char* lex);%}%name mylexerdelim [ \t] ws {delim} letter [a-zA-Z] digit [0-9] id {letter}({letter}|{digit})* /* can support 12.34 */ number {digit}(\.{digit})?%% %{ //this code will be added into yyaction functionYYSTYPE YYFAR yylval *(YYSTYPE YYFAR*)yyparserptr-yylvalptr;//double yylval; %}{ws} {/* do nothing */} int {print_token(INT, yytext); return INT;} double {print_token(DOUBLE, yytext);} char {print_token(CHAR, yytext);} {print_token(PLUS, yytext); return PLUS;} - {print_token(MINUS, yytext); return MINUS;} * {print_token(TIMES, yytext); return TIMES;} / {print_token(OVER, yytext); return OVER;} ( {return LP;} ) {return RP;} \n {return EOL;} {id} { return ID;} {number} { yylval atof(yytext);return NUMBER;} //.* {return COMMENT;} . {printf(Mystery character %s\n, yytext); } %%static void print_token(int token, char* lex) { #ifdef LEX_DEUBcouttoken: token lex:lexendl; #endif }编译myparser.y文件粘贴入以下内容 %{ #include mylexer.h %}%name myparser // class definition {// place any extra class members here } // constructor {// place any extra initialisation code here }// destructor {// place any extra cleanup code here }// place any declarations here %include { #ifndef YYSTYPE #define YYSTYPE double #endif }%token NUMBER ID %token PLUS MINUS TIMES OVER %token LP RP EOL COMMENT %TOKEN INT DOUBLE CHAR%left PLUS MINUS %left TIMES OVER %right UMINUS%%lines : lines expr EOL { printf(%g\n, $2); }| lines EOL| lines COMMENT|;expr : expr PLUS expr { $$ $1 $3; }| expr MINUS expr { $$ $1 - $3; }| expr TIMES expr { $$ $1 * $3; }| expr OVER expr { $$ $1 / $3; }| LP expr RP { $$ $2; }| - expr %prec UMINUS { $$ -$2; }| NUMBER {$$$1;} //$$$1 can be ignored| ID //should be complemented; %%int main(int argc, char *argv[]) {printf(a cacluator which support ,-,*,/ and (): \n);printf( e.g. 12.23*(25)\n);int n 1;mylexer lexer;myparser parser;if (parser.yycreate(lexer)) {if (lexer.yycreate(parser)) {//lexer.yyin new ifstream(argv[1]);//lexer.yyout new ofstream(argv[2]);n parser.yyparse();//parse_tree.get_label();//parse_tree.gen_code(*lexer.yyout);}}getchar();return n; }点击Pargen右上角的编译build按钮会生成相应的.h和.cpp代码 新建vs2010工程并将生成的.h和.cpp代码加入到工程中。简单起见在comple\Test目录下创建vs工程vsTest 选择控制台工程 工程的目录以及工程名称vsTest点击确定按钮后 继续下一步配置 此处附件选项选择空项目然后点击完成按钮即完成vsTest工程创建 工程右键添加现有项即添加已经生成.h和.cpp文件 在vs界面点击编译按钮查看当前的编译情况会显示编译错误找不到yy的头文件这是因为并没有将Pargen安装后的头文件加入到工程的包含目录中 下面将Pargen安装后的头文件加入到工程include配置 在vs界面点击编译按钮查看编译情况。 当前头文件可以正常找到会出现大量的链接错误-link error。这是因为对应的lib文件还没有加载进来。 下面加入库文件加入库所在目录 加入要使用的库的名字:ylmtri.lib 注意使用分号隔开 再次点击编译按钮会发现可以编译但是运行的时候会出现ylmtri.dll的错误。这是因为我们使用动态dll库需要将对应的dll文件从Pargen目录复制到工程目录的exe文件同级目录下 下面开始将ylmtri.dll从Pargen目录复制到vsTest.exe同级目录 再次点击编译运行按钮可以正常运行效果如下 出处http://blog.csdn.net/lpstudy/article/details/51330063 在最后一步的过程中遇到了添加完ylmtri.dll仍然报错的情况也是比较尴尬在解决之后再修改。
http://www.zqtcl.cn/news/363529/

相关文章:

  • 做网站平台成本珠海自适应网站设计
  • 做网站手机端需要pc端的源代码吗经营网站需要注意什么
  • 域名购买之后怎么做网站做+淘宝客最大的网站是叫什么
  • 在线营销型网站wordpress 怎么添加即时联系窗口
  • 网站加图标网站开发属于无形资产
  • 个人网站开发与设计摘要企业营销策划心得体会
  • 专注苏州网站优化自建网站的优缺点
  • 网络建站怎么做js与asp.net做的网站
  • 个人网站设计理念自己做简历网站
  • 做网页设计的网站网站流量多少做网盟
  • 上海协会网站建设网站制作培训费用
  • 学会网站建设总结淮北市建市
  • 泉州开发网站的公司有哪些域名不用了需要注销吗
  • 重庆网站推广平台东莞整站优化火速公司
  • 商务网站建设综合实训网站推广效果怎么样
  • 成都品牌网站建设电话项目外包平台接活
  • 教育培训类网站模板上海有几个区最好
  • 公司网站维护怎么维护东莞网站建设it s
  • pc网站怎么做男科医院治疗一次2000元
  • 电子网站建设心得企业查询app排行榜
  • 杭州做网站的科技公司永川做网站的公司
  • 动物自己做的网站网站优化外包公司
  • 企业网站建设的三种方式并举例手机wap网站是什么
  • 做深圳门户网站起什么名字好建设网站对公司起什么作用是什么
  • 长春企业网站设计建设公司资质查询官网
  • 医疗网站前置审批查询免费网站建设可信赖
  • 摄影师个人网站模板宝坻集团网站建设
  • 比较多人用什么网站做推广wordpress数据库表管理系统
  • 网页开发和游戏开发东莞优化怎么做seo
  • 北京网站搭建开发高级网页设计教程