Mac编译运行 Lex文件
Lex是LEXical compiler的缩写,是Unix环境下非常著名的工具,主要功能是生成一个词法分析器(scanner)的C源码,描述规则采用正则表达式(regular expression)。
本文使用flex进行编译。
- 操作步骤
- 在终端输入以下命令
- 使用cc命令进行编译
- 运行文件
- Shell脚本
操作步骤
在终端输入以下命令
使用flex命令对其进行解释
flex test.l
//generates a new file named "lex.yy.c"
使用cc命令进行编译
//this action would generate a file named a.out which would be used for reading inputs and print outputscc lex.yy.c -ll
//如果不是在mac上,是用参数-lfl
注意 生成的lex.yy.c编译可能会出现错误
error: non-ASCII characters are not allowed outside of literalsand identifiers
打开lex.yy.c发现自动生成的代码中,双引号“”为中文字符。将其修改为ASCII英文字符后再次编译即可通过。
运行文件
./a.out //run the file and type in inputs from your command line
1
Shell脚本
该脚本完成了上述所有功能。
运行方式:xxx.sh lex文件名.l 输出文件名.o
Windows系统将-ll替换为-lfl即可使用
#!/bin/bash
if [ $# = 0 ]
thenecho -e "Usage: $0 [Input.l] [Output.o]"exit 1
fi flex $1
sed -i '' "s/\“/\"/g" lex.yy.c
sed -i '' "s/\”/\"/g" lex.yy.cif [ $# = 2 ]
thencc lex.yy.c -ll -o $2echo "Generated $2!"
else cc lex.yy.c -ll echo "Generated a.out!"
fi./$2
Mac编译运行 Lex文件相关推荐
- 命令行编译运行CSharp文件
命令行编译运行CSharp文件 找到csc.exe所在的路径.如我本机上为"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727" 在环境变量 ...
- winehq-stable-5.0 Download For Mac 在Mac上运行exe文件
winehq-stable-5.0 Download For Mac 在Mac上运行exe文件 点击下载 (访问密码:312306)
- 如何解决命令行编译运行Java文件时报错Could not find or load main class ...
前言 以前一直用Eclipse来运行Java程序,从未在命令行中编译运行过Java文件.直到最近某次运行别人写的bat文件时,出现"Could not find or load main c ...
- cmd编译运行Java文件详解
①准备工作 首先用记事本编写HelloWorld.java放至G:\Javaspace路径 public class HelloWorld{ public static void main(Strin ...
- idea编译运行单个文件解决办法(已解决)
idea默认运行单个文件总是会编译其他类,对新手写单个类不是很友好,其他博客的方法也只是删除其他类的bulid,并没有一个删除总的编译方法,按照以下流程就可以让idea运行单个文件 打开运行配置 把当 ...
- codeblocks编译运行c++文件显示“不支持的16位应用程序,与64位版本的Windows不兼容”的解决办法
有一天我想写一个东西来实现一下自己脑子里的思路,编译运行的时候却显示了这个东西 我上网查了很多,有人说应该把腾讯手游助手等腾讯的游戏软件卸载,可是等我卸载后却并没有解决问题. 后来,我突发奇想打开了以 ...
- linux 编译运行c文件
在ubuntu安装gcc 编辑 test.c /* Not stdio.h */ #include <unistd.h>void main() {char str[100];/*Write ...
- mac终端运行python文件
如图,要运行的文件叫做cream01.py,他保存在桌面,路径为/Users/chen/Desktop 第一步:跳转至文件保存的路径下:cd /Users/chen/Desktop 第二步:运行p ...
- Java--Mac系统终端编译运行java文件
首先声明一下,本博客是建立在Mac电脑上已经安装好了JDK,至于怎么安装JDK百度一下或者参考博客 1.我们先来验证一下是否安装成功,打开终端,输入"java -version"命 ...
最新文章
- 互联网产品各阶段的标准流程文档
- 在Linux下使用screen使用退出远程终端后程序依然自动进行
- 开放报名 | 阿里云 Serverless 研修班走进四川大学
- pymongo查询列表元素_散列表:如何实现word编辑器的拼写检查?
- makefile例子(经典)
- mysql登陆三小时平均值图片_Mysql每小时平均值,间隔从半小时开始
- 软件变更控制 - 控制成本溢出
- esp8266电池供电方案_普通照明、应急照明、事故照明系统的9种设计方案解读,收藏好!...
- git fatal: destination path ‘**‘ already exists and is not an empty directory.解决
- 硬盘pe安装红旗linux系统,WinPE 安装操作系统详细图解(图文教程)
- 推荐几本英文写作的好书
- 中富之命能有多少钱_一般算命的都说中富 请问,褔贵之命,怎么解释,一般算命都会说,富贵命...
- 壮游奇迹哪个服务器稳定,壮游奇迹MU官方选哪个区好呢?
- 翻译: 人工智能的时代的教育将比上一代富豪的孩子更受益 慕课大规模开放在线课程(MOOC)
- 我要减肥~~~~~!!!(信誓旦旦)
- Linux C 两种方法实现复制拷贝文件
- 科密指纹考勤机B329采集
- 【转载】Python遍历pandas数据方法总结
- 由于短期理财基金到期的最后一天是按活期利率盘算
- 高斯曲线拟合推导过程