我一直在尋找這一段時間,雖然我從來沒有得到一個很好的答案。如何在php中創建語言
我正在尋找一個教程或代碼來解析定義的語法,如新語言。最好使用strtok或tokenizer。
我需要寫一個簡單的語言,我會稍後解析。
感謝您的任何幫助。
編輯 語言很簡單。基本上可變的賦值和循環以及條件檢查。沒有什麼花哨。
編輯 我想從我得到的答案,標題不應該是這樣的。 「如何在php中創建語言」的方法會更好。謝謝。
我一直在尋找這一段時間,雖然我從來沒有得到一個很好的答案。如何在php中創建語言
我正在尋找一個教程或代碼來解析定義的語法,如新語言。最好使用strtok或tokenizer。
我需要寫一個簡單的語言,我會稍後解析。
感謝您的任何幫助。
編輯 語言很簡單。基本上可變的賦值和循環以及條件檢查。沒有什麼花哨。
編輯 我想從我得到的答案,標題不應該是這樣的。 「如何在php中創建語言」的方法會更好。謝謝。
基本上,「製作語言」涉及幾個步驟。首先,你需要一個「詞法分析器」,它將輸入分成屬於不同符號類的子字符串(如「標識符」,「數字」,「運算符」等)。其次,你寫下你的語言的語法,通常使用某種BNF。然後你
吃香蕉
使用一個叫做「語法分析器生成器」的程序,它把你的語法轉換成實際的語法分析器代碼,最後你將詞法分析器和分析器結合起來得到一個實際的編譯器。
通常,這種事情是用C或Java完成的,我從來沒有聽說過用php編寫的工作編程器。儘管如此,你可以使用php tokenizer作爲第一部分(詞法分析器) - 假設你的語言的語法與php相似 - 並嘗試使用http://pear.php.net/package/PHP_ParserGenerator來生成解析器。
對不起,如果這聽起來有點複雜,但事實確實如此。
謝謝。所以基本上,我必須做的是讓其餘的工作。感謝提升。我已經爲c做了一些教程,但希望php已經存在。我爲c做了一些教程,但希望PHP已經存在。 – frostymarvelous
經過多一點搜索。使用更好的搜索條件,我遇到了這個
此鏈接Any decent PHP parser written in PHP?討論了PHP的解析,使用PHP。
這對於OP的價值在於答案提供了幾種獲取解析器生成器的方法,一些解析器生成器可以在PHP中運行,這對他很有用。
語言打算做什麼?這應該是一個單一或多個通過解析器?新語言有多複雜? –
沒有足夠的信息。抱歉。 –
@nick。它用於模板。 @Bart,我遇到了與文檔有關的問題。由於沒有關於語法分析的細節,因此無法真正使用它們。對不起,以上,我有瀏覽器issues.no有關語法解析的詳細信息。對不起,我有瀏覽器問題。 – frostymarvelous