Идеи курсовых 2011
Расширяемые грамматики
Изучить расширяемые грамматики по... Создать модельный ЯП
Редактор yacc-lex (3 курс)
Создать редактор, обеспечивающий простейший сервис работы с yacc-lex файлами. Возможно, в таком редакторе будут макросы по созданию имен, ключевых слов и др. Возможно, такой редактор будет обеспечивать и автоматическое построение синтаксического дерева, а также макросы для обработки ошибок и обеспечения простейших семантических проверок
Преобразования текстов на разных ЯП (3 курс)
Создать преобразователь программ на Pascal, C#, C++ ... друг в друга.
За счет единого внутреннего представления, хранящего оригинал.
Синтаксический сахар (3 курс)
Создать язык с малым ядром и остальными конструкциями, реализованными как синтаксический сахар
Классы - синтаксический сахар (3 курс)
Создать язык, который реализует классы как синтаксический сахар
Библиотека JS-графики для WDE (3 курс)
Взять за основу какую-нибудь графическую библиотеку (например, JSXGraph или easeljs)
Библиотека DLR для .NET 4.0 (3 курс)
Разобраться в возможностях DLR .NET 4.0 для создания и использования компиляторов
Язык лямбда-выражений (4 курс)
Создать модельный язык только с лямбдами. Встроить его в PascalABC.NET
Рефакторинг с помощью синтактико-семантического дерева (магистр)
Реализовать основные рефакторинги с помощью синтактико-семантического дерева PascalABC.NET
Использование Silverlight в WDE
Создание нового типа приложения - Silverlight
Распределенная компиляция с участием библиотек в сети
Библиотеки или модули можно размещать в произвольном месте сети. При компиляции они (их текущие версии) вначале скачиваются на локальный компьютер и затем производится докомпиляция.
Необходимо поддерживать граф зависимостей, новые версии библиотек
Суперкомпиляция в сети
Не только отдельные модули, но и компилятор, хранятся в сети. Приложение собирается из частей на разных компьютерах. Возможно использование наборных приложений по типу, описанному Горбуновым-Посадовым.
Язык семантического дерева
Возможно, с помощью графических элементов создать средство для написания программ сразу в семантическом дереве