我正在使用PegKit來構建一個簡單的域特定解釋型語言。PegKit字符串插值
我基本上擁有除插值字符串以外的所有工作。
的想法是爲了實現某種規則是這樣的:
atom = Number | stringLiteral | referenceType;
stringLiteral = "'"! (~"'" | "{"! expression "}"!)* "'"!;
referenceType = Word ('.' Word)*;
在「表達」生產已定義。
我在這裏插入了一些邏輯,從我需要的標記中建立一個字符串。如果我們遇到一個表達式,我會對它進行評估並將其添加到正在構建的字符串中。
原子和參考類型的製作完美解析。
但是,如果我嘗試解析類似'你好'的東西,當原子規則運行時,產生的令牌總是內置的Word類型。
我試過用美元符號和其他字符組合代替單引號來表示字符串的開始和結尾,但它永遠不會匹配。
任何想法?
Cheers
謝謝託德!這似乎解決了我的問題。 –