Рубрика: СПО
Выборочные вопросы по СПО -2006
Понедельник, 31 Янв 2011 9:42 Комментарии выключены1. Разработать алгоритм определения адреса блока памяти, выделенного последнему обработчику прерывания с номером n . Составить программу на ассемблере.
2. Разработать алгоритм программы порождения дочернего процесса, путь файла дочернего процесса задается с помощью переменной среды FCP=C:\…. Составить программу на ассемблере.
3. Разработать алгоритм загрузки и запуска оверлея A.OVL, путь файла оверлея передать с помощью переменной среды FOVL=C:\111\A.OVL. [...]
Ответы на тесты по СПО
Пятница, 21 Май 2010 5:47 Комментарии выключеныУкажите порядок этапов трансляции?
2) – лексический, синтаксический, семантический анализ #5#
Укажите порядок обхода синтаксического дерева для установления последовательности выполнения операций?
Генерация объектного кода
Вторник, 11 Май 2010 6:02 Комментарии выключеныОбщие положения
В результате семантического анализа транслятор вырабатывает одну из внутренних форм исходной программы польскую запись, тетрады или триады. Ниже будет рассмотрена методика перевода польской записи в объектный код программы, который входит как составная часть кода стандартного объектного модуля (*.OBJ), поступающего в свою очередь на вход редактора связей (TLINK или LINK). В результате перевода внутренней формы [...]
Семантические программы
Вторник, 11 Май 2010 6:00 Комментарии выключеныОбщие положения
В результате синтаксического и лексического анализов производится некоторое в общем случае неэквивалентное преобразование исходного текста в промежуточный код. Семантические же программы осуществляют перевод программы в форму, эквивалентную исходному тексту. Семантическая обработка, как правило, связывается с синтаксической и предназначена для формирования одного из промежуточных кодов программы. На практике используются следующие промежуточные коды: польская запись; тетрады [...]
Внутренние формы исходной программы
Вторник, 11 Май 2010 5:59 Комментарии выключеныОбъекты внутренней формы
Внутренняя форма содержит два класса объекта:
- Операнды.
- . Операторы.
К операторам можно отнести: знаки операций + , – , . . . ; операторы условных и безусловных переходов; операторы описания массива; оператор обращения к индексированной переменной и др.
Каждый оператор кодируется некоторым целым числом – кодом ключевого слова. В том случае, когда внутренняя форма содержит [...]
Метод расширенного предшествования
Вторник, 11 Май 2010 5:58 Комментарии выключеныПредпосылки для использования метода расширенного предшествования
Практическое применение метода простого предшествования ограничено неоднозначностью отношений предшествования, которые часто встречаются в грамматиках реальных языков программирования. Общего алгоритма приведения грамматики к грамматике предшествования не существует. Но существуют алгоритмы, позволяющие устранить отрицательные эффекты неоднозначных отношений. К таким алгоритмам, в частности, относится метод стратификации. Но эти [...]
Метод простого предшествования
Пятница, 07 Май 2010 5:30 Комментарии выключеныОсновные положения метода предшествования
Этот метод основан на том, что между двумя соседними символами Si и Si+1 приводимой строки могут существовать только три отношения:
1. Si < . Si+1 – отношение верно, если символ Si+1 – самый левый символ некоторой основы.
2. Si . > Si+1 – отношение верно, когда Si – символ, являющийся самым правым в некоторой [...]
Методы восходящего разбора
Пятница, 07 Май 2010 5:29 Комментарии выключеныПреобразование грамматики
Если правила грамматики имеют вид:
U::=x
V::=x,
то при разборе приведение найденной основы x к нетерминальному символу возникает неоднозначность выбора и распознаватель будет выполнять первое попавшееся для редукции правило. Это делает транслятор непригодным для формального однозначного разбора входных предложений.
Нисходящий разбор с возвратами
Пятница, 07 Май 2010 5:27 Комментарии выключеныАлгоритм нисходящего разбора
По алгоритму нисходящего разбора строится синтаксическое дерево, начиная с корня, постепенно спускаясь до уровня предложения, как это показано на рис.1.
На рисунке приведены конечные стадии разбора и не показаны деревья, которые соответствуют локальным неудачным попыткам. Алгоритм разбора должен обладать той особенностью, что при неудачной попытке разбора он должен перебирать варианты разбора сентенциальной формы вплоть [...]
Методы нисходящего разбора
Среда, 05 Май 2010 6:03 Комментарии выключеныОбщие положения
Алгоритмы нисходящего разбора принято делить на две группы – нисходящий разбор с возвратами и без возвратов. В данной лекции при- ведено описание одного из алгоритмов нисходящего разбора без возвратов. Алгоритм нисходящего разбора строит синтаксическое дерево, начиная с корня, постепенно спускаясь до уровня предложения, как это показано на рис.1. На рисунке приведены конечные стадии разбора [...]
Синтаксический анализ
Среда, 05 Май 2010 6:01 Комментарии выключеныОднозначные грамматики
Грамматики бывают однозначными и неоднозначными. К неоднозначным относятся грамматики, допускающие по крайней мере два неоднозначных предложения. При проектировании компиляторов используются только однозначные грамматики.
Пример неоднозначной грамматики арифметических выражений:
Лексический анализ
Среда, 05 Май 2010 5:59 Комментарии выключеныОбщие положения
Для абстрагирования от несущественных подробностей исходная программа на первом этапе подвергается лексическому анализу. На этом этапе выделяются ключевые слова, идентификаторы, операнды, знаки операций и разделители. Кроме того, из текста удаляются комментарии. После этого выполняется второй этап – синтаксический анализ.
Способы представления синтаксиса языков программирования
Вторник, 04 Май 2010 5:45 Комментарии выключеныКлассификация языков
По опpеделению Хомского , формальная гpамматика представляет собой четверку:
G={N,T,P,a},
где N – множество нетерминальных символов(или понятий) языка. Например, в грамматиках естественных языков используются понятия “существительного”, “подлежащего”, “сказуемого” и т.д.; в грамматиках алгоритмических языков – “оператор”, “метка”, разделитель” и т.д.;
Грамматика и языки программирования
Вторник, 04 Май 2010 5:43 Комментарии выключеныНеформальное определение грамматики
Описание синтаксиса или структуры языка программирования называется грамматикой языка .
В естественном языке предложение – “Белый пароход плывет по реке”, можно изобразить в виде следующей схемы.
Организация таблиц
Вторник, 04 Май 2010 5:40 Комментарии выключеныОбщие положения
Таблицы являются одной из наиболее употребляемых структур данных, используемых в трансляторах. В таблицах хранят основные символы входного языка, которые используются для распознавания синтаксических конструкций и коды операций объектного языка, необходимые для генерирования объектного кода.
Данные в трансляторах
Пятница, 30 Апр 2010 7:03 Комментарии выключеныСтруктуры данных
Любой набор знаков называется данными. Данные изображают некоторую информацию, которую можно извлечь, если известен смысл, приписываемый данным. В общем случае ЭВМ выполняет обработку данных или, другими словами, информации.
Общие характеристики транслирующих систем
Пятница, 30 Апр 2010 7:00 Комментарии выключеныКлассификация языков программирования
Искусственные языки, предназначенные для записи программ, называются языками программирования. Каждая ЭВМ имеет свой собственный язык программирования, т.е. язык команд, и может использовать программы, написанные только на этом языке.