文件名称:lex_simple
-
所属分类:
- 标签属性:
- 上传时间:2012-11-16
-
文件大小:22.72kb
-
已下载:0次
-
提 供 者:
-
相关连接:无下载说明:别用迅雷下载,失败请重下,重下不扣分!
介绍说明--下载内容来自于网络,使用问题请自行百度
简单的lex编程,详细见英文描述
Running the Lex program
1. Write the Lex specifications as described above in a file, say, prog1.l
2. On moon.cse.yzu.edu.tw, do the following:
flex prog1.l (Produces lex.yy.c as the output)
gcc lex.yy.c -lfl (Compile the C file and link with Lex library)
a.out (Run the executable, and type the input, followed by )
or, if the input is in a file, say, hw1.in, then do the following:
a.out < hw1.in-Write the LEX program as per the specifications below.
--------------------------------------------------------------------------------
Recognize Action
Arithmetic (+,-,*, /) Print the operator along with the line number
Relational (<, <=, >, >=, !=, ==) Print the operator along with the line number
Assignment (=) Print the operator along with the line number
Parenthesis (left and right ones) No action for now
Some set of Reserved Words (for, if, while, int, ...) Print the Reserved word along with the line number
Identifiers Insert into a table and keep track of the line number
Numbers Print the number (should handle integer and floating point) along with the line number
Keep explicit track of the current line number by recognizing "\n" as a separate token. Do not use the LEX line number variable.
At the end, print the number of distinct identifiers and the line numbers on which they occur.
Sample Input:
int i, n, sum
i =
Running the Lex program
1. Write the Lex specifications as described above in a file, say, prog1.l
2. On moon.cse.yzu.edu.tw, do the following:
flex prog1.l (Produces lex.yy.c as the output)
gcc lex.yy.c -lfl (Compile the C file and link with Lex library)
a.out (Run the executable, and type the input, followed by )
or, if the input is in a file, say, hw1.in, then do the following:
a.out < hw1.in-Write the LEX program as per the specifications below.
--------------------------------------------------------------------------------
Recognize Action
Arithmetic (+,-,*, /) Print the operator along with the line number
Relational (<, <=, >, >=, !=, ==) Print the operator along with the line number
Assignment (=) Print the operator along with the line number
Parenthesis (left and right ones) No action for now
Some set of Reserved Words (for, if, while, int, ...) Print the Reserved word along with the line number
Identifiers Insert into a table and keep track of the line number
Numbers Print the number (should handle integer and floating point) along with the line number
Keep explicit track of the current line number by recognizing "\n" as a separate token. Do not use the LEX line number variable.
At the end, print the number of distinct identifiers and the line numbers on which they occur.
Sample Input:
int i, n, sum
i =
(系统自动生成,下载前可以参看下载内容)
下载文件列表
hw1
hw1.in
lex.yy.c
hw1.l
hw1.in
lex.yy.c
hw1.l
本网站为编程资源及源代码搜集、介绍的搜索网站,版权归原作者所有! 粤ICP备11031372号
1999-2046 搜珍网 All Rights Reserved.