|
|||||||||
|
|||||||||
|
|
Специальные ресурсы/Информатика и информационные технологии/САПР/Лингвистическое и программное обеспечение САПР
Спецификации YACC. Лексический анализ.
Окружение yacc'а, входной синтаксис yacc'а, неоднозначности и конфликты, алгоритмы
синтаксического разбора.
Секция определений LEX-программы
В данном разделе описывается создание определений LEX - программы.
Модифицированные методы Эйлера решения уравнения первого порядка
Исходный код данного алгоритма доступен в версиях на C++, Visual Basic 6 и Delphi.
Все версии идентичны по своей функциональности.
Для каждого из языков программирования выводится список файлов, содержащий ссылку
на код алгоритма (в начале списка) и вспомогательные алгоритмы, если такие есть (выделены
курсивом).
Вычисление интеграла по двумерной области методом Монте-Карло
Двумерное интегрирование со случайным выбором точек. В основном представляет чисто
теоретический интерес.
Транспонирование разреженной матрицы
Представлен один из способов транспонирования разреженной матрицы.
OS UNIX - многозадачная и многопользовательская операционная система разделения времени.
Ее главная отличительная особенность - мобильность исходного кода. Без особых проблем
OS UNIX может быть портирована на компьютерах различной архитектуры. Другая особенность
OS UNIX - ее высокая технологичность, которая достигается поддержкой многочисленных
инструментальных средств для разработки прикладного и системного программного обеспечения.
Эта операционная система ориентирована на программирующих профессионалов, но не на
"рядовых" пользователей как MS-DOS и Windows 95/98 или Windows NT. Указанные характерные
черты OS UNIX обеспечены успехом реализации следующих базовых концепций
Интегрирование методом трапеций с заданной точностью
Интегрирование с заданной точностью. По мощности примерно то же, что и средние прямоугольники.
Метод Рунге-Кутта четвертого порядка для решения уравнения первого порядка
Исходный код данного алгоритма доступен в версиях на C++, Visual Basic 6 и Delphi.
Все версии идентичны по своей функциональности.
Для каждого из языков программирования выводится список файлов, содержащий ссылку
на код алгоритма (в начале списка) и вспомогательные алгоритмы, если такие есть (выделены
курсивом).
Регулярные выражения: теперь и в Java
Еще несколько лет назад ответ на вопрос о том, какая из технологий оптимальна для
построения Web-приложения, был предопределен: альтернативы CGI попросту не существовало.
Сейчас есть из чего выбирать. И если не сохранять неоправданную приверженность одному
и тому же инструменту (будь то PHP, Perl или что-то другое), то принять правильное
решение порой довольно трудно. Вполне возможно, например, что, отбросив заведомо
неподходящие для конкретной задачи технологии, вы остановитесь перед выбором: CGI-сценарий
на Perl или JSP-документ
Современная индустрия программного обеспечения (ПО) характеризуется очень высокой
степенью конкуренции. Для успешной работы на этом рынке компания должна разрабатывать,
внедрять и сопровождать программное обеспечение быстро, в срок и с удовлетворительным
качеством.
Поэтому многие компании вкладывают деньги в улучшение качества процесса, памятуя
о том, что подобное вложение денег обязательно окупается, - изучение документированных
случаев улучшения процессов разработки ПО показывает, что в успешных случаях наблюдается
существенное улучшение производительности и качества со средним уровнем возврата
вложений от 5:1 до 8:1 [1].
Секция пользовательских подпрограмм LEX-программы
Все, что размещено за вторым набором, относится к секции пользовательских подпрограмм.
Содержимое этой секции копируется в выходной файл lex.yy.c без каких-либо изменений.
В файле lex.yy.c строки этого раздела рассматриваются как функции Си. Эти функции
могут вызываться в действиях правил и, как обычно, передавать и возвращать значения
аргументов.
Генератор программ лексического анализа lex
В документе описан язык программирования lex, предназ-
наченный для разработки программ лексического анализа. При-
водятся правила работы с компилятором языка lex ОС ДЕМОС
Ресурс посвящен лексическому анализатору LEX: разработка LEX-программ, обзор использования
LEX'a, а также выполнение LEX'a в системе UNIX.
В данном ресурсе описывается работа программы LEX для построения лексических анализаторов.
Интерпретатор Алгоритмического Языка
В данном ресурсе описывается струтура программы, типы данных, массивы и подпрограммы.
Генератор программ синтаксического анализа yacc
Значительная часть создаваемых программ, рассчитанных
на определенную структуру входной информации, явно или
неявно включает в себя некоторую процедуру синтаксического
анализа. В задачах, где пользователю при задании входной
информации предоставляется относительная свобода (в отноше-
нии сочетания и последовательности структурных элементов),
синтаксический анализ достаточно сложен. При решении подоб-
ных задач существенную поддержку могут оказать сервисные
программы, осуществляющие построение синтаксических (грамма-
тических) анализаторов на основе заданных сведений о синтак-
сической структуре входной информации. yacc относится к
числу этих сервисных программ - генераторов синтаксических
анализаторов.
Программирование: Разработка и отладка программ
В данном разделе рассматривается работа с программами lex и yacc, создание синтаксического
анализатора с помощью программы yacc и конфликты анализатора.
Интеграция Tomcat с Apache. Развертывание веб-приложений Java2 на Linux-платформе
Итак - ваше веб-приложение готово для развертывания на сервере. Заказчик оповещен
о том, что все работает и осталось только несколько штрихов, - и он просит продемонстрировать
это веб-приложение, разместив его на вашем сервере или на сервере заказчика. Как
правило, это Linux. Пока проект жил и творился под бдительным контролем RAD-среды,
например JBuilder, все было хорошо. К счастью, эта или аналогичная ей среда может
без труда сгенерировать строку со всеми необходимыми атрибутами для запуска вашего
веб-приложения. И теперь вам нужно показать ваше приложение миру :-).
Начнем с некоторых определений, которые понадобятся нам в дальнейшем.
Компилятор пишется так... М. Черкашин
Писать компилятор приходится чаще, чем обычно думают. Практически
всякая большая система включает в себя входной язык - от
примитивного до весьма сложного. Вспомним хотя бы dBASE - это ведь
не язык программирования, а система баз данных. На нее даже
программы пишутся. А раз нужен входной язык, то бывает нужен и
компилятор. И часто нужен быстро. Конечно, всякий предпочтет
компактный, быстрый, хорошо оптимизирующий компилятор, но далеко не
всякому понравится такой компилятор писать
Часть II: Лексический Анализатор
Я всегда считал, что примеры, по которым узнаешь что-либо новое, должны быть достаточно
просты. Вот почему задумал примитивный компилятор, который, тем не менее, содержит
все особенности полнофункционального. Придумал язык для манипулирования строками
текста с Cи-подобным синтаксисом, с Бейсикоподобными операциями. Ниже приведен пример
корректной программы на нашем языке
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Copyright © 2003 «Инженерное образование» E-mail: techno@bmstu.ru | тел.: +7 (095) 263-68-63 |
|