2017-01-07 38 views
0

我輸入的是一個遞歸結構如下(注意空白二號線):預期的任何字符,但輸入端發現

XXX @ {} YYY @ {ZZZ @ {} WWWW}
 

語法,因爲我看到,會讀它應該是這樣的:

start = item+ 
item = thing/space 
thing = '@{' item* '}' 
space = (!'@' .)+ 

但我得到的是

第2行第1列:期望的「@ {」,「}」或任何字符,但除了輸入的結尾。

我在做什麼錯?

回答

0

我根本不知道掛鉤,但快速查看文檔似乎說第4條規則中的點是問題所在。

start = item+ 
item = thing/space 
thing = '@{' item* '}' 
space = [ a-z]+ 

這將產生:

[ 
    [ 
     "x", 
     "x", 
     "x", 
     " " 
    ], 
    [ 
     "@{", 
     [], 
     "}" 
    ], 
    [ 
     " ", 
     "y", 
     "y", 
     "y", 
     " " 
    ], 
    [ 
     "@{", 
     [ 
     [ 
      " ", 
      "z", 
      "z", 
      "z", 
      " " 
     ], 
     [ 
      "@{", 
      [], 
      "}" 
     ], 
     [ 
      " ", 
      "w", 
      "w", 
      "w", 
      "w", 
      " " 
     ] 
     ], 
     "}" 
    ] 
] 
+0

爲什麼沒有點的工作?你有鏈接到文檔部分? – shuji

0

爲了使其運行,我修改了代碼:在線分析器與成功

start = item+ 
item = thing/space 
thing = '@{' item* '}' 
space =[^@}]+ 
相關問題