linux--解释器

1 简介

解释程序就是一个字符串的解释器。
编程是一个很宽泛的概念,从某种意义上来说所有的软件都是一种特定的语言,但根据程序本身的灵活性可以分为“硬编码”、“可配置”、“可控制”和“可编程”四类。如果一个程序的灵活性达到了“可编程”,它的配置文件就可以被看作一种“编程语言”,而该程序本身也就是一个“解释器”。

2 概念

在这里插入图片描述
在这里插入图片描述

2.1 词法分析

  • 直接扫描法,简单但是慢
  • 正则表达(有限状态自动机FA),对应Flex

2.2 语法分析

  • 自顶向下(展开),限制多
  • 自底向上(折叠),复杂,对应Bison[上下文无关语法]

3 工具选用

  • lex yacc
  • flex bison(lex yacc升级版)
  • flex++ bison++
  • flexcpp bisoncpp
  • reflex

4 步骤

4.1 安装flexc++、blexc++

apt install 时提示预装别的库工具,先安装,后安装flexc++、blexc++
https://gitlab.com/fbb-git/bisoncpp/-/tags 6.03.00版本
https://gitlab.com/fbb-git/flexcpp/-/tags 2.07.06版本

4.2 示例

参考

1、RE/flex
2、用C语言写解释器(一)——我们的目标
3、linux–Flex add Bison
4、Flex++ Bisonc++解析器?
5、linux–Flex add Bison
6、Writing a simple Compiler on my own - Bison basics
7、Writing Your Own Toy Compiler Using Flex, Bison and LLVM
8、使用FLEX BISON 和LLVM编写自己的编译器
9、梁肇新《编程高手箴言》
10、cfglp: A CFG (Control Flow Graph) Language Processor
11、Bisonc++介绍
12、Flexc++介绍
13、bisonc++仓库
14、flexc++仓库
15、卢涛、王哲、贺国睿、王祎,东南大学自动化学院 《新型工业机器人语言及解释器设计与实现》
16、加星 C++11标准Flex及Bison文件,请结合WinFlex&Bison编译调试
17、加星 Win flex-bison
18、加星 Win flex-bison开发环境配置
19、加星 如何在QT项目中集成Bison/Flex(Yacc/Lex)自动编译生成功能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

worthsen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值