linux 软件开发小工具
2017-11-03 20:21
246 查看
yacc:
yacc(Yet Another Compiler Compiler),是一个经典的生成语法分析器的工具。yacc生成的编译器主要是用C语言写成的语法解析器(Parser),需要与词法解析器Lex一起使用,再把两部份产生出来的C程序一并编译。
分析程序生成器(parser
generator)是一个指定某个格式中的一种语言的语法作为它的输入,并为该种语言产生分析过程以作为它的输出的程序。在历史上,分析程序生成器被称作编译-编译程序(
compiler- compiler ),这是由于按照规律可将所有的编译步骤作为包含在分析程序中的动作来执行。现在的观点是将分析程序仅考虑为编译处理的一个部分,所以这个术语也就有些过时了。合并 LALR(1) 分析算法是一种常用的分析生成器,它被称作 Yacc( yet another compiler- compiler )。给出 Yacc 的概貌来,将使用Yacc为 TINY 语言开发一个分析程序。
bison
:
GNU
bison 是属于 GNU 项目的一个语法分析器生成器。Bison
把一个关于“向前查看 从左到右 最右”(LALR) 上下文无关文法的描述转化成可以分析该文法的 C 或 C++ 程序。它也可以为二义文法生成
“通用的 从左到右 最右” (GLR)语法分析器。
Bison是一种通用目的的分析器生成器。它将LALR(1)上下文无关文法的描述转化成分析该文法的C程序。 一旦你精通Bison,你可以用它生成从简单的桌面计算器到复杂的程序设计语言等等许多语言的分析器。
Bison向上兼容Yacc;所有书写正确的Yacc语法都应该可以不加更改地与Bison一起工作, 熟悉Yacc的人能毫不费力地使用Bison。
lint :
lint是最著名的C语言工具之一,
与大多数C语言编译器相比,lint可以对程序进行更加广泛的错误分析,是一种更加严密的编译工具。最初,lint这个工具用来扫描C源文件并对源程序中不可移植的代码提出警告。但是现在大多数lint实用程序已经变得更加严密,它不但可以检查出可移植性问题,而且可以检查出那些虽然可移植并且完全合乎语法但却很可能是错误的特性。
随着历史的推移,Lint后来形成了一系列的工具,包括PC-Lint/FlexeLint(Gimpel),LintPlus(Cleanscape)以及Splint。
m4:
m4 是一种宏处理器,它扫描用户输入的文本并将其输出,期间如果遇到宏就将其展开后输出。宏有两种,一种是内建的,另一种是用户定义的,它们能接受任意数量的参数。除了做展开宏的工作之外,m4 内建的宏能够加载文件,执行 Shell 命令,做整数运算,操纵文本,形成递归等等。m4 可用作编译器的前端,或者单纯作为宏处理器来用。
所有的 Unix 系统都会提供 m4 宏处理器,因为它是 POSIX 标准的一部分。通常只有很少一部分人知道它的存在,这些发现了 m4 的人往往会在某个方面成为专家。这不是我说的,这是 m4 手册说的。
yacc(Yet Another Compiler Compiler),是一个经典的生成语法分析器的工具。yacc生成的编译器主要是用C语言写成的语法解析器(Parser),需要与词法解析器Lex一起使用,再把两部份产生出来的C程序一并编译。
分析程序生成器(parser
generator)是一个指定某个格式中的一种语言的语法作为它的输入,并为该种语言产生分析过程以作为它的输出的程序。在历史上,分析程序生成器被称作编译-编译程序(
compiler- compiler ),这是由于按照规律可将所有的编译步骤作为包含在分析程序中的动作来执行。现在的观点是将分析程序仅考虑为编译处理的一个部分,所以这个术语也就有些过时了。合并 LALR(1) 分析算法是一种常用的分析生成器,它被称作 Yacc( yet another compiler- compiler )。给出 Yacc 的概貌来,将使用Yacc为 TINY 语言开发一个分析程序。
bison
:
GNU
bison 是属于 GNU 项目的一个语法分析器生成器。Bison
把一个关于“向前查看 从左到右 最右”(LALR) 上下文无关文法的描述转化成可以分析该文法的 C 或 C++ 程序。它也可以为二义文法生成
“通用的 从左到右 最右” (GLR)语法分析器。
Bison是一种通用目的的分析器生成器。它将LALR(1)上下文无关文法的描述转化成分析该文法的C程序。 一旦你精通Bison,你可以用它生成从简单的桌面计算器到复杂的程序设计语言等等许多语言的分析器。
Bison向上兼容Yacc;所有书写正确的Yacc语法都应该可以不加更改地与Bison一起工作, 熟悉Yacc的人能毫不费力地使用Bison。
lint :
lint是最著名的C语言工具之一,
与大多数C语言编译器相比,lint可以对程序进行更加广泛的错误分析,是一种更加严密的编译工具。最初,lint这个工具用来扫描C源文件并对源程序中不可移植的代码提出警告。但是现在大多数lint实用程序已经变得更加严密,它不但可以检查出可移植性问题,而且可以检查出那些虽然可移植并且完全合乎语法但却很可能是错误的特性。
随着历史的推移,Lint后来形成了一系列的工具,包括PC-Lint/FlexeLint(Gimpel),LintPlus(Cleanscape)以及Splint。
m4:
m4 是一种宏处理器,它扫描用户输入的文本并将其输出,期间如果遇到宏就将其展开后输出。宏有两种,一种是内建的,另一种是用户定义的,它们能接受任意数量的参数。除了做展开宏的工作之外,m4 内建的宏能够加载文件,执行 Shell 命令,做整数运算,操纵文本,形成递归等等。m4 可用作编译器的前端,或者单纯作为宏处理器来用。
所有的 Unix 系统都会提供 m4 宏处理器,因为它是 POSIX 标准的一部分。通常只有很少一部分人知道它的存在,这些发现了 m4 的人往往会在某个方面成为专家。这不是我说的,这是 m4 手册说的。
相关文章推荐
- Linux平台下程序开发必不可少的工具软件
- Linux环境下的软件开发工具——简化版
- 【这些年】Linux C/C++软件开发用过的工具
- 【这些年】Linux C/C++软件开发用过的工具
- Linux下常用软件,Linux下开发工具下载地址
- 诺基亚推出Linux版Java软件开发工具
- 关于Linux操作系统下软件开发工具的选择
- [开发工具] Linux下常用的软件
- Linux软件开发相关的编译工具
- Linux平台下基于BitTorrent应用层协议的下载软件开发--tracker服务器交互模块(tracker.h)
- ARM开发软件及实用工具介绍
- iPhone手机软件开发工具整理(图)
- PHP 在linux下的开发工具
- Linux开发工具之makefile
- 嵌入式Linux开发工具之gcc编译器
- Linux下软件包管理工具dpkg和GNU C语言库的学习
- WinForm版软件快速开发工具平台,生成B/S软件项目
- 《软件开发这点儿事儿 软件开发工具手册》 - 书摘精要
- IBM AS/400 应用系统开发的软件工程工具分析
- 软件开发工具选择