AXForum  
Вернуться   AXForum > Прочие обсуждения > Курилка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.11.2015, 00:36   #1  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
прикольная лекция, красивая постановка задачи.
прикольная лекция, красивая постановка задачи.
https://www.youtube.com/watch?v=PARloe1mPkc

на видео снят только лектор, поэтому презентацию надо брать отсюда: http://old.compsciclub.ru/sites/defa...r_breslav.pptx

постановка задачи:
Есть код на исходном языке (например, на java), который генерирует строчку на другом "встроенном" языке (например, на sql). Создать инструмент, который, не запуская(!!!!) исходный код, ответит, является ли строка на "встроенном" языке синтаксически правильной для "встроенного" языка? А если не является, то указать в каких именно местах.

подход к решению задачи:
выполняется синтаксический анализ кода на исходном языке и строится регулярное выражение для строки встроенного языка. по регулярному выражению доказывается валидность для встроенного языка.

пример правильного Java-кода с синтаксическими ошибками в SQL:
Код:
public PreparedStatement selectOrders(int userId, boolean completedOnly, boolean ascOrder) {
  String sql = "SELECT id, date, title," + 
               "FROM Orders" +
               "WHERE (user_id=" + userId;
  if (completedOnly)
    sql += "AND (completed=FALSE)";
  sql += "ORDER BY date";
  sql += (ascOrder) ? "ASC" : "DESC";

  return ConnectionProvider.conn.prepareStatement(sql);
}
красиво, черт возьми.

upd: с 1:03:30 демонстрируется как это работает вживую https://youtu.be/PARloe1mPkc?t=1h3m30s

Последний раз редактировалось mazzy; 17.11.2015 в 08:28.
За это сообщение автора поблагодарили: gl00mie (1), SOVA (1), Дмитрий А.А. (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Лекция Шона Парента, главного учёного Adobe Systems и ответственного за Adobe Source Library mazzy Курилка 1 21.02.2011 17:36
Задачи на собеседовании в одну небезызвестную контору CDR Курилка 74 09.10.2008 22:22
Прикольная конструкция: оператор select с полем Gustav Детская 7 30.06.2006 11:32
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 21:51.