parser

/faq/faq
/authors/авторы
/docs/документация

/powered_by_parser/в действии
/feedback/куда говорить
/jargon/жаргон

/download/скачать

/examples/примеры
/forum/форум

  ответы на частые вопросы

Что такое PARSER и кто его применяет в работе?
PARSER — это средство скриптования сайтов с помощью простого языка. Он немного сложнее HTML, но совершенно не требует от кодера умения программировать.
PARSER начал создаваться в Студии Лебедева в 1997 году. Сегодня все сайты в Студии Лебедева создаются с его помощью.

А зачем он вообще?
Для того, чтобы по многу раз не переписывать одно и то же. С помощью макросов можно описать конструкцию сайта таким образом, что для изменения внешнего вида всего сайта, потребуется изменить только 1-2 файла.

Если есть PHP, то для чего PARSER?
PHP — это язык программирования, требуюущий соответствующей подготовки. На парсере могут работать те, кто называются “html-кодеры”, то есть, далеко не программисты. PARSER именно тем и хорош, что позволяет простым смертным создавать и поддерживать динамические сайты без больших затрат времени.

Почему PARSER распространяется бесплатно?
Мы в Студии Лебедева абсолютно убеждены в том, что ни одна закрытая технология не может долгое время оставаться современной и актуальной. Всегда будет появляться что-то новое, что будет превосходить технологии предыдущего поколения. Делая PARSER доступным каждому, мы не хотим ни с кем конкурировать в области инструментов разработки сайтов. Широкое использования PARSER поможет технологии оставаться современной.
Продажа технологии сужает круг пользователей и замедляет развитие новых проектов. Мы не продаем инструмент, а даем его бесплатно любому желающему, рассчитывая на то, что этот шаг поможет развитию российского интернета.

Как насчет открытых кодов?
PARSER будет распространятся в исходниках в 2001 году. Скорее всего, это произойдет весной.

Как подключить PARSER к веб-серверу?
Для этого в Apache нужно в файлах .htaccess или httpd.conf (секция <virtualhost>) следующие строки (подразумевается, что /cgi-bin указывает на каталог, прописаный в ScriptAlias в httpd.conf):

AddType parsed-html .html
Action parsed-html /cgi-bin/parser
Скопировать файл parser в каталог /cgi-bin.
В каталоге сайта, на который указывает localhost, создать файл index.html.

Можно ли использовать в коде спецсимволы “;” и “^”?
Конечно. Их нужно либо предварять символом “^”, либо брать целиком весь параметр в обратные кавычки “`”. Например:

^eq[abc^;def;ghijkl;...;...]
^eq[`abc;def`;ghijkl;...;...]

Как перейти на работу с PARSER в своих разработках?
Можно постепенно заменять конструкциями парсера файлы уже готового сайта, например описать заголовки и таблицы html-документа макросами, использовать переменные окружения через парсер, упростить обработку данных форм. Или изначально продумать удобную конструкцию сайта, и писать код, исходя из возможностей парсера. Парсер не подменяет собой html-код, он генерирует его.
Поэтому изменять исходные тексты очень легко, и всегда сразу можно увидеть, что получилось в результате той или иной команды.

Обязательно ли ставить русскую версию Apache для работы PARSER?
Нет. PARSER работает с английским и русским Apache, а также с IIS. И вообще — любой сервер, позволяющий обрабатывать документы ДО их выдачи пользователю, сможет работать с парсером.

Как запустить PARSER под IIS?
Для этого в программе конфигурации IIS кликаете правой клавишей мыши на веб-сайт и выбираете Properties. Открывается окно Web Site Properties. Затем в странице Home Directory нажимаете кнопку Сonfiguration. В появившемся окне нажимаете Add, и прописываете путь к PARSER. В строке Extension пишете html, и жмете OK. Затем в окне Web Site Properties выбираете страницу Documents, и добавляете index.html в список файлов, открываемых по умолчанию. Перезагружаете сервер, 3 раза "ку", крутите фонарики и радуетесь полчаса.

Как запускать скрипты из-под парсера, и не получать ошибку №6 под win32?
Для этого нужно воспользоваться оператором ^exec[script_to_run]. Путь к скрипту нужно указывать относительно ТЕКУЩЕГО html-документа. Например, если путь к текущему документу c:\apache\htdocs\index.html, а скрипт находится в директории c:\apache\cgi-bin, то выполнять оператор ^exec нужно следующим образом:

^exec[/../cgi-bin/script_to_run]

Что такое контекст?
Контекст — это двухмерный массив данных. Для обращения к элементу текущей строки текущего контекста используется оператор ^item[n], где n — номер элемента или его название (в случае именованного контекста). Чтобы обратиться к элементу другого контекста, следует использовать конструкцию ^item[m;n], где m — название желаемого контекста, а n — номер или название элемента.
Для перемещения по строкам контекста используются операторы ^menu и ^shift.
Для поиска элемента в контексте используется оператор ^locate.
Чтобы создать именованный контекст, используются конструкции ^config[named;...] и ^load [named;...].

Почему в конструкции
^macro[server;
  ^load[data.txt]
    ^menu[
      ^sql[insert into table values ('^item[0]', '^item[1]')]
    ]
]

вставляется всего одна запись?

Это происходит потому, что оператор ^sql[] меняет текущий контекс, независимо от команды sql. Для правильного внесения записей в базу, следует использовать подобную конструкцию:

^macro[server;
  ^context[data;
    ^load[data.txt]
    ^menu[
      ^context[sql;
        ^sql[insert into table values('^item[data;0]', '^item[data;1]')]
      ]
    ]
  ]
]




E-mail: mailbox@parser.ruCopyright © 1997-2001 Студия Артемия Лебедева