目錄
題目
1.首先需要有一個(gè)flex.exe文件
?2.在這個(gè)文件中寫(xiě).l文件
3.win+r打開(kāi)cmd命令
(1)進(jìn)入flex.exe文件所在文件夾
(2)使用dir命令查看目錄中的文件
?4.生成lex.yy.c文件
?5.生成lex.yy.exe文件
?(1)點(diǎn)擊文件—>打開(kāi)項(xiàng)目或文件
(2)選中l(wèi)ex.yy.c
(3)然后編譯運(yùn)行
(4)生成.exe文件
6.運(yùn)行結(jié)果
(1)運(yùn)行:輸入 lex.yy
?(2)輸入想要判斷的運(yùn)算式
題目
編寫(xiě)LEX文件:一個(gè)能識(shí)別所有運(yùn)算式中包含的符號(hào):數(shù)字(0-9)+,變量(a-zA-Z)+,運(yùn)算符:“+,-,*,/,(,)”。
?如輸入(a+10)*b,輸出:
?? OPERATER:(
?? WORD:a
?? OPERATER:+
?? NUMBER:10
?? OPERATER:)
?? OPERATER:*
?? WORD:b
1.首先需要有一個(gè)flex.exe文件
文件下載地址:
https://d0.ananas.chaoxing.com/download/d2d4fa63ad12b418b4750789a2f96ba2?at_=1665644185600&ak_=1a25479acd5967964e64a90cef0d0be9&ad_=befeb3e6dd0f4e91ed144cd992d9585a&fn=flex-2.5.4a-1
?2.在這個(gè)文件中寫(xiě).l文件
/*hw1.l*/
%option main
DIGIT [0-9]+
WORD [a-zA-Z]+
OPT ("+"|"-"|"*"|"/"|"("|")")
%%
{DIGIT} {printf("NUMBER:%s\n",yytext);}
{WORD} {printf("WORD:%s\n",yytext);}
{OPT} {printf("OPERATER:%s\n",yytext);}
. {}
%%
3.win+r打開(kāi)cmd命令
(1)進(jìn)入flex.exe文件所在文件夾
命令框直接輸入 E:(進(jìn)入E盤(pán))
然后使用cd命令進(jìn)入該文件夾
(2)使用dir命令查看目錄中的文件
確保有flex.exe和.l文件
?4.生成lex.yy.c文件
在命令框中輸入:flex homework1.l
返回文件夾中即可看到生成了lex.yy.c文件
?5.生成lex.yy.exe文件
這里我們需要用編譯器編譯運(yùn)行一下(我用的是Dev-C++,聯(lián)想商店可下載)
?(1)點(diǎn)擊文件—>打開(kāi)項(xiàng)目或文件
(2)選中l(wèi)ex.yy.c
根據(jù)剛剛的文件路徑找到文件
(3)然后編譯運(yùn)行
(可以直接按f9)
(4)生成.exe文件
6.運(yùn)行結(jié)果
(1)運(yùn)行:輸入 lex.yy
?(2)輸入想要判斷的運(yùn)算式
例:(a+10)*b
?文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-409455.html
?此題結(jié)束。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-409455.html
到了這里,關(guān)于編譯原理——編寫(xiě)LEX文件:一個(gè)能識(shí)別所有運(yùn)算式中包含的符號(hào)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!