如何讓yylex后的代碼運(yùn)行
發(fā)布日期:2011-11-25 蘭生客服中心 瀏覽:2202
下面是利用lex寫(xiě)的一段代碼,
%%
.* printf(“hello\n”);
quit exit(0);
%%
main()
{
yylex();
printf(“bye\n”);
}
在沒(méi)有徹底明白lex編譯以后的文件流程的情況下,如何在程序結(jié)束時(shí)讓yylex()后的printf()打印出結(jié)果呢?我們執(zhí)行編譯成的可執(zhí)行文件會(huì)發(fā)現(xiàn)倘若我們只是用ctrl+c或quit退出程序是直接在當(dāng)前位置退出程序,后面的printf根本不會(huì)執(zhí)行。解決這個(gè)小問(wèn)題,下面我用一種間接的方法實(shí)現(xiàn)了它:
%{
#include<setjmp.h>
#include<signal.h>
jmp_buf position;
%}
%%
quit longjmp(position,1);
.* printf(“hello\n”);
%%
main()
{
extern int function();
if(setjmp(position)==1)
goto quit;
signal(SIGINT, function);
yylex();
quit:
printf(“bye\n”);
exit(0);
}
function()
{
longjmp(position,1);
}
以上代碼在AIX下調(diào)試通過(guò)
-
Lehmann數(shù)控回轉(zhuǎn)工作臺(tái)的顯著優(yōu)勢(shì)
◆緊湊且質(zhì)量較輕 相對(duì)于傳統(tǒng)數(shù)控回轉(zhuǎn)工作臺(tái)的一個(gè)顯著優(yōu)勢(shì):結(jié)構(gòu)極端緊湊,功率更不遜色分好,甚至更佳。 更少的干擾邊緣:(GD)-40%;(DD)-41% 可以極為方便地橫向操作軸(從上方) 可以十分迅速地夾緊切割刀具:最長(zhǎng)的耐用時(shí)間
2017-02-24 -
回轉(zhuǎn)工作臺(tái)的combiFlex模塊化系統(tǒng)優(yōu)勢(shì)
僅4種φ100-500mm的基本型號(hào),可以提供超過(guò)240種配置的數(shù)控回轉(zhuǎn)工作臺(tái)讓您選擇! combiFlex模塊化系統(tǒng)優(yōu)勢(shì)主要表現(xiàn)在: 高保值性:隨時(shí)適應(yīng)新的要求 型號(hào)多樣性:GD(大約-50%);DD(大約-50%) 每種尺寸
2017-02-20 -
pL Lehmann數(shù)控回轉(zhuǎn)工作臺(tái)3+2軸替代五軸機(jī)床的完整加工
用戶是一家鎖具和五金配件生產(chǎn)企業(yè),擁有近300名員工。它主要為商業(yè)樓宇開(kāi)發(fā)、生產(chǎn)和銷售門(mén)窗及外墻的固定、操作和密封配件。 用戶除了要生產(chǎn)出高品質(zhì)門(mén)五金配件外,創(chuàng)新、高效、高性價(jià)比的生產(chǎn)是確保經(jīng)濟(jì)成果的另一個(gè)支柱,根據(jù)各個(gè)組件的需要,提
2017-02-20 -
實(shí)例講解配套于高精密磨床的第四軸數(shù)控回轉(zhuǎn)工作臺(tái)
LapmasterWolters公司為了提高其精密磨床的生產(chǎn)力而配備了pL LEHMANN旋轉(zhuǎn)臺(tái)。高精密的表面加工當(dāng)然需要高品質(zhì)的工藝設(shè)備,LapmasterWolters數(shù)控外圓磨床,作為制造專用于表面精密加工的高精密磨床的國(guó)際市場(chǎng)領(lǐng)銜者
2017-02-20