Персональные инструменты
 

Nemerle.Peg — .NET генератор парсеров шаговой доступности (Денис Рысцов, ADD-2011)

Материал из CustisWiki

Перейти к: навигация, поиск

Аннотация

Докладчик
Денис Рысцов
  • Применение парсеров в прикладном программировании.
  • Описание PEG нотации.
  • Генерация парсеров по PEG нотации: packrat и top-down parser with backtracking.
  • Nemerle.Peg: разбор текста + построение объектной модели.
  • Пример парсера языка разметки JSON.
  • Преимущества и недостатки Nemerle.Peg.

Доклад ориентирован на:

  • Разработчиков, которые хотят узнать об описании парсеров (грамматик) в нотации PEG.
  • .Net разработчиков, которые хотят научиться писать парсеры (и забыть regex как страшный сон).

Видео

Скачать
http://ftp.linux.kiev.ua/pub/conference/peers/addconf/2011/2c7-parser-development-with-nemerle-rystsov.avs.avi


Для этого доклада нужен подкаст (аудиозапись)?

  •  Да, многое понятно и без видео части, есть смысл его прослушать.
  •  Нет, аудиозапись бесполезна (не понять без видео или вообще мало смысла в докладе).


Примечания и отзывы


Было круто, но по моему, подавляющая часть аудитории не понимала до конца, что, и, главное, КАК там происходит :) ©

Денис рассказал про то, где применяются парсеры в программировании, а затем рассказал про парсер Peg на языке Nemerle.

Так как я занимаюсь разработкой корпоративных приложений, то темя для меня была, в общем, мало знакомая, поэтому получил много новой информации, но не все переварил. Зато в будущем, когда возникнет необходимость написания собственного парсера, полученная информация пригодится и поможет глубже изучить данный вопрос. Денису спасибо за интересный доклад.

©

Доклад начался долгим рассказом про то, как докладчик делал какой-то опрос на хабре. Затем, ближе к теме, рассказал немного о парсерах, упомянул ANTLR — основной конкурент Nemerle.Peg (Peg — Parser Expression Grammar). Привёл для сравнения, статистику по количеству строк кода, необходимых для реализации парсера на ANTLR и Nemerle.Peg, по которой получилось, что последний в 4 раза лаконичнее. Дальше начался livecoding, от простых примеров написания парсера с использованием Nemerle.Peg до парсера JSON. Поскольку про Nemerle я знаю только то, что рассказал Чистяков на предыдущих докладах, понял только, что Nemerle.Peg действительно позволяет написать лаконичный и эффективный парсер.



Внимание! Данная статья выбрана для репликации во внешнюю базу знаний компании. Пожалуйста, не допускайте в этой статье публикацию конфиденциальной информации, ведения обсуждений в теле статьи, и более ответственно относитесь к качеству самой статьи — проверяйте орфографию, пишите по-русски, избегайте непроверенной вами информации.