реклама на сайте
подробности

 
 
> Скриптовые языки, что почитать?
beer_warrior
сообщение Jan 26 2007, 23:53
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380



Сама по себе тема поднималась на форуме неоднократно, и сам я немало нафлудил в этих топиках.
Речь идет о портировании известных скриптовых языков на МК.
Есть немало открытых исходников и готовых портов.
Но в данном случае речь идет о теории. Где можно взять инфу по внутреннему устройству интерпретаторов?
Задача - научиться самому портировать язык, причем возможно с урезанием функциональности (т.е копанием во внутренностях), на любой кристалл и/или RTOS.
Копание вслепую не слишком результативно sad.gif


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
?ELF
сообщение Jan 27 2007, 00:28
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 163
Регистрация: 8-09-06
Из: Россия, Челябинская область
Пользователь №: 20 187



Цитата(beer_warrior @ Jan 27 2007, 01:53) *
Сама по себе тема поднималась на форуме неоднократно, и сам я немало нафлудил в этих топиках.
Речь идет о портировании известных скриптовых языков на МК.
Есть немало открытых исходников и готовых портов.
Но в данном случае речь идет о теории. Где можно взять инфу по внутреннему устройству интерпретаторов?
Задача - научиться самому портировать язык, причем возможно с урезанием функциональности (т.е копанием во внутренностях), на любой кристалл и/или RTOS.
Копание вслепую не слишком результативно sad.gif


IMHO: PHP неплохо документирован и источников информации по нему много.
А последние версии, по возможностям, не уступают Perl-у ( при использовании в консольных приложениях ).

Ещё, вроде бы, существует порт Lisp-а для МК. Но, «в свободной продаже» не встречал его.
( могу ошибаться. Лет 15 уже с ним работать не доводилось ).

Ёклмн... ещё одна поправка. smile.gif
Есть же ветка Forth, начатая когда-то, Андреем Черезовым ( SP-Forth, http://www.eserv.ru/eserv/, http://www.enet.ru/win/cherezov/ ), поддержанная Николаем Немцевым ( автор nncron & nnbackup ― http://www.nncron.ru/).
Вот уж что годится для портирования на МК, так это Forth !

Кстати, в соседней ветке, уважаемый Kopa, запостил линк на девайсы, работающие под управлением редкостной Forth-OS
http://technoforth.ru/index.php?page=mPOS64

Сообщение отредактировал ?ELF - Jan 27 2007, 01:15


--------------------
do ut des
Go to the top of the page
 
+Quote Post
Olej
сообщение Jan 27 2007, 22:48
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 351
Регистрация: 11-09-05
Из: Харьков
Пользователь №: 8 458



Цитата(?ELF @ Jan 27 2007, 01:28) *
Ещё, вроде бы, существует порт Lisp-а для МК. Но, «в свободной продаже» не встречал его.
( могу ошибаться. Лет 15 уже с ним работать не доводилось ).

Ёклмн... ещё одна поправка. smile.gif
Есть же ветка Forth, начатая когда-то, Андреем Черезовым ( SP-Forth, http://www.eserv.ru/eserv/, http://www.enet.ru/win/cherezov/ ), поддержанная Николаем Немцевым ( автор nncron & nnbackup ― http://www.nncron.ru/).
Вот уж что годится для портирования на МК, так это Forth !

Кстати, в соседней ветке, уважаемый Kopa, запостил линк на девайсы, работающие под управлением редкостной Forth-OS
http://technoforth.ru/index.php?page=mPOS64


И Forth и LISP - портируемы и реализуемы в малых конфигурациях (сам помню раскручивал Forth ещё для x8086) ... но это всё - "другая песня" - это стековые машины, с которыми должны быть интегрированы приложения-программы, т.е. то, что называется: одноязыковая среда. К скриптовым языкам - управления заданиями - это имеет очень опосредованное отношение.
По моему мнению (прогнозу, предположению - IMHO) единственное, что перспективно портировать в этом смысле - это Perl; благо, всё что к нему относится - это free + open source.
Go to the top of the page
 
+Quote Post
Kopa
сообщение Jan 28 2007, 08:34
Сообщение #4


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(Olej @ Jan 27 2007, 22:48) *
И Forth и LISP - портируемы и реализуемы в малых конфигурациях (сам помню раскручивал Forth ещё для x8086) ... но это всё - "другая песня" - это стековые машины, с которыми должны быть интегрированы приложения-программы, т.е. то, что называется: одноязыковая среда.
К скриптовым языкам - управления заданиями - это имеет очень опосредованное отношение.

"Скриптовость" языков и подразумевает интегрирование скрипта с базисным языком без
процедуры перекомпилирования базисаsmile.gif

Форт можно расширить до синтаксиса и семантики заданного языка, что часто и делают,
создавая проблемно ориентированные расширения Форт языка. Лисп тоже близок
Форту, но в своей основе имеет другой базис.
Go to the top of the page
 
+Quote Post
Olej
сообщение Jan 28 2007, 16:32
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 351
Регистрация: 11-09-05
Из: Харьков
Пользователь №: 8 458



Цитата(Kopa @ Jan 28 2007, 09:34) *
"Скриптовость" языков и подразумевает интегрирование скрипта с базисным языком без
процедуры перекомпилирования базисаsmile.gif

Круто a14.gif ... зауважал ... чем-то напомнило забытый "Общий курс политэкономии" laugh.gif
Скриптовость языка, вообще то говоря, ничего не подразумевает laugh.gif - чем же интегрирован shell (разные sell: ksh, bash etc.) с базовым языком С ОС UNIX?

Цитата(Kopa @ Jan 28 2007, 09:34) *
Форт можно расширить до синтаксиса и семантики заданного языка, что часто и делают,
создавая проблемно ориентированные расширения Форт языка. Лисп тоже близок
Форту, но в своей основе имеет другой базис.

Можно расширить... Но только в "одноязыковых" системах, см. на этот счёт проекты школы Н.Вирта: Modula - Lylith - Oberon - BlyeBottle ...
Если ваши приложения - в Forth системе, то Forth может быть и языком управления задачами, если ваши приложения - Lisp, то и стековой машиной Lisp вы можете управлять из Lisp... Но управлять выполнением из скриптового языка заданиями, приведенными в ELF-формат из C, C++, FORTRAN, Ada, Forth & Lisp (да ещё и одновременно из разных) - ни из Forth ни из Lisp вы не построите управляющую надстройку.

В этом смысле путаницу вносит неточно сформулированное исходное пожелание:
Цитата
Речь идет о портировании известных скриптовых языков на МК.
...
- научиться самому портировать язык, причем возможно с урезанием функциональности (т.е копанием во внутренностях), на любой кристалл и/или RTOS.

- что сие значит?

А в отношении:
Цитата(beer_warrior @ Jan 28 2007, 00:22) *
Ну почему же, есть готовая реализация tcl для ARM, Lua для М16.Компилил Lua для ARM, немножко игрался. Но чтобы сделать полноценную реализацию надо очень хорошо знать внутренности (представление данных, механизм исполнения итп.). К сожалению без полноценного знания теории копание исходников сродни забиванию шурупов молотком sad.gif Поэтому и спрашиваю.
Возможно при вдумчивой оценке и Perl окажется решением.
А может Python удастся урезать.

... есть. А ещё есть Ruby и много другого .... но всё это экзотика последних времён, в которой всё очень зыбко и меняется, и если переносить/портировать, и тратить на это много времени - то то, в первую очередь: а). для чего есть уже устоявшиеся стандарты синтаксиса и семантики + б). для чего есть уже большие объёмы готового наработанного кода. Именно только из таких соображений я предложил Perl. и это только моё IMHO.
Go to the top of the page
 
+Quote Post
Kopa
сообщение Jan 29 2007, 07:02
Сообщение #6


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(Olej @ Jan 28 2007, 16:32) *
Цитата(Kopa @ Jan 28 2007, 09:34) *

Форт можно расширить до синтаксиса и семантики заданного языка, что часто и делают,


Можно расширить... Но только в "одноязыковых" системах, см. на этот счёт проекты школы Н.Вирта: Modula - Lylith - Oberon - BlyeBottle ...
Если ваши приложения - в Forth системе, то Forth может быть и языком управления задачами,


"Одноязыковость" в вашем контексте подразумевает следование синтаксису и семантики
заданного языка?
Но Форт может менять свой синтаксис и семантику, без перекомпиляции ядра, до произвольно заданного языка!!!. Форт при этом тоже остается доступным.

Цитата(Olej @ Jan 28 2007, 16:32) *
... если ваши приложения - Lisp, то и стековой машиной Lisp вы можете управлять из Lisp... Но управлять выполнением из скриптового языка заданиями, приведенными в ELF-формат из C, C++, FORTRAN, Ada, Forth & Lisp (да ещё и одновременно из разных) - ни из Forth ни из Lisp вы не построите управляющую надстройку.


По моему это уже относится к заданному расширению конкретного общего языка операционными возможностями. ( затрагивает уровень операционной сисстемы).

P.S. Под базисом языка имелось ввиду его синтаксис и семантика. ( shell не С, С++ язык)

Сообщение отредактировал Kopa - Jan 29 2007, 07:04
Go to the top of the page
 
+Quote Post
Olej
сообщение Jan 29 2007, 12:34
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 351
Регистрация: 11-09-05
Из: Харьков
Пользователь №: 8 458



Цитата(Kopa @ Jan 29 2007, 08:02) *
"Одноязыковость" в вашем контексте подразумевает следование синтаксису и семантики
заданного языка?

"Одноязыковость" в моём контексте ( laugh.gif - собственно, это не мой контекст: я его "украл" у Н.Вирта) подразумевает следование всей системы семантике и понятиям выбранного языка реализации. Лучшия тому пример: OS BlueBottle, реализованной в рамках понятий языка Oberon (или Zennon), которые (понятия) просто невозможно реализовать/смоделировать в рамках понятий другого языка реализации, например С; пример таким понятиям: "активные объекты" и мониторы Хоара.

Цитата(Kopa @ Jan 29 2007, 08:02) *
Но Форт может менять свой синтаксис и семантику, без перекомпиляции ядра, до произвольно заданного языка!!!. Форт при этом тоже остается доступным.

Ну-ка, ну-ка - "реализуйте" мне в Forth семантику Ada (с пакетами, пространствами видимости, параллельностями и рандеву ... etc.).
- Я духов вызывать могу из бездны!
- Я тоже могу. Весь вопрос в том - явятся ли они на зов?
(с) В.Шекспир "Генрих IV".
И, собственно, что вы собираетесь конкретно реализовывать ... ("семантика" сама по себе ведь это некоторая фикция, в роде Синей Птицы?) :
- компилятор с Ada написанный на Forth?
- исполняющую систему, выполненную на Forth, интерпретирующую код на Ada?
- ... или ещё чего w00t.gif ?
(это, конечно, при условии, что вы отчётливо разграничиваете: а). компилятор б). интерпретатор в). моделирующую виртуальную машину, реализующую исполняющую систему, ... ).
Go to the top of the page
 
+Quote Post
Kopa
сообщение Jan 30 2007, 07:16
Сообщение #8


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(Olej @ Jan 29 2007, 12:34) *
...
И, собственно, что вы собираетесь конкретно реализовывать ... ("семантика" сама по себе ведь это некоторая фикция, в роде Синей Птицы?) :
- компилятор с Ada написанный на Forth?
- исполняющую систему, выполненную на Forth, интерпретирующую код на Ada?
- ... или ещё чего w00t.gif ?
(это, конечно, при условии, что вы отчётливо разграничиваете: а). компилятор б). интерпретатор в). моделирующую виртуальную машину, реализующую исполняющую систему, ... ).


Если семантика языка программирования "Синяя птица", то я Шекспирsmile.gif
А чем тогда выступает синтаксис языка?

Из прведенных вариантов реализации Aды на Форте выбирается любой из предложенных.

P.S. Что такое Ада у меня есть начальное представление.
Что мне, в свое время в ней понравилось, так несколько более выразительные конструкции
управляющих структур, чем в Си языке.
А не понравилось большой акцент на декларирование обрамляющих
описаний. ( Возможно в крупных проектах это позволяет контролировать их).
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- beer_warrior   Скриптовые языки   Jan 26 2007, 23:53
||- - =AK=   Цитата(Olej @ Jan 29 2007, 19:04) Ну-ка, ...   Jan 29 2007, 13:08
|||- - Olej   Цитата(=AK= @ Jan 29 2007, 14:08) В списк...   Jan 29 2007, 15:13
|||- - =AK=   Цитата(Olej @ Jan 29 2007, 21:43) Не сомн...   Jan 29 2007, 15:58
|||- - Olej   Цитата(=AK= @ Jan 29 2007, 16:58) деклари...   Jan 29 2007, 17:39
|||- - =AK=   Цитата(Olej @ Jan 30 2007, 00:09) Это не ...   Jan 30 2007, 02:06
|||- - Olej   Цитата(=AK= @ Jan 30 2007, 03:06) Кстати,...   Jan 30 2007, 13:22
|||- - =AK=   Цитата(Olej @ Jan 30 2007, 19:52) когда в...   Jan 30 2007, 14:19
|||- - Kopa   [quote name='Olej' date='Jan 30 2007, ...   Jan 30 2007, 14:28
|- - Kopa   Форт системы пишутся на разных языках есть, наприм...   Jan 29 2007, 10:24
- - beer_warrior   ЦитатаПо моему мнению (прогнозу, предположению - I...   Jan 27 2007, 23:22
|- - ?ELF   Цитата(beer_warrior @ Jan 28 2007, 01:22)...   Jan 29 2007, 00:08
- - beer_warrior   Цитата- что сие значит? Значит это то, что большин...   Jan 28 2007, 17:27
|- - Olej   Цитата(beer_warrior @ Jan 28 2007, 18:27)...   Jan 28 2007, 23:19
|- - =AK=   Цитата(beer_warrior @ Jan 28 2007, 23:57)...   Jan 29 2007, 07:45
- - beer_warrior   Не буду затевать священную войну, и за ссылки и за...   Jan 29 2007, 00:34
- - =AK=   Интерпретатор не так уж сильно зависит от языка пр...   Jan 29 2007, 12:31
- - Kopa   Цитата(=AK= @ Jan 29 2007, 12:31) Форт-ма...   Feb 1 2007, 11:59


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 26th July 2025 - 02:41
Рейтинг@Mail.ru


Страница сгенерированна за 0.01481 секунд с 7
ELECTRONIX ©2004-2016