Источник: Christine Daniloff |
Ученые Лаборатории компьютерных наук и искусственного интеллекта Массачусетского технологического института реализовали две системы, автоматизирующие труд программистов. Первая из них преобразует текстовые описания поисковых запросов в регулярные выражения. Например, если ввести в систему текст «все трехбуквенные слова, начинающееся на X», то она выдаст строчку \bX[A-Za-z]{2}\b.
Вторая система автоматически генерирует программы для разбора различных форматов файлов по их текстовым спецификациям, написанным на естественном языке. Систему проверили на ста с лишним описаниях, подготовленных для олимпиады по программированию, и по 80% из них была сгенерирована работоспособная программа разбора формата. В остальных случаях в описаниях иногда достаточно было заменить несколько слов, чтобы система выдала действующий разборщик.
Генератор действует, пробуя различные варианты разборщика формата на образцах файлов: если на каком-либо созданная автоматически программа не срабатывает, система немного меняет свою интерпретацию описания. На стандартном ноутбуке для всех ста с лишним спецификаций разборщики были сгенерированы всего за 10 минут.