Linux源码编译bison和flex

GNU Bison 是一个通用的解析器生成器,它可以将注释的无上下文语法转换为使用 LALR(1) 解析表的确定性 LR 或广义 LR (GLR) 解析器。Bison 还可以生成 IELR(1) 或规范 LR(1) 解析表。一旦您熟练使用 Bison,您可以使用它开发广泛的语言解析器,从简单的桌面计算器中使用的解析器到复杂的编程语言。

在Qt源码编译中也会用到这两个软件。

编译环境:Linux kali64 4.9.0-kali3-amd64 #1 SMP Debian 4.9.18-1kali1 (2017-04-04) x86_64 GNU/Linux

gcc: gcc version 6.3.0 20170406 (Debian 6.3.0-12)

bison下载:http://mirrors.ustc.edu.cn/gnu/bison/bison-3.1.tar.xz

flex下载:https://github.com/westes/flex/releases/download/v2.6.4/flex-2.6.4.tar.gz

编译bison

$ tar -xzvf bison-3.1.tar.gz
$ cd bison-3.1
$ mkdir build && cd build
$ ../configure
$ make && make install

编译flex(必须先安装bison)

参考:Linux:编译flex、bison总结_wch0lalala的博客-CSDN博客

ubuntu下makeinfo安装,其实真正安装的是texinfo包

先下载以下源码安装包:

m4autoconfautomakelibtoolgettext

libtool-2.4.tar.xz http://mirrors.ustc.edu.cn/gnu/libtool/libtool-2.4.tar.xz

gettext-0.21.tar.xz http://mirrors.ustc.edu.cn/gnu/gettext/gettext-0.21.tar.xz

texinfo-6.7.tar.xz http://mirrors.ustc.edu.cn/gnu/texinfo/texinfo-6.7.tar.xz

help2man-1.47.9.tar.xz http://mirrors.ustc.edu.cn/gnu/help2man/help2man-1.47.9.tar.xz

编译并安装

$ tar xvJf  *.tar.xz
$ ./configure
$ make && make install
…
$ tar -xzvf flex-2.6.4.tar.gz
$ cd flex-2.6.4
$ sh autogen.sh
$ mkdir build && cd build
$ ../configure
$ make && make install

测试flex和bison

下载测试工程:https://github.com/liuyang1/flex-bison-example/archive/refs/heads/master.zip

$ unzip flex-bison-example-master.zip
$ cd flex-bison-example-master/
$ make
即可生成一个计算器
$ ./calc

  • 4
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以按照以下步骤在Linux下载和安装bison: 1. 首先,你需要下载bison的压缩包。你可以在这个链接中找到最新的bison版本:\[1\]。点击链接后,下载tar.gz文件。 2. 下载完成后,你需要解压缩bison的压缩包。在终端中,使用以下命令解压缩文件: ``` tar -xzvf bison-3.1.tar.gz ``` 3. 进入解压缩后的bison目录: ``` cd bison-3.1 ``` 4. 创建一个build目录,并进入该目录: ``` mkdir build && cd build ``` 5. 运行configure命令,用于配置bison编译选项: ``` ../configure ``` 6. 运行make命令,开始编译bison: ``` make ``` 7. 最后,运行make install命令,将编译好的bison安装到系统中: ``` make install ``` 完成以上步骤后,bison就成功安装在你的Linux系统中了。你可以通过运行bison命令来验证安装是否成功。希望这个回答对你有帮助! #### 引用[.reference_title] - *1* *2* [Linux源码编译bisonflex](https://blog.csdn.net/bai_ge_i_yin/article/details/121536878)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [【Linux 内核】编译 Linux 内核 ③ ( 安装 ncurses | 安装 flex | 安装 bison | 打开 Linux 内核编译配置...](https://blog.csdn.net/han1202012/article/details/123656662)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值