.I 扩展名是做什么用的?
What is .I extension used for?
我正在按照 this 教程学习如何在 C++ 中创建编译器。但是在教程中作者创建了 tokens.I
文件用于词法分析。
谁能告诉我什么是 .I
用于 ??
的扩展名
谢谢
http://whatis.techtarget.com/fileformat/I-Intermediate-file-Borland-C
引用:
I is an intermediate preprocessor output file format used by Borland C++. I files are used to compile and communicate a stream of binary tokens between the compiler’s parsers. I files can also be used to compose textual outputs.
C 预处理器和 C 编译器之间的中间文件。所有的宏都在这里展开。
扩展名实际上是.l
(小写L),用于"lex"文件。
这里是编译器的一些基础知识,引用自http://dinosaur.compilertools.net/:
A compiler or interptreter for a programminning language is often decomposed into two parts:
1. Read the source program and discover its structure.
2. Process this structure, e.g. to generate the target program.
The task of discovering the source structure again is decomposed into subtasks:
a. Split the source file into tokens
b. Find the hierarchical structure of the program
还有很多工具可以为您完成任务 a,例如 Lex
、Flex
或 Re2c
。所以基本上你可以根据工具的语法在.l
文件中定义一些令牌解析规则(使用正则表达式),然后将它传递给那些工具,让他们为你做令牌解析。
我正在按照 this 教程学习如何在 C++ 中创建编译器。但是在教程中作者创建了 tokens.I
文件用于词法分析。
谁能告诉我什么是 .I
用于 ??
谢谢
http://whatis.techtarget.com/fileformat/I-Intermediate-file-Borland-C
引用:
I is an intermediate preprocessor output file format used by Borland C++. I files are used to compile and communicate a stream of binary tokens between the compiler’s parsers. I files can also be used to compose textual outputs.
C 预处理器和 C 编译器之间的中间文件。所有的宏都在这里展开。
扩展名实际上是.l
(小写L),用于"lex"文件。
这里是编译器的一些基础知识,引用自http://dinosaur.compilertools.net/:
A compiler or interptreter for a programminning language is often decomposed into two parts:
1. Read the source program and discover its structure. 2. Process this structure, e.g. to generate the target program.
The task of discovering the source structure again is decomposed into subtasks:
a. Split the source file into tokens b. Find the hierarchical structure of the program
还有很多工具可以为您完成任务 a,例如 Lex
、Flex
或 Re2c
。所以基本上你可以根据工具的语法在.l
文件中定义一些令牌解析规则(使用正则表达式),然后将它传递给那些工具,让他们为你做令牌解析。