Как я могу прочитать файл на моем языке?
Я пытаюсь понять, как работают языки. Я хотел бы знать, как создать простую грамматику для чтения файлов с помощью 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+")