Здарово народ!!!
Вот пишу свой компилятор. И возник такой вопрос компилятор пишется на паскале, а IDE на Делфи.
Так вот как мне из WIN32 приложения отправить в компилятор код и заставить его скомпилировать?
<censored>
Задаешь вопросы - задавай. А правила нарушать не надо!
http://forum.pascal.net.ru/rules.html (пункт 1.12 в частности)
Текстовые файлы в Win32 приложении еще никто не отменял.
Так же, как и 32-битные версии Паскаля (куда, собственно ты и задаешь вопрос...). Вот и непонятно, о каком Паскале вообще здесь идет речь.
Извените пожалуста, всё понял. Правила прочитал. Больше не повториться.
Вообще пишу на FPC, но с полной совметимостью с ТурбоПаскаль 7.0 (вообще пока и с 4.0 совместим) для того чтобы мой компилятор смог сам себя компилировать, как можно раньше. Забыл сказать, я компилятор Паскаля пишу, как можно догадаться из предыдущего предложения.
Суть вопроса в том как именно, т.е. хотелось бы пример (или линк на подходящую инфу). Ну как сохранить текстовый файл я знаю, а как приказать из IDE компилятору скомпилировать код?
Вроде ничего не упустил.
З.Ы.: Теперь правильно ?
Опять я не так написал,извени.
Ну, а чтобы твой EXE-шник заставить реагировать на ключи - тебе прямая дорога к функциям ParamCount/ParamStr и хелпу по Паскалю
(Кстати, Дельфи тоже вполне в состоянии обрабатывать эти же самые функции, у тебя просто как видно не было необходимости в их использовании)
Спасибо!
Кому интересно узнать про мой компиллятор и частью чего он станет можете заглянуть http://forum.progteam.ru/index.php?showtopic=97&st=0&.
Я тут надумал такую фишку, расширяемый компилятор. Расширяется он так:
в специальном фаиле описываеш конструкцию типа Расширенных Форм Бекуса-Наура и в какие конструкции асма они транслируются (имхо:это удобно ещё и тем что в общем не нужно хорошо знать асм полистал справочник и написал нужные конструкции,повторюсь это имхо). Мне кажется это довольно удобным.
Наверно криво рассказал времени мало пишу из библиотеки !
Шаблоны, это, конечно хорошо.
Вот только язык реализации ты выбрал не совсем правильный.... Паскаль вообще не приспособлен к написанию парсеров и трансляторов. Хочешь увидеть ТО, на чём действительно можно красиво и быстро ниписать трансляторы - смотри РЕФАЛ: http://www.refal.net/ Кроме того сществует хороший функциональный язык - Standard ML - я его сейчас изучаю. К нему даже прилагается yacc и lex - генераторы парсеров.
> К нему даже прилагается yacc и lex - генераторы парсеров.
Для Turbo Pascal'я и FPC тоже есть.
2hardcase:
Я конечно почитаю про Refal и Standard ML,возможно они подходят куда больше Паскаля, но мне кажеся, что паскаль хорошо укладывается в БНФ (в оличии от Си). И самое главное почему я выбрал Паскаль (конечно не гооворя,что другие языки (почти) не знаю), я хочу сделать компилятор Паскаля который может сам себя компилировать. Для старта я решил писать свой компилятор на FPC(но только с полной совместимостью с ТР7).
Извеняюсь, забыл залогиниться.
Вообще-то, Вирт не в асм транслировал, - в P-код, хотя суть от этого не меняется.
2Иван Шихалёв. А ты видел, во ЧТО они транслируют? Парсер для Паскаля на SML занимает гораздо меньше места, чем мой LexParser, который только и умеет, что строку на терминальные символы разбивать (с хэшированием и прочими причендалами).
Писать трансляторы на прцедурных языках быват иногда и эффективно (код быстрый получается), но программа выглядит не очень красиво и часто получается так, что можно потерять нить логики. парсера.