如何使用 PEG.js 的示例
Example of how to use PEG.js
我在玩 PEG.js。
我创建了一些简单的代码,接受 [LettersNumbers]:
形式的输入
- abc123
- 你好98765
- 等等
这是代码:
start = expression
expression = text + number
text =
a: [a-z]+
{return a.join("");}
number =
b:[0-9]+
{return b.join("");}
此处:Online version the code can be tested and the parser downloaded, additionally I downloaded peg.js本身。
不幸的是,documentation 非常稀疏。我试过了:
<script src="peg-0.9.0.min.js"></script>
<script src="parser.js"></script>
<script>
var parser = new PEG;
parser.parse("test123");
</script>
但是出现了这些错误:
Uncaught ReferenceError: module is not defined
Uncaught TypeError: PEG is not a function
有人可以给我提供一个工作示例吗?我只需要将生成的 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>
如果你想在网络上使用它,你需要下载browser version,或者从CDN引用它。
此外,您需要使用其 javascriptAPI 创建解析器。
// One line version of your grammer.
var parser = PEG.buildParser('start = expression;expression = text + number;text = a: [a-z]+{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>
我在玩 PEG.js。
我创建了一些简单的代码,接受 [LettersNumbers]:
形式的输入- abc123
- 你好98765
- 等等
这是代码:
start = expression
expression = text + number
text =
a: [a-z]+
{return a.join("");}
number =
b:[0-9]+
{return b.join("");}
此处:Online version the code can be tested and the parser downloaded, additionally I downloaded peg.js本身。
不幸的是,documentation 非常稀疏。我试过了:
<script src="peg-0.9.0.min.js"></script>
<script src="parser.js"></script>
<script>
var parser = new PEG;
parser.parse("test123");
</script>
但是出现了这些错误:
Uncaught ReferenceError: module is not defined
Uncaught TypeError: PEG is not a function
有人可以给我提供一个工作示例吗?我只需要将生成的 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>
如果你想在网络上使用它,你需要下载browser version,或者从CDN引用它。
此外,您需要使用其 javascriptAPI 创建解析器。
// One line version of your grammer.
var parser = PEG.buildParser('start = expression;expression = text + number;text = a: [a-z]+{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>