【发布时间】:2019-12-28 02:49:06
【问题描述】:
如何以我的语言阅读文件?
我试图了解语言是如何工作的。我想知道如何使用Peg.js 创建一个简单的语法来读取文件。
在 Python 中是这样的
f= open("testfile.txt","w+")
Peg.js 中的语法示例
{
var keywords = ["f=", "open"];
}
Expression =
word:$(Word) { return { word: word } } /
keyword:$(Keyword) { return { keyword: keyword } }
// Word will match everything except "f" and "open"
Word = word:$([a-zA-Z]+) &{ return !keywords.includes(word) }
Keyword = [a-zA-Z]+
start
= f open symbol
open
= attribute:',"w+"'? __ { return write; }
= attribute:'include'? __ { return include; }
include
= include : "'_ exp:[a-zA-Z]+ _'" _ { return include; }
symbol
= '("' _ exp:[a-zA-Z]+ _ '")' { return [ exp.join('') ]; }
// optional whitespace
_ = [ \t\r\n]*
// mandatory whitespace
__ = [ \t\r\n]+
但我收到此错误:
第 21 行,第 3 列:应为“/”、“;”、注释、输入结尾、行尾、标识符或空格,但找到“=”。
示例:Peg.js
f= open("testfile.txt","w+")
【问题讨论】:
标签: javascript parsing compiler-construction peg