Программирование на ЭВМ (261гр., 4 семестр, 2010г)

Список половины группы:

    • Антонов Кирилл Сергеевич
    • Забранский Дмитрий Юрьевич
    • Карымов Антон Вячеславович
    • Коршаков Степан Андреевич
    • Лебедев Дмитрий Юрьевич
    • Савенко Мария
    • Яськов Сергей Андреевич
    • Волкова Екатерина

Правила

Для зачета требуется 75% посещаемости

Весь код в svn (http://code.google.com/p/261studentprojects)

Задания

1. Арифметические выражения: написать лексический и синтаксический анализатор для арифметических выражений. Построить абстрактное синтаксическое дерево, и перевести выражение в обратную польскую запись.

2. (необязательно) Ввести идентификаторы, и операторы присваивания и печати выражения. Написать интерпретатор.

Пример программы.

x = 1+2;

y = 3;

z = x+y;

print(z);

3. Реализовать IDE (см далее.)

4. Отчет по курсовой.

IDE для Student ML

Язык StudentML

Конструкции языка

    • Арифметические выражения
    • Например: 1+2
    • Логические выражения и сравнения
    • Например: 5 <= 2+3
    • Оператор печати print
    • Например: print(1)
    • Последовательность: begin expr1; epxr2; ... exprn end
    • Например: begin print(1); 2+3 end
    • Сопоставление идентификатора (let binding): let id = epxr1 in expr2
    • Например: let x = 2 in x+1
    • Условный оператор: if expr then expr1 else expr2 или if expr then expr1
    • Например: if x > 5 then x*x else 0
    • Функции: fun id -> expr
    • Например: fun x -> x+1
    • Применение функции: expr expr
    • Например: let f = fun x -> x+1 in f (2+3)

Редактор

Отладчик

Отчет по курсовой

Форма отчета: доклад о проделанной работе с презентацией.

Тема: желательно рассказать о каком-нибудь проекте, не связанным непосредственно с учебой.

Типичная структура отчета такова (разумеется, допустимы отступления):

- Введение -- 10 - 20%. Предназначено для краткого описания предметной области и задачи, решаемой в курсовой работе.

Здесь надо ввести основные понятия, обосновать актуальность, явно сформулировать цель работы, описать практическую значимость ожидаемого результата.

- Обзор средств, подходов, и пр. -- 20-30%. Обзор должен содержать явно сформулированные цели и критерии сравнения, которые должны коррелировать с требованиями к искомому решению исходной задачи. В конце обзора должны быть сформулированы выводы, демонстрирующие актуальность выбранной темы работы и поставленных в ней задач.

- Описание алгоритма, решения, всплываваших проблем -- 50%. Может содержать несколько разделов, для каждой возникшей задачи детально описывается способ ее решения, алгоритмы и т.п., приводится аргументированное обоснование всех принятых решений и отказов от возможных альтернатив.

- Заключение, выводы, дальнейшие направления исследований по теме, описание результата: 1-2 стр. Результаты должны быть согласованы с целью работы.