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