Думаю, что все мы любим чистый и красивый код. Но разве это красиво, если в обычном HTML шаблоне открываются и закрываются PHP блоки, это же HTML шаблон, зачем там еще что-то? Но ведь надо как-то связывать серверную часть и то, как она преподносится пользователю. Для этого я решил написать небольшой скрипт, который поможет справиться с этой проблемой, оставив красоту в коде. Подробности под хабракатом.
Читать полностью »
Метка «parser» - 3
Парсер специальных условных выражений и функций
2012-07-01 в 18:12, admin, рубрики: html, php, код, метки: html, parser, PHP, код Думаю, что все мы любим чистый и красивый код. Но разве это красиво, если в обычном HTML шаблоне открываются и закрываются PHP блоки, это же HTML шаблон, зачем там еще что-то? Но ведь надо как-то связывать серверную часть и то, как она преподносится пользователю. Для этого я решил написать небольшой скрипт, который поможет справиться с этой проблемой, оставив красоту в коде. Подробности под хабракатом.
Читать полностью »
Экосистемный подход к сборке веб-проекта с TeaCSS
2012-06-29 в 16:50, admin, рубрики: css, dsl, html, javascript, less, require, requirejs, sass, Веб-разработка, велосипед на ракетном топливе, метки: css, dsl, html, javascript, less, parser, require, requirejs, sass, Веб-разработка, велосипед на ракетном топливеВ этой статье я расскажу как можно организовать процесс сборки фронтэнда «от и до».
Советую начать со вводной статьи, если кто не читал.
Там я рассказывал про TeaCSS как про надмножество CSS, и это была неправда. Точнее – полуправда. И таким он был во времена своего создания (откуда и название).
Сейчас – это декларативный метаязык для генерации контента, во многом черпающий вдохновение из QML, Lisp, Clojure, Nemerle.Читать полностью »
Argparse — парсим аргументы и параметры командной строки с легкостью
2012-05-24 в 2:58, admin, рубрики: parser, python, метки: parser, python Начиная с версии Python 2.7, в набор стандартных библиотек была включена библиотека argparse для обработки аргументов (параметров, ключей) командной строки. Хотелось бы остановить на ней Ваше внимание.
Читать полностью »
Парсим Python код с помощью Flex и Bison
2012-04-09 в 14:43, admin, рубрики: bison, c++, flex, parser, python, Программирование, разработка, синтаксический анализ, метки: bison, flex, parser, python, синтаксический анализВступление
Уже около двух лет я участвую в OpenSource проекте Source Analyzer, и вот появилась необходимость написать парсер для языка Python, который должен уметь строить граф вызовов (Call Graph) и граф зависимостей классов (Class Graph Dependency). Если точнее, граф строится с помощью других инструментов, а парсер должен лишь подготовить для этих инструментов данные.
Процесс работы над парсером был довольно занятным и мне бы хотелось поделиться с вами приобретенным опытом, а также поведать о некоторых подводных камнях, которые встретились на этапе разработки.
Читать полностью »
Создание конечного автомата для разбора HTTP запроса
2012-04-09 в 12:49, admin, рубрики: .net, DFA, http, parser, ДКА, Компиляторы, метки: DFA, http, parser, ДКАДетерминированный конечный автомат можно использовать для реализации очень быстрого способа разбора входной последовательности. Требуется всего один проход по входной последовательности, и минимальные действия на каждом шаге. К сожалению эта модель имеет ограничения — не всегда возможно построить ДКА, для имеющегося Недетерминированного конечного автомата (регулярного выражения, грамматики). Или даже если возможно построить, автомат может иметь слишком большое число состояний.
Тем не менее я решил попробовать создать парсер для HTTP запроса на основе ДКА. Основная задача не просто проверить корректность HTTP запроса, а именно выделить во входной строке элементы соответствующие определенным значениям полей HTTP запроса. Автомат должен генерироваться из BNF правил (разбросанных по) RFC2616. Реализовано все на C#, автомат на выходе тоже на C#. Хотя понятно что когда автомат готов, сгенерировать его на любом языке, в любом виде не проблема.
Читать полностью »