2011-07-25 29 views
12

有誰知道在哪裏可以獲得編程語言LOGO的BNF或EBNF?用於LOGO編程語言的EBNF或BNF

+4

不知道誰投票決定關閉這是題外話。 「編程語言」甚至在標題... –

+0

看來這是它的方式到Reddit,我現在保護這個(將在幾天內不受保護)。這不是問題,只是一種預防措施。 –

+3

@Tim Post這使得它的reddit編程subreddit,我不明白這是如何造成報警。甚至可能是吸引新用戶的好機會? – ArtB

回答

12

一個BNF語法可能無法在某些情況下,太有用了......

寫LOGO這是與現有/歷史實現精確兼容並不是一件容易的事(我從事這樣的項目)。問題在於解析器沒有完成全部工作,評估者(解釋器)必須處理部分數據。考慮下面的例子:

PROC1 AB PROC2Ç

它可以(,C,A,B,PROC2())根據數目意味着PROC1(A,B,PROC2(C))或PROC1參數proc1 & proc2。

此外,我所瞭解的LOGO解釋器,例如Berkely LOGO,似乎從粗略的一瞥中不會寫出一個傳統的解析器,該解析器還可以訪問每個過程及其參數;相反,他們運行程序和程序'吃掉'他們需要的參數數量。這使解析器有點幼稚,主要角色是解釋器的角色,因此解析有點不同尋常。

+0

那麼你是說那些明確的語言不可能有語法嗎? –

+0

是的,我認爲沒有這樣的語法存在(無論歧義的),除非它是一個天真的語法是大多分析命令字符串原樣,只是解決了綴運營商和類似 –

+0

權,一個天真的解析器只會解析根據語法,但它不瞭解內置函數的* arity *。看起來,在解析時,在決定如何解析後續令牌之前,需要查找函數的* arity *。如你所說,這也更有意義,「隨你解析」。 –

2

沒有標準的LOGO實施。

你最佳的通話大概是看一個流行的實現的來源,如UCBLogo