Search this site
Embedded Files
Skip to main content
Skip to navigation
Полозов Виктор Сергеевич
Полозов Виктор Сергеевич
StudentML
Примеры на языке StudentML
Архив
Весна 2014
Практикум на ЭВМ (171 группа, второй семестр)
Samples
Осень 2014
Практикум на ЭВМ (271 группа, третий семестр)
Юнит-тестирование: Partly Cloudy
Теория автоматов и формальных языков, осень 2014
Весна 2013
Практикум на ЭВМ, весна 2013, 171
Практикум на ЭВМ, весна 2013, 271
Осень 2013
Практикум на ЭВМ (171 группа, первый семестр)
Язык ассемблера ASMololo
Практикум на ЭВМ, осень 2013, 271
Юнит-тесты
Теория автоматов и формальных языков, осень 2013
Весна 2012
Осень 2012
Практикум на ЭВМ (171 группа, первый семестр)
Практикум на ЭВМ, осень 2012, 271
Тренинг по юнит-тестам (Partly Cloudy)
Теория автоматов и формальных языков, осень 2012
Лекции, осеннний семестр 2012
Самостоятельная работа
Весна 2011
Практикум на ЭВМ (161, 2 семестр)
Практикум на ЭВМ (261, 4 семестр)
с/с «Программирование на F#»
Осень 2011
Практикум на ЭВМ (171, 1 семестр)
Практикум на ЭВМ (261 группа, 3 семестр)
Тренинг по юнит-тестам
Теория автоматов и формальных языков
Слайды к части 2 курса Теория автоматов и формальных языков
Весна 2010
Практикум на ЭВМ (161гр, 2 семестр, 2010г)
Программирование на ЭВМ (261гр., 4 семестр, 2010г)
с/с «Программирование на F#»
Язык FLAE
Язык ассемблера VitASM
Осень 2010
Практикум на ЭВМ (161, 1 семестр)
Форматированная печать числа с плавающей точкой
Практикум на ЭВМ (261 группа, 3 семестр)
Задание "Отцы и дети"
Тренинг по юнит-тестам (clouds)
Весна 2009
Практикум на ЭВМ (161, 2 семестр)
Язык ассембера VitASM
Практикум на ЭВМ (261, 4-й семестр)
Осень 2009
Практикум на ЭВМ (161)
Задача revert
Практикум на ЭВМ (261 группа, 3 семестр)
Code Review
Email checker
Задание "Отцы и дети"
Тренинг по юнит-тестам (clouds)
Осень 2008
Практикум на ЭВМ (161)
Пример makefile
Практикум на ЭВМ (261)
Программирование на F#
Факториал в цикле
Опрос выпускников
Расписание
Форматирование и комментарии к коду
Язык ассемблера StudentAsm
Косвенная адресация
Подпрограммы
Структуры данных для StudenASM на Haskell
Полозов Виктор Сергеевич
StudentML
Язык
Выражения языка:
Литералы
Целочисленные
Плавающая точка
Булевские константы: true, false
Константа типа unit: ()
? Строковые
Арифметические выражения
+ - * /
Возможен отдельный набор набор операций для чисел с плавающей точкой, например: +. -. *. /.
Скобки: круглые "(...)" и "begin ... end"
Идентификаторы
Конструкция let: 'let <id>=<expr> in <expr>' для связывания идентификатора со значением и определения области видимости
Например: let x = 2*2 in 3 * (let y = 1 in y+x)
Анонимные функции
Например: (fun x -> x+1)
Вызов функции
Например: (fun x -> x+1) 5 или (f 5)
Рекурсивные функции: let rec f = expr1 in expr2, при условии, что expr1 вычисляется к функциональному значению
Например: let rec fact = fun n -> if n > 0 then n * fact (n-1) else 1 in fact 5
Последовательность выражений: expr1; epxr2
Логические выражения:
Логические операции: || && !
Сравнение: = <> > < >= <=
Условный оператор: if expr then expr1 else expr2
? допускается форма "if expr then expr1" при условии, что expr1 возвращает тип unit
Библиотечные функции:
println: 'a -> unit
Система типов:
Динамическая типизация:
int
boolean
float
unit
функции: a -> b (замыкание)
Минимальные требования к интегрированной среде разработки (ИСР, IDE) разрабатываемой командой
Проработанный пользовательский интерфейс
Редактор с подсветкой синтаксиса и ошибок
Автоматизация запуска программ
Встроенный пошаговый отладчик
Темы исследований на 2011 год:
Парсер
Отложенный вызов лексера/парсера для снижения нагрузки
Инкрементальный лексер
Системы типов
Статическая СТ с явными типовыми аннотациями
Например, let x : int = 2+2 in x+1
Полиморфные типы в СТ с явными типовыми аннотациями.
Применение алгоритма унификации для реализации статической СТ без явных типовых аннотаций.
Применение алгоритма унификации для реализации статической СТ без явных типовых аннотаций с полиморфными типами.
Интерпретатор/отладчик
Отладчик, реализованный в отдельном потоке
Реализация пошагового отладчика для итеративного интерпретатора
Отладчик с возможностью отката состояния
Интеграция с внешним отладчиком (межпроцессовое взаимодействие)
Использование AST в IDE
Переименование связанных вхождений идентификатора
Outline -
Свёртка кода - collapse/expand для структурный частей кода
Autocompletion - автодополнение имени идентификатора
Run-time libraries
Система конфигурируемых системных библиотек
Модульная поддержка в языке
Google Sites
Report abuse
Page details
Page updated
Google Sites
Report abuse