Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.11.19;
Скачать: CL | DM;

Вниз

Функция перевода файлов *.pas в структуру элементов языка ?   Найти похожие ветки 

 
MultiLang   (2006-10-29 04:12) [0]

Написанная на паскале естественно.
Что-то типа :
1 function <параметры>
2 вычисление формулы <параметры>
3 for <параметры>
4 if <параметры>
и т. д.

Просто из такого вида будет проще перевести в Бейсик или Си++, или любой другой язык.

Если бы была такая же функция для Си или Бейсика, то также легко можно было переводить в Паскаль.

Любой язык программирования (не реального времени) - это всего лишь форма представления вышеприведённой структуры. Верно ?


 
TUser ©   (2006-10-29 04:16) [1]

Ничего не понял :)


 
MultiLang   (2006-10-29 04:21) [2]

Надо различать элементы языковых конструкций и их конкретные реализации в языках программирования.

Скажем присваивания в Паскале записывается как ":=" , а в Си как "=".
Однако присваивание от этого не перестаёт быть присваиванием.

Также и циклы в разных языках могут записывать по-разному, однако от этого они не перестают быть циклами.

И т. д.


 
MultiLang   (2006-10-29 04:25) [3]

Или блоки. Они есть во всех языках. В Паскале они обозначются как begin end, а в Сях как {}.

Не важно как обозначается. Важна суть блока. Что это нечто содержащее список таких же языковых конструкций, в том числе и других блоков.


 
Ketmar ©   (2006-10-29 04:28) [4]

abstract synthax trees. искать. компиляторы паскаля. искать.


 
MultiLang   (2006-10-29 04:33) [5]

У меня есть компилятор Паскаля. Называется Дельфи 7.


 
Ketmar ©   (2006-10-29 04:38) [6]

>[5] MultiLang 29-Oct-2006, 04:33
>У меня есть компилятор Паскаля. Называется Дельфи 7.
с исходниками? тогда что ты здесь делаешь? читай исходники.


 
MultiLang   (2006-10-29 05:00) [7]


> Ketmar ©   (29.10.06 04:38) [6]
>
> >[5] MultiLang 29-Oct-2006, 04:33
> >У меня есть компилятор Паскаля. Называется Дельфи 7.
> с исходниками?

Конечно с исходниками.


> читай исходники.

Какие именно?
Как называется такая функция?


 
Ketmar ©   (2006-10-29 05:22) [8]

>[7] MultiLang 29-Oct-2006, 05:00
>Какие именно?
>Как называется такая функция?
откуда я знаю? у меня исходников D7 нет.


 
MultiLang   (2006-10-29 05:29) [9]

Тогда чтож советуешь, если у тебя их нет?


 
Ketmar ©   (2006-10-29 05:42) [10]

>[9] MultiLang 29-Oct-2006, 05:29
>Тогда чтож советуешь, если у тебя их нет?
специально для тех, по ком проехал бронепоезд: принципы построения компиляторов везде одинаковы. одна из частей компилятора -- лексический анализ. вместе с анализом можно строить AST. я даже подсказал, где взять готовый код. но в пустую голову мозгов не вложишь -- она герметично закрыта. иди в другую песочницу развлекаться.


 
MultiLang   (2006-10-29 06:09) [11]

Сам иди куда других посылаешь.
У тебя функцию попросили. А не лекцию на тему.
Есть у тебя такая фукнция? Нету. Ну и всё.


> принципы построения компиляторов везде одинаковы

Ты, что, видел исходники всех компиляторов на свете, чтобы это утверждать?


 
Esu ©   (2006-10-29 06:36) [12]


> Сам иди куда других посылаешь.
> У тебя функцию попросили. А не лекцию на тему.
> Есть у тебя такая фукнция? Нету. Ну и всё.

Просто твое сообщение уж очень соблязняет на стеб :)
Ну даже если логично подумать... Есть один язык программирования, для чего писать другой ? Другой должен быть удобнее, читабельнее etc. Или наоборот в ущерб скажем скорости во главу угла ставится скажем читаемость кода. Новый язык это новый язык, он создавался не для того, что бы повторить старый....
А по поводу бронепоезда то действительно онисание языка делается не так как ты предложил... Хотя, может быть ты когда-то (сейчас вряд ли) придумаешь лучший вариант чем существуют :)


 
MultiLang   (2006-10-29 06:47) [13]


> Есть один язык программирования, для чего писать другой ?

Паскаль создавался для минимализму. А минимализм нужен только для удобства восприятия человеком.


 
Esu ©   (2006-10-29 06:50) [14]


> Паскаль создавался для минимализму. А минимализм нужен только
> для удобства восприятия человеком.

Гм... Помоему C заподозрить в минимализме есть гораздо больше поводов :)


 
MultiLang   (2006-10-29 07:13) [15]

Наоборот Си наполнен всякой дурью типа :
x = ++a++ + ++b++;

Таким образом в одну формулу зачем-то запихнуто пять.

Если нужно узнать какие параметры в большом количестве формул изменяются, то в Дельфи достаточно смотреть только на то, что слева, до := . А в Си надо обязательно излазить глазами все формулы от и до, что долго, неудобно и чревато кучей ошибок.


 
Esu ©   (2006-10-29 07:27) [16]


> Наоборот Си наполнен всякой дурью типа :
> x = ++a++ + ++b++;
>
> Таким образом в одну формулу зачем-то запихнуто пять.
>
> Если нужно узнать какие параметры в большом количестве формул
> изменяются, то в Дельфи достаточно смотреть только на то,
>  что слева, до := . А в Си надо обязательно излазить глазами
> все формулы от и до, что долго, неудобно и чревато кучей
> ошибок.

Нечитабельный код можно и на delphi сделать :)
Разве на C кто-то заставляет такое писать... Все должно быть максимально просто... Хотя почему-то начинающие программисты считают, что чем запутанней они сделают тем большими профессионалами покажутся :(


 
MultiLang   (2006-10-29 07:37) [17]


> Нечитабельный код можно и на delphi сделать :)
> Разве на C кто-то заставляет такое писать...

Именно такой - нельзя, ибо минимализм. И это правильно. А на Си можно, поэтому и делают.


 
KilkennyCat ©   (2006-10-29 07:41) [18]

"Когда Вы говорите, впечатление такое, что Вы - бредите" (с) всем известен.


 
Шалом   (2006-10-29 08:00) [19]


> KilkennyCat ©   (29.10.06 07:41) [18]
>
> "Когда Вы говорите, впечатление такое, что Вы - бредите"
> (с) всем известен.


"Менахем, уйти отсюда !" ©


 
Anatoly Podgoretsky ©   (2006-10-29 11:19) [20]

> Ответ на сообщение [0]

> Просто из такого вида будет проще перевести в Бейсик или Си++, или любой
> другой язык.

Наивный


 
Anatoly Podgoretsky ©   (2006-10-29 11:20) [21]

> Ответ на сообщение [3]

Блок уже сам по себе самодостаточен, чтобы переводить его еще в третью форму


 
Anatoly Podgoretsky ©   (2006-10-29 11:21) [22]

> Ответ на сообщение [7]

О какой функции ведешь речь, не говори загадками


 
Anatoly Podgoretsky ©   (2006-10-29 11:21) [23]

> Ответ на сообщение [9]

> Тогда чтож советуешь, если у тебя их нет?

Поделиться с другом


 
Ketmar ©   (2006-10-29 11:22) [24]

>[11] MultiLang 29-Oct-2006, 06:09
>У тебя функцию попросили. А не лекцию на тему.
ну и обнаглели господа ламеры... я в восхищении.


 
Anatoly Podgoretsky ©   (2006-10-29 11:23) [25]

> Ответ на сообщение [11]

> Сам иди куда других посылаешь.

Еще одно оскобление и ветка будет закрыта и в зависимости от степени
возможно с автором.
Многоязычный ламер самоучка. Это не оскорбление, а константация.


 
Anatoly Podgoretsky ©   (2006-10-29 11:24) [26]

> Ответ на сообщение [13]

> Паскаль создавался для минимализму.

С таким определением автор языка совсем не согласен, ему такое определение и
не снилось.


 
Anatoly Podgoretsky ©   (2006-10-29 11:26) [27]

> Ответ на сообщение [16]

> Хотя почему-то начинающие программисты считают, что чем запутанней они
> сделают тем большими профессионалами покажутся

Человек слаб, а в начале пути еще и не разумен.


 
Belorus ©   (2006-10-29 11:54) [28]

Ну вот и окунули лицом в результат труда второго лица...

Но заслужено...

И ещё... Объясните мне одноязычному


x = ++a++ + ++b++;


Это автор просто как обычно тупанул ? Или бывает необходимость  писать такие конструкции ?


 
Ketmar ©   (2006-10-29 12:10) [29]

>[28] Belorus(c) 29-Oct-2006, 11:54
это, чувак, типа красиво и круто, ага.


 
guav ©   (2006-10-29 12:18) [30]

> x = ++a++ + ++b++;

это не дожно компилится.


 
Ketmar ©   (2006-10-29 12:20) [31]

>[30] guav(c) 29-Oct-2006, 12:18
>это не дожно компилится.
по идее -- не должно. проверять лень. %-) но даже a++ + ++b -- это уже эцих авторам языка. %-)


 
Vga ©   (2006-10-29 18:07) [32]

> x = ++a++ + ++b++;

Это и в самом деле не компилируется - проверял в GCC.


 
Ketmar ©   (2006-10-29 18:19) [33]

>[32] Vga(c) 29-Oct-2006, 18:07
>> x = ++a++ + ++b++;
>Это и в самом деле не компилируется - проверял в GCC.
да и не должно. "++a" даёт уже "value", а не ссылку на переменную. а к "value" "++" неприменимо. %-)


 
Vga ©   (2006-10-29 18:26) [34]

> [33] Ketmar ©   (29.10.06 18:19)

Это вполне понятно, но почему бы и не проверить?
А вообще, в адрес лаконичности и запутанности С есть и получше примеры... Только я их не помню.


 
Ketmar ©   (2006-10-29 18:27) [35]

>[34] Vga(c) 29-Oct-2006, 18:26
>Это вполне понятно
но кто скажет, что это очевидно? %-)


 
guav ©   (2006-10-29 18:29) [36]

> [33] Ketmar ©   (29.10.06 18:19)

Не так, хуже.

++a - таки увеличивает переменную и даёт эту самую переменную - вполне себе lvalue
a++ увеличивает переменную и возвращает копию старого значения, та копия уже не lvalue.
Т.е. x = (++a)++ будет работать.
Однако, операторы ++ оцениватся справа налево, потому x = ++a++ не скомпилится.


 
Ketmar ©   (2006-10-29 18:32) [37]

>[36] guav(c) 29-Oct-2006, 18:29
>Не так, хуже.
а, ну да. протупил я. забыл уже всю эту проктокриптографию. %-)


 
MultiLang   (2006-10-30 03:12) [38]


> Anatoly Podgoretsky ©   (29.10.06 11:23) [25]
> Многоязычный ламер самоучка. Это не оскорбление, а константация.


А ты старикан. Это тоже не оскорбление, а константация. Старикан, старикан, старикашечка. Гы-гы-гы !


 
KilkennyCat ©   (2006-10-30 08:29) [39]

> [38] MultiLang   (30.10.06 03:12)


Я всегда был убежден, что воспитанность прямо зависит от образованности.
Вот Вы невоспитанны. Следовательно...
Впрочем, это видно просто из:


> Любой язык программирования (не реального времени) - это
> всего лишь форма представления вышеприведённой структуры.
> Верно ?


 
MultiLang   (2006-10-31 03:49) [40]


> KilkennyCat ©   (30.10.06 08:29) [39]
> Вот Вы невоспитанны.


Мнение агрессивного хама, который цепляется к другим с оскорблениями меня не интересует. Ты в пролёте.



Страницы: 1 2 вся ветка

Текущий архив: 2006.11.19;
Скачать: CL | DM;

Наверх




Память: 0.57 MB
Время: 0.056 c
2-1162483339
Kos135
2006-11-02 19:02
2006.11.19
ImageList


2-1162396271
Busik
2006-11-01 18:51
2006.11.19
Как связать эти две программы


15-1160849771
Chort
2006-10-14 22:16
2006.11.19
какие фильмы посоветуете с ниженаписанного списка?


9-1134845898
QwertyKz
2005-12-17 21:58
2006.11.19
http://www.gamemaker.nl/


2-1162486902
PHPDeveloper
2006-11-02 20:01
2006.11.19
поиск в базе данных