[英]Example of how to use PEG.js
我在玩PEG.js 。
我創建了一些簡單的代碼來接受 [LettersNumbers] 形式的輸入:
這是代碼:
start = expression
expression = text + number
text =
a: [a-z]+
{return a.join("");}
number =
b:[0-9]+
{return b.join("");}
這里:在線版本可以測試代碼並下載解析器,另外我下載了peg.js本身。
不幸的是,文檔非常稀少。 我試過:
<script src="peg-0.9.0.min.js"></script>
<script src="parser.js"></script>
<script>
var parser = new PEG;
parser.parse("test123");
</script>
但是得到了這些錯誤:
未捕獲的 ReferenceError:未定義模塊
未捕獲的類型錯誤:PEG 不是函數
有人可以為我提供一個工作示例嗎? 我只需要將生成的 js 文件集成到網站中。
此答案假定您希望繼續使用 PEG.js 在線版本來構建解析器。
如果您在網頁中生成解析器,則只需要peg-0.9.0.min.js
。 由於您使用 PEG.js 在線版本來生成解析器,因此您不需要這樣做。
您確實需要包含下載的parser.js
。 需要在 PEG.js 網頁版中指定瀏覽器友好的全局變量並重新下載。
此示例使用PARSER
:
之后,您可以使用:
<script src="parser.js"></script>
<script>
PARSER.parse("test123");
</script>
如果你想在網絡上使用它,你需要下載瀏覽器版本,或者從 CDN 引用它。
此外,您需要使用其javascriptAPI來創建解析器。
// One line version of your grammer. var parser = PEG.buildParser('start = expression;expression = text + number;text = a: [az]+{return a.join("");};number = b:[0-9]+{return b.join("");}'); console.log(parser.parse("test123"));
<script src="https://cdnjs.cloudflare.com/ajax/libs/pegjs/0.7.0/peg.min.js"></script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.