![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| gambit |
|
|||
![]() Эксперт ![]() ![]() ![]() Награды: 1 Профиль Группа: Комодератор Сообщений: 1359 Регистрация: 25.6.2006 Где: я? Репутация: 3 Всего: 40 |
В общем я начал дипломный проект. Здесь надо много выпендроваться чтоб привлеч внимание.
Я хочу к своему приложению написать язык программирования. Так вот я хочу написать что то типа (конечно дико упрощенной) платформы .net, свой упрощенный интерпретатор и базу с классами и функциями. Расскажите возмоно ли такое (описано ниже) и если да то как, если нет то посоветуйте что нибудь... Пример (образный) Я создал dll библиотеку в ней написал функцию cislovstroky(), в редакторе кода пользователь пишет код
Интерпретатор читает этот код, находит вызов функции и динамически подключается к библиотеке (но в этот момент он еще не знает есть ли в библиотеке такая функция), если нашел эту функцию то возвращает результат ее работы, если не нашел то возвратит ошибку. |
|||
|
||||
| Veitmen |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 288 Регистрация: 10.11.2006 Где: СПБ Репутация: 1 Всего: 4 |
В общем я так понимаю что ты хочешь создать парсер введенного пользователем текста и после парсировки через рефлекшн вызывать функции которые увидел парсер?
Сначала пиши парсер. Потом смотри на System.Reflection. МСДН тебе в помощь. И очень много инфы на эту тему. И поставь задачу четко. Особенно: 1. Пользователь выбирает сборку с которой будет работать или функция ищется просто в сборках, которые находятся в определенной папке? 2. Точно стоит писать парсер? А то мб тебе это не надо? Например проще написать прогу которая просто посмотрит на сборки в папке и скажет какие типы у нее есть... 3. Мб стоит просто создать плагины? Ну и жду чего скажешь... |
|||
|
||||
| gambit |
|
|||
![]() Эксперт ![]() ![]() ![]() Награды: 1 Профиль Группа: Комодератор Сообщений: 1359 Регистрация: 25.6.2006 Где: я? Репутация: 3 Всего: 40 |
||||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 6 Всего: 118 |
несеръезная тема для диплома имхо. это не диплом. где тут новизна? где актуальность? где ваша мат модель?
в свое время мы на 4-ом курсе писали компилятор С или паскаль на выбор... в рамках лабораторных работ. вызывать готовые методы в готовй среде ума не надо особо. вон IronPython, CruiseControl.NET, nant или lua.net возьмите - они уже это умеют без особых проблем. -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| gambit |
|
|||
![]() Эксперт ![]() ![]() ![]() Награды: 1 Профиль Группа: Комодератор Сообщений: 1359 Регистрация: 25.6.2006 Где: я? Репутация: 3 Всего: 40 |
||||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | .NET для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |