Я только начинаю разбираться с 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, вероятно, поможет мне, но было бы хорошо, если бы кто-нибудь помог мне приступить к работе с моим собственным небольшим примером, прежде чем я углублюсь в тему. Я только исследую идею, просто доказательство концепции.