![]() КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Билет 31. 1. Синтаксический разбор1. Синтаксический разбор. Классификация методов синтаксического разбора. Задачей синтаксического анализа считается проверка, принадлежит ли произвольная заданная цепочка T * языку L(G) для заданной грамматики G. На основе методов синтаксического анализа решаются задачи синтаксически управляемой обработки данных (например, текстов). Такой задачей является и задача трансляции. Регулярные языки и порождающие их А-грамматики используются, в основном, для лексического анализа распознавания в тексте его лексических единиц, лексем, т.е. слов, из которых по более сложным правилам строится текст. Синтаксический разбор — это основная часть компилятора на этапе анализа. Она выполняет выделение синтаксических конструкций в тексте исходной программы, обработанном лексическим анализатором. На этой же фазе компиляции проверяется синтаксическая правильность программы Синтаксический разбор играет главную роль — роль распознавателя текста входного языка. Методы (классификация) синтаксического разбора (в основном два способа): 1. Нисходящий разбор. Суть разбора состоит в том, что текст некоей программы, который с самого начала представлен в виде очень большой строки, постепенно разбивается на лексемы, к лексемам применяется синтаксический анализ для построения внутреннего представления программы. 2. Восходящий разбор. Суть этого типа разбора состоит в том, что программа представляется в виде последовательности лексем. которые далее "снизу вверх" склеиваются в более сложные предложения языка, после успешной склейки производится построение внутреннего представления программы. Отдельно можно отметить ассемблеры, в которых разбор осуществляется построчно, часто без необходимости использования грамматик, и препроцессоры, которые просто производят замену строк с применением некоторых простых правил. С функциональностью "хорошего" препроцессора можно познакомится на примере m4 из среды Unix. На самом деле в реальных компиляторах редко используются те или иные методы разбора в чистом виде. Обычно используются комбинации известных методов, или же несколько изменённые методы разбора, в основном с целью повышения скорости разбора. Однако, последнее десятилетие из-за повышения при компиляции программ удельной массы проходов оптимизации, время синтаксического разбора занимает небольшой процент общего времени компиляции, потому нет особого смысла заниматься оптимизацией разбора сверх меры. Частично в ряде случаев используются автоматизированные среды для постороения лексических и синтаксических анализаторов: lex, yacc, bison. Так, в версии GCC 3.3 для синтаксического разбора используется bison, но в последнее время разработки пытаются написать проход синтаксического анализа не использующий bison для повышения скорости синтаксического разбора.
2. Интеграция систем автоматизации проектирования и управления(CAD – CAM – CAPP – системы). Проектирование – процесс, заключающийся в получении и преобразовании исходного описания объекта в окончательное описание на основе выполнения комплекса работ исследовательского, расчетного и конструкторского характера. Одними из важнейших функций инженера являются проектирование изделий и технологических процессов их изготовления. В связи с этим САПР принято делить по крайней мере на два основных вида: · САПР изделий (САПР И); · САПР технологических процессов (САПР ТП) их изготовления. САПР изделий. На Западе эти системы называют CAD (Computer Aided Design) – «проектирование с помощью компьютера» - фактически этот термин означает системы геометрического моделирования и САПР чертежно-конструкторских работ. Эти системы выполняют объемное и плоское геометрическое моделирование, инженерные расчеты и анализ, оценку проектных решений, изготовление чертежей. САПР технологии изготовления. В России эти системы принято называть САПР ТП или АС ТППП (автоматизированные системы технологической подготовки производства). На Западе их называют CAPP (Computer Automated Process Planning). Здесь Automated – автоматический, Process – процесс, Planning – планировать, планирование, составление плана. С помощью этих систем разрабатывают технологические процессы и оформляют их в виде маршрутных, операционных, маршрутно-операционных карт, проектируют технологическую оснастку, разрабатывают управляющие программы (УП) для станков с ЧПУ (числовое программное управление). Более конкретное описание технологии обработки на оборудовании с ЧПУ (в виде кадров управляющей программы) вводится в автоматизированную систему управления производственным оборудованием (АСУПР), которую на Западе принято называть CAM (Computer Aided Manufacturing) - “производство с помощью компьютера”. Техническими средствами, реализующими данную систему, могут быть системы ЧПУ станков, компьютеры, управляющие автоматизированными станочными системами.
3. Написать программу на языке С++ для удаления из списка целых всех элементов, равных 0. Например: [1,0,2,0,3,0] [1,2,3].
|