gawk1 01原始碼分析awk y衝突了

2021-09-29 09:12:40 字數 1335 閱讀 1967

gawk1.01原始碼分析awk.y衝突了

yang@desktop-v9hs3b6:~/gawk101/gawk$ echo "hello:ok" | ./gawk 'begin

> '

hello ok

看到沒,單獨是可以執行的。

但把awk指令寫到檔案中,再測試一下,其中t.awk內容如下:

yang@desktop-v9hs3b6:~/gawk101/gawk$ cat t.awk

begin

可執行時,報錯了。

yang@desktop-v9hs3b6:~/gawk101/gawk$ echo "hello:ok" |./gawk -f t.awk

ambiguity detected.

option 1,

whitespace ->

whitespace ->

newline

option 2,

whitespace ->

newline

error near line 2,  '   fs=":"'

syntax is ambiguous

真是麻煩。

稍微修改一下檔案,如下:

yang@desktop-v9hs3b6:~/gawk101/gawk$ cat t.awk

begin

再執行時,錯誤又變了。

yang@desktop-v9hs3b6:~/gawk101/gawk$ echo "hello:ok" |./gawk -f t.awk

ambiguity detected.

option 1,

program ->

program ->

program

rule ->

pattern

action

newline

optional_newlines

rule ->

pattern ->

action ->

newline

optional_newlines ->

option 2,

program ->

program

rule ->

pattern

action

newline

optional_newlines ->

optional_newlines

newline

error near line 3,  '(end of file)'

syntax is ambiguous

這個還真是不好琢磨呀。

gawk1 01原始碼安裝 續

gawk1.01原始碼安裝 續 今天是個好天氣,我昨天發現有衝突,看了會書,還是不得要領,今天把衝突進行研究,發現 option 1,statements statements option 2,statements statement 選項1和選2只有乙個差異,就是分析語句 時,究竟是選擇 seg...

gnu gawk1 01原始碼分析

gnu gawk1.01原始碼分析 前段時間為了分析dfa實現正規表示式的原始碼,費盡心思。於是又轉而讀gawk的原始碼,這次發現竟然順暢很多了,現在有乙個關鍵的函式看不懂 interpret 程式把 awk f mm.awk file1 file2 file3 中mm.awk檔案中的原始碼讀入,進...

gawk 原始碼分析感想 感覺又有進步了

gawk 原始碼分析感想 感覺又有進步了 這幾天折騰裝置,為了打造更好的電腦環境。買了usb轉vga的裝置,可顯示時太慢了。於是,就還是用以前的電腦,打造雙屏環境,乙個顯示用支架,高點放,另乙個顯示器放桌子上,當累了就坐,坐累了,就站。站著時,還可以坐在高板凳了。慢慢看gawk,這次又仔細讀awk....