Я только начинаю разбираться с ParseKit, прочитал «Основной синтаксис грамматики», но это только очень простое введение. Я быстро ушел в себя после того, как решил определить свою собственную грамматику. Куда мне идти отсюда?
Например, я хочу проанализировать файл журнала в очень нестандартном формате. Если разбить его на верхний и нижний колонтитулы, это будет мой BNF для первой строки заголовка:
<header-line-1> ::= <log-format> <log-id> "," <category> <EOL>
<log-format> ::= "Type A Logfile" | "Logfile II" | "Some Other Format"
<log-id> ::= "#" <long-int>
<category> ::= <some unknown string>
Как мне это определить, чтобы ParseKit понял? Я получил это далеко;
@start = header-line-1;
header-line-1 = log-format log-id "," category EOL;
log-format = 'Type A Logfile';
log-id = '#' ; // and then how to specify a long-int?!?
category = char+;
char = 'A' | 'a' | 'B' | 'b' | 'C'; //..etc... Surely not?!?
Я подозреваю, что должен быть хотя бы способ определить диапазон символов?
Конечно, книга, процитированная автором parsekit, вероятно, поможет мне, но было бы неплохо, если бы кто-нибудь помог мне начать работу с моим собственным небольшим примером, прежде чем я углублюсь в тему. Я только исследую идею, просто доказательство концепции.