Автоматическая документация - лучший метод для создания быстрого парсера - PullRequest
0 голосов
/ 02 декабря 2009

У меня есть большой скрипт, который нужно редактировать конечным пользователям, поэтому он требует несколько лишних комментариев. Я использую макет для моих файлов, подобный этому

//********************
//
// FileName
//    This script contains:
//    - Function X - does something
//    - Function Y - does something else
//
//********************

//********************
// Function X
// does something (<< I'd only like to enter this part once)
//********************
// Code here...

//********************
// Function Y
// does something else
//********************
// Code here...

Я хочу создать простой синтаксический анализатор, который выполняет копирование / вставку сводок функций в заголовок файла. Я знаю несколько инструментов, которые могут помочь в этом, например, ANTLR и даже RegEx, но какой из них лучше?

1 Ответ

1 голос
/ 02 декабря 2009

С учетом двух упомянутых вами вариантов, ANTLR и Regex, я бы предложил ANTLR. ANTLR будет более гибким в долгосрочной перспективе, и я считаю, что вы должны быть в состоянии использовать его более эффективно (он разбирает на основе грамматики). Подходы Regex будут ограничены обычными языками, если только вы не добавите какую-то собственную логику и все такое.

В качестве примера, я подозреваю, что вам будет трудно идентифицировать комментарии внутри блоков по сравнению с внешними блоками с регулярным выражением. CFG должен быть в состоянии сделать такое различие просто отлично. Опять же, если у вас есть контроль над источником, вы можете просто набросать некоторые спецификации для того, какие типы комментариев появляются где ...

...