C指针教程:编译原理视角下的简易计算器实现方法?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1403个文字,预计阅读时间需要6分钟。
1. 打开cygwin,进入home目录,home目录在Windows系统的cygwin安装目录下映射为home目录。
2.在home目录中新建文件夹,文件夹命名为test1,并在文件夹中放置以下内容的文件test1.l:
/* 统计字数 */int chars=0;int words=0;1、打开cygwin,进入home目录,home目录在WINDOWS系统的cygwin安装目录映射为home目录。
2、首先,在home目录中新建文件夹,在文件夹中放置如下内容的test1.l
/*统计字数*/ %{ int chars=0; int words=0; int lines=0; %} %% [a-zA-Z]+ {words++;chars+=strlen(yytext);} \n {chars++;lines++;} . {chars++;} %% main(int argc,char**argv) { yylex(); printf("%d%d%d\n",lines,words,chars); }
然后调用flex生成词法分析器
Administrator@2012-20121224HD /home/flexlinux $ cd /home Administrator@2012-20121224HD /home $ cd flexlinux Administrator@2012-20121224HD /home/flexlinux $ flex test1.l Administrator@2012-20121224HD /home/flexlinux $
可以看到目录中的lex.yy.c就是刚生成的C源码,可分析词法。
本文共计1403个文字,预计阅读时间需要6分钟。
1. 打开cygwin,进入home目录,home目录在Windows系统的cygwin安装目录下映射为home目录。
2.在home目录中新建文件夹,文件夹命名为test1,并在文件夹中放置以下内容的文件test1.l:
/* 统计字数 */int chars=0;int words=0;1、打开cygwin,进入home目录,home目录在WINDOWS系统的cygwin安装目录映射为home目录。
2、首先,在home目录中新建文件夹,在文件夹中放置如下内容的test1.l
/*统计字数*/ %{ int chars=0; int words=0; int lines=0; %} %% [a-zA-Z]+ {words++;chars+=strlen(yytext);} \n {chars++;lines++;} . {chars++;} %% main(int argc,char**argv) { yylex(); printf("%d%d%d\n",lines,words,chars); }
然后调用flex生成词法分析器
Administrator@2012-20121224HD /home/flexlinux $ cd /home Administrator@2012-20121224HD /home $ cd flexlinux Administrator@2012-20121224HD /home/flexlinux $ flex test1.l Administrator@2012-20121224HD /home/flexlinux $
可以看到目录中的lex.yy.c就是刚生成的C源码,可分析词法。

