Вопрос
Я очень новичок в Ada, и я пытаюсь выполнить простую работу с текстом.Все, что я хочу сделать, это прочитать файл и удалить все, что не является буквой, пробелом или новой строкой.итак, убираем все знаки препинания и цифры.На других языках я бы просто создал простое регулярное выражение [^ a-zA-Z], посмотрел на каждый символ и удалил его, если он соответствует регулярному выражению, но, похоже, я не могу найти никакой документации по регулярным выражениям в Ada.Итак, есть ли регулярные выражения в Ada?Если нет, то каков наилучший способ для меня заняться простым редактированием текста, подобным этому?
большое спасибо, -джей Би
Решение
если вы используете компилятор GNAT, существует набор пакетов, называемых GNAT.RegExp
, GNAT.RegPat
и GNAT.Spitbol
создан для этой задачи.
имейте в виду, что это не стандартное регулярное выражение ala perl, а основано на SNOBOL4.однако преобразование из одного типа регулярного выражения в другой не должно быть очень сложным.
Другие советы
Возможно, вы захотите просмотреть этот пример и просто поискать символы, которые вы хотите проигнорировать, и не вставлять их в новую строку.
Какую версию Ada вы используете?
Я бы, наверное, посмотрел на Комариный снобол на твоем месте.
Однако для общего лексического анализа доступен проект (что-то вроде Boot's Spirit) под названием OpenToken ( Открытый токен ).Для чуть более сложных задач это может оказаться полезным.
Я не работал с современным воплощением, но в те времена, когда я был его руководителем, проект не зависел от компилятора.