Re: транслятор с паскаля на си, написанн ый на паскале нужен.
- From
- Nick Kovaliov ()
- To
- Вадим Зеленин
- Date
- 2002-11-15T09:07:05Z
- Area
- RU.ALGORITHMS
ws.dfncis.de> <ar0nga$t2m$1@gavrilo.mtu.ru>
From: "Nick Kovaliov" <Nick@urm.ru>
ВЗ> Подробности найдёшь посмотрев код под отладчиком.
Да смотрел я ... давно правда ...
Поэтому и не вспомнил такие подробности ...
Там слолжность - придумывать разименования ...
ВЗ> Сразу поймёшь, почему в C не стали
ВЗ> делать такую фишку как вложенные функции
ВЗ> :)
Вообще-то это не так и сложно сделать.
Именно разименованием.
А насчёт почему не стали ... длинный разговор.
ВЗ> ага, написать/найти программу конвертации
ВЗ> из C в Pascal и отконвертировать
ВЗ> :)
ВЗ> типа http://www.astonshell.com/files/setupc2p.zip
ВЗ> ну и Google в помощь :)
Не думаю, что всё так просто ...
ВЗ> На самом деле есть и LEX и YACC для Pascal.
ВЗ> Из коммерческих - MKS Toolkit.
ВЗ> И ещё есть что-то бесплатное...
ВЗ> Кстати, для этого случая LEX не очень нужен -
ВЗ> у Pascal несложная лексика :)
Лексика никогда не бывает сложной -
конечный автомат её распознаёт, и всё тут !
ВЗ> И грамматика у него довольно простая.
Грамматика языков пр-ния как правило, не сложная.
Редко когда требуется что-то большее,
чем LL анализатор (рекурсивный спуск).
Ну максимум немножко наворотов к нему добавляется,
ну или грамматика перерабатывается до такого уровня
(удаление левой рекурсии, и всякое другое ...)
ВЗ> Если остановиться на уровне виртовского Pascal'а,
ВЗ> то заметно проще, чем у C.
ВЗ> Можно обойтись рекурсивным спуском, хотя это и противно :)
Вот я и говорю, что втупую не сделать.
Даже есть взять LEX и YACC для Паскаля,
несмотря на то, что это упростит дело,
всё равно придётся понять, как всё это работает.
Хотя это само по себе полезно :)
Сложно тут вот что -
Придётся бОльшую часть семантики паскаля реализовывать
самому, т.е. почти что сделать заново свой паскаль.
ВЗ> кстати, посмотри ещё
ВЗ> http://www.aco.ee/files/prog/pascal-time.html
:)
Вообще изврат это всё !
Не пишите люди не на паскале, не на С, зло это ! ;-))
ВЗ> PS Горе оутлуковое говорит, что надо
ВЗ> писать правильно - не "Паскальные"
ВЗ> (компиляторы) а Пасхальные или Наскальные :)
MsWord 2000 говорит "интернат" вместе "интернет".
До встречи, всего наилучшего !
--- ifmail v.2.15dev5
* Origin: Demos online service (2:5020/400)