Диссертация на степень магистра наук по направлению «Математика, компьютерные науки»





Скачать 354.13 Kb.
НазваниеДиссертация на степень магистра наук по направлению «Математика, компьютерные науки»
страница4/7
Дата публикации12.12.2014
Размер354.13 Kb.
ТипДиссертация
100-bal.ru > Информатика > Диссертация
1   2   3   4   5   6   7

. Постановка задачи


Как было показано выше, прикладные языки не дают нужного уровня производительности, а системные, идут путём экстенсивного расширения или опираются на нестандартные подходы, эффективность которых на практике не подтверждена. Недостаток удачных разработок компенсируется только временными решениями, адаптирующими C/C++ к текущим задачам.

В связи с этим становится актуальной проблема создания новых более гибких языков системного программирования, комбинирующих сильные стороны технологий, связанных с виртуальными машинами, и императивной статической компиляции.

Целью данной работы является разработка и реализация компилятора системного языка, генерирующего промежуточный код, напоминающий ассемблерный для процессора x86 в SSA-записи с бесконечным числом универсальных регистров, согласно требованиям:

  • Императивность;

  • Расширяемый синтаксис;

  • Наличие механизма низкоуровневого программирования;

  • Компактность и эффективность компилятора соизмеримые с Си.


3. описание языка

.1. Концепция


Современные языки очень сложны и часто неоднородны. Причем, абстракции в них реализованные, какими бы высокоуровневыми ни были, в итоге не могут быть сложнее инструкций процессора (МБ: тут вот не очень точно написано. Наверное, имеется в виду то, что они не могут быть сложнее цепочек инструкций процессора. Лучше так написать, иначе можно различно интерпретировать). Оптимизированный машинный код выглядит одинаково, компилируется ли он из процедурного, объектно-ориентированного или функционального представления. Каждый конкретный язык –это баланс между тем, что реализовано в его ядре, а что вынесено на уровень библиотек. Возникает идея создания «минимального» ядра с единственной конструкцией программирования сразу в инструкциях и механизмом вывода из неё любой языковой структуры. Такой индуктивный принцип в теории позволит развиваться языку самому по себе в библиотеках, не только семантически как это было раньше, но и синтаксически. В теории все неоднородности и конфликты, возникающие по ходу внедрения новых примитивов, окажутся замеченными при компиляции, так как будут соответствовать невыразимости в терминах языка.

На практике разработчики Nemerle [14] реализуют операторы if и все циклы в своей стандартной библиотеке за счёт макросов и сопоставления с образцом, а Katahdin [15] вообще предлагает программировать грамматики. Оба проекта подтверждают жизнеспособность идеи, но, во-первых, делают это неэффективно, используя .Net, следовательно, проигрывая даже C#, во-вторых, не пытаются таким образом реализовать более сложные абстракции, такие как обработка ошибок, конструкторы типов или объекты. Ситуацию можно исправить и развить идею расширяемых языков применительно к системному программированию.

С этой целью была разработана концепция CSeL [16], использующая в рамках языка арифметических выражений со статической типизацией перегрузку операторов и метатипы для программирования конструкций if-else, for-break-continue и switch-case-default-break. При первой же реализации выявилась несостоятельность операторного подхода: значительный объём вспомогательного кода с одной стороны и отчасти, как следствие, очень медленная компиляция с другой. Например, определение if’а требует 3 типа, 5 операторов и специальный механизм накопления результата, что в итоге даёт программу в 90 строк, а аналогичное объявление в Nemerle занимает всего 10 строк одним макросом. Возникла проблема.

После неудачного опыта концепция была переработана, от операторов отказались в пользу перегрузки целых синтаксических поддеревьев. Подход претерпел ещё ряд изменений, связанных с переходом от теории к практике. Далее в основной части данной работы мы предоставим полное формальное4 описание лексики, синтаксиса, и далее разберём алгоритмы генерации промежуточного кода. В заключении мы разберем несколько примеров программ на CSeL.
1   2   3   4   5   6   7

Похожие:

Диссертация на степень магистра наук по направлению «Математика, компьютерные науки» iconРеферат: Коваленко А. Е. Разработка системы научной визуализации....
Коваленко А. Е. Разработка системы научной визуализации. Квалификационная работа на степень магистра наук по направлению «Математика....
Диссертация на степень магистра наук по направлению «Математика, компьютерные науки» iconРеферат: Шайдуров А. Г. Исследование и разработка некоторых графических...
Шайдуров А. Г. Исследование и разработка некоторых графических алгоритмов. Квалификационная работа на степень магистра наук по направлению...
Диссертация на степень магистра наук по направлению «Математика, компьютерные науки» iconРеферат Флягина Т. А. Проблемы разработки многооконных интерфейсов,...
Флягина Т. А. Проблемы разработки многооконных интерфейсов, квалификационная работа на степень бакалавра наук
Диссертация на степень магистра наук по направлению «Математика, компьютерные науки» iconРабочая программа составлена в соответствии с требованиями фгос впо...
Математика и компьютерные науки по профилю подготовки: «Вычислительные, программные, информационные системы и компьютерные технологии»...
Диссертация на степень магистра наук по направлению «Математика, компьютерные науки» iconРабочая программа для студентов очной формы обучения, направление...
Иванов Д. И. Криптография и криптоанализ. Учебно-методический комплекс. Рабочая программа для студентов очной формы обучения, направления...
Диссертация на степень магистра наук по направлению «Математика, компьютерные науки» iconРабочая программа для студентов очной формы обучения, направление...
Иванов Д. И. Дополнительные главы дискретной математики. Учебно-методический комплекс. Рабочая программа для студентов очной формы...
Диссертация на степень магистра наук по направлению «Математика, компьютерные науки» iconЛитература Погрешности вычислений
Программа предназначена для подготовки к вступительным испытаниям в аспирантуру по направлению 02. 06. 01 «Компьютерные и информационные...
Диссертация на степень магистра наук по направлению «Математика, компьютерные науки» iconУчебно-методический комплекс Программа для студентов направления...
Рассмотрено на заседании умк института математики и компьютерных наук, протокол №2013 г
Диссертация на степень магистра наук по направлению «Математика, компьютерные науки» iconРабочая программа дисциплины (модуля) опубликована на сайте ТюмГУ
«Математика и компьютерные науки» по профилю подготовки «Вычислительные, программные, информационные системы и компьютерные технологии...
Диссертация на степень магистра наук по направлению «Математика, компьютерные науки» iconГ. Л. Воронин Н. В ларшина социология учебно-методическое пособие
Программа предназначена для бакалавров очной формы обучения механико-математического факультета математика 010100, математика и компьютерные...
Диссертация на степень магистра наук по направлению «Математика, компьютерные науки» iconУчебно-методический комплекс учебной дисциплины «Философские образы...
Аспирантура – самостоятельный уровень высшего образования, нацеленный на подготовку специалистов высшей квалификации. К поступлению...
Диссертация на степень магистра наук по направлению «Математика, компьютерные науки» iconРабочая программа для студентов направления 010200. 62 Математика...
Девятков А. П. Банаховы алгебры и гармонический анализ. Учебно-методический комплекс. Рабочая программа для студентов направления...
Диссертация на степень магистра наук по направлению «Математика, компьютерные науки» iconУчебно-методический комплекс для студентов не психологических специальностей...
Гидрология 010100. 62 Математика 010101. 65 Математика 010101. 65 Математика 010101. 65 Математика 010300. 62 Математика. Компьютерные...
Диссертация на степень магистра наук по направлению «Математика, компьютерные науки» iconРабочая программа и методические указания для студентов очной формы...
Рабочая программа и методические указания для студентов очной формы обучения направлений 010300. 62 «Математика. Компьютерные науки»...
Диссертация на степень магистра наук по направлению «Математика, компьютерные науки» iconДиссертация На соискание степени Магистра по направлению 030100 Философия...
Едеральное государственное бюджетное образовательное учреждение высшего профессионального образования
Диссертация на степень магистра наук по направлению «Математика, компьютерные науки» iconРабочая программа составлена в соответствии с требованиями фгос впо...
Дёгтев А. Н. Теория алгоритмов. Учебно-методический комплекс. Рабочая программа для студентов направления 010200. 62 – математика...


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск