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

 
 
> Basic Interpreter for AVR, Хочу написать
prottoss
сообщение Apr 3 2006, 13:41
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Доброго времени суток!

Возникла идея написания интерпретатора Basic для МК AVR. Не буду говорить о мотивах, подтолкнувших меня на это дело. Возникло несколько вопросов перед решением данной задачи:



1. Нужно ли это кому нибудь.

2. А не изобретаю ли я велосипед.



Ну и еще несколько, которые появятся, если я реально за это возьмусь.


--------------------
Go to the top of the page
 
+Quote Post
5 страниц V  « < 2 3 4 5 >  
Start new topic
Ответов (45 - 59)
Kopa
сообщение Apr 6 2006, 09:22
Сообщение #46


Знающий
****

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



Цитата(Evgeny_CD @ Apr 6 2006, 11:34) *
Кстати, есть свежая книжка по форту - непонятно, почему на сайте супер-пупер фортистов нет на нее ссылки (есть только перевод первого издания 10 летней давности)?
http://thinking-forth.sourceforge.net/


В ссылках на литературу именно эта ссылка и находится smile.gif
Go to the top of the page
 
+Quote Post
Evgeny_CD
сообщение Apr 6 2006, 10:20
Сообщение #47


Гуру
******

Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892



Цитата(Kopa @ Apr 6 2006, 13:22) *
В ссылках на литературу именно эта ссылка и находится smile.gif
Да, есть такое!
Go to the top of the page
 
+Quote Post
prottoss
сообщение Apr 6 2006, 11:47
Сообщение #48


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Все выше сказанное, конечно, очень интересно. Но, я, с вашего позволения, продолжу тему BASIC INTERPRETER FOR AVR :-)

Пока я делал наброски кода, параллельно обдумывал интерфейс связи с хостом. Хотелось бы сделать данную софтину как можно менее ресурсо прожорливую. В качестве внешнего интерфейса в AVR пока для меня видится USART. Вот только вопрос, надо ли задействовать аппаратный, или же применить программный... Хотя в этом случае придется задействовать один из счетчиков. Наверное, проще будет сделать оба варианта...Сам на свой вопрос и ответил... :-)


--------------------
Go to the top of the page
 
+Quote Post
=AK=
сообщение Apr 6 2006, 12:31
Сообщение #49


pontificator
******

Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483



Цитата(prottoss @ Apr 6 2006, 21:17) *
Все выше сказанное, конечно, очень интересно. Но, я, с вашего позволения, продолжу тему BASIC INTERPRETER FOR AVR :-)

"Чернила для 6-го класса?" smile.gif Разве что пустой причуды ради хотите написать его на ассемблере. Ресурсы по Бэйсику, http://www.nicholson.com/rhn/basic/

Сам интерпретатор может быть достаточно произвольным. Например, Атари Бэйсик компилировал бэйсик исходник в байт-код, который затем исполнялся виртуальной Форт-машиной. Все было написано на ассемблере 6502, но это когда ж было...

У Вас компилятор и интерпретатор будут разделены, или же оба должны работать на целевой платформе?
Go to the top of the page
 
+Quote Post
prottoss
сообщение Apr 6 2006, 12:49
Сообщение #50


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(=AK= @ Apr 6 2006, 20:31) *
Цитата(prottoss @ Apr 6 2006, 21:17) *

Все выше сказанное, конечно, очень интересно. Но, я, с вашего позволения, продолжу тему BASIC INTERPRETER FOR AVR :-)

"Чернила для 6-го класса?" smile.gif Разве что пустой причуды ради хотите написать его на ассемблере. Ресурсы по Бэйсику, http://www.nicholson.com/rhn/basic/

Сам интерпретатор может быть достаточно произвольным. Например, Атари Бэйсик компилировал бэйсик исходник в байт-код, который затем исполнялся виртуальной Форт-машиной. Все было написано на ассемблере 6502, но это когда ж было...

У Вас компилятор и интерпретатор будут разделены, или же оба должны работать на целевой платформе?





OFF:Ну конечно, куда мне до вас, акул электроники, мечтающих, забабахать что нибудь эдакое и новомодное. Да, из 6-го класса я вылез не так давно, и ВУЗ окончил совсем таки недавно. То что мне попадалось в сети и то, на что давались ссылки в этом топике я смотрел и анализировал, что то понравилось, от чего то отказался. Но мне это нужно, и я это напишу. Сдесь же я пытался получить какие то конструктивные советы, а не мечтания о новой ОСи



RE: У Вас компилятор и интерпретатор будут разделены, или же оба должны работать на целевой платформе?



Пока все ориентированно на AVR, по этому пишется на Асме - соответственно платформа все таки целевая. Хотя, когда выработаются жесткие конструкции в голове, может быть можно будет говорить и о переносимости, хотя таковой цели я не ставлю


--------------------
Go to the top of the page
 
+Quote Post
Evgeny_CD
сообщение Apr 6 2006, 13:11
Сообщение #51


Гуру
******

Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892



prottoss - не злитесь и не обижайтесь. Просто использование AVR для ваших целей для многих кажется странным (и для меня), в то время как построение контроллера с интерпретатором - очень даже стоящая вещь.

Вероятно, это от жадности, но я хотел бы видеть проект не на васике и не на AVR - но проект ваш, и решать Вам.

Остальным остается только радоваться за Вас или сочувствовать Вам. biggrin.gif
Go to the top of the page
 
+Quote Post
prottoss
сообщение Apr 6 2006, 13:20
Сообщение #52


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(Evgeny_CD @ Apr 6 2006, 21:11) *
prottoss - не злитесь и не обижайтесь. Просто использование AVR для ваших целей для многих кажется странным (и для меня), в то время как построение контроллера с интерпретатором - очень даже стоящая вещь.

Вероятно, это от жадности, но я хотел бы видеть проект не на васике и не на AVR - но проект ваш, и решать Вам.

Остальным остается только радоваться за Вас или сочувствовать Вам. biggrin.gif




Да я и не злюсь и не обижаюсь, все равно тапок до вас не долетит. Как сказал выше BVU "...Мы не в столовой и не в бане...". На каждого мудреца найдется другой такой же, который посчитает его глупцом.


--------------------
Go to the top of the page
 
+Quote Post
beer_warrior
сообщение Apr 6 2006, 17:11
Сообщение #53


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

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



2 prottoss
Цитата
Пока я делал наброски кода, параллельно обдумывал интерфейс связи с хостом. Хотелось бы сделать данную софтину как можно менее ресурсо прожорливую.

Насчет исполнения, следует четко определиться, откуда будут поступать команды. На первый взгляд видиться УАРТ и внешняя память.
Второе наверное выбрать модель исполнения: ИМХО с байт-кодом связываться не стоит.Парсить текст.
Третье - типы данных.
Четвертое - операторы, имхо связываться с модификацией регистров не стоит - юзер может наделать беды. Лучше вызывать АПИ из флэша.

Если будут работать базовые - присваивание, ветвление, цикл и арифметика, поддерживаться целочисленные и строки пол-дела уже можно сказать сделано.

Идею именно Басика не поддерживаю, но в данном случае это не принципиально.

Цитата
Пока все ориентированно на AVR, по этому пишется на Асме - соответственно платформа все таки целевая. Хотя, когда выработаются жесткие конструкции в голове, может быть можно будет говорить и о переносимости, хотя таковой цели я не ставлю

Гляньте вещь под названием yacc, возможно поможет.

Сообщение отредактировал beer_warrior - Apr 6 2006, 17:15


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post
beer_warrior
сообщение Apr 6 2006, 17:29
Сообщение #54


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

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



2 Evgeny_CD
Цитата
Там всякие МЭКовские языки обсуждали пр - довольно близко к тому, что мы начали тут обсуждать.

Да почитывал, но там чисто теоретические изыски, а я в принципе хотел бы садиться и гнать код.
Сразу вопрос: Lua для eCos не нашел, где смотреть?

И еще 2 all:
Вчера на сон грядущий, перелистал еще раз руководство по tcl, с прикидкой на портирование, вроде бы если подрезать работу с файлами то получиться весьма мило, а если еще поддержать файлы -
с поддержкой на уровне фирмвари файлов-устройств, то вообще полный шоколад. Ну а далее полные Нью-Васюки embedded tk.
В связи с этим вопрос: водиться ли tcl/tk в исходниках???


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post
Evgeny_CD
сообщение Apr 6 2006, 18:20
Сообщение #55


Гуру
******

Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892



Цитата(beer_warrior @ Apr 6 2006, 21:29) *
Сразу вопрос: Lua для eCos не нашел, где смотреть?
**************** Ресурсы по LUA ***************************

*** порт LUA 5.0.2 для eCos
Реньше жил тут http://www.elatec.si , но сейчас его там нет

Выложил в местные закрома
/pub/OS/LUA_5.02_for_eCos_Port/lua5_0_2-ecos-040324.tgz

И сюда
http://rapidshare.de/files/17358631/lua5_0...40324.tgz_.html

Официальный релиз LUA, для которого написан этот порт
http://www.lua.org/ftp/lua-5.0.2.tar.gz

*** доки, инфа
http://lua-users.org/wiki/LuaDirectory - хороший сборник ресурсов
http://www.lua.org/pil/ - книга Programming in Lua
http://www.lua.org/docs.html - официальные доки по LUA

Выложил в местные закрома
/pub/DOC/Books/LUA/premier.press.game.programming.with.python.lua.and.ruby.ebook-lib.chm

*** проекты, использующие LUA
http://www.lua.org/uses.html

*** связь программ, написанных на С, со скриптовыми языками
http://www.swig.org

SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages. SWIG is used with different types of languages including common scripting languages such as Perl, PHP, Python, Tcl, Ruby and PHP. The list of supported languages also includes non-scripting languages such as C#, Common Lisp (CLISP, Allegro CL, CFFI, UFFI), Java, Modula-3 and OCAML. Also several interpreted and compiled Scheme implementations (Guile, MzScheme, Chicken) are supported. SWIG is most commonly used to create high-level interpreted or compiled programming environments, user interfaces, and as a tool for testing and prototyping C/C++ software. SWIG can also export its parse tree in the form of XML and Lisp s-expressions. SWIG may be freely used, distributed, and modified for commercial and non-commercial use.

LUA он тоже поддерживает.
Цитата(beer_warrior @ Apr 6 2006, 21:29) *
Вчера на сон грядущий, перелистал еще раз руководство по tcl, с прикидкой на портирование, вроде бы если подрезать работу с файлами то получиться весьма мило, а если еще поддержать файлы -
с поддержкой на уровне фирмвари файлов-устройств, то вообще полный шоколад. Ну а далее полные Нью-Васюки embedded tk.
В связи с этим вопрос: водиться ли tcl/tk в исходниках???
****** Tcl **************
http://tcl.sourceforge.net/

********** IMHO **************
Имеет смысл работать с LUA, ибо в силу простоты и хорошей доки ее можно портировать под что угодно, хоть под тот же uCOS.

Tcl гораздо сложнее.
Go to the top of the page
 
+Quote Post
Kopa
сообщение Apr 7 2006, 03:26
Сообщение #56


Знающий
****

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



Цитата(prottoss @ Apr 6 2006, 14:47) *
Все выше сказанное, конечно, очень интересно. Но, я, с вашего позволения, продолжу тему BASIC INTERPRETER FOR AVR :-)

Пока я делал наброски кода, параллельно обдумывал интерфейс связи с хостом. Хотелось бы сделать данную софтину как можно менее ресурсо прожорливую. В качестве внешнего интерфейса в AVR пока для меня видится USART. Вот только вопрос, надо ли задействовать аппаратный, или же применить программный... Хотя в этом случае придется задействовать один из счетчиков. Наверное, проще будет сделать оба варианта...Сам на свой вопрос и ответил... :-)


Для интерфейса связи с хостом можно и SPI использовать. Возможность программирования
будет. Протокол может состоять минимум из трех команд записать ячейку, считать ячейку и запустить выполнение кода.
При разработке своей IDE рабочий прототип мне сэкономил время. Сейчас есть идея добавить
мультиязыковую поддержку в проект..( возможно Javа первый из кандидатов)

Сообщение отредактировал Kopa - Apr 7 2006, 03:43
Go to the top of the page
 
+Quote Post
Kopa
сообщение Apr 7 2006, 04:22
Сообщение #57


Знающий
****

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



Примеров Бейсиков достаточно приведено в Proteuse.
Go to the top of the page
 
+Quote Post
=AK=
сообщение Apr 7 2006, 05:44
Сообщение #58


pontificator
******

Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483



Цитата(prottoss @ Apr 6 2006, 22:19) *
Да, из 6-го класса я вылез не так давно, и ВУЗ окончил совсем таки недавно.

Это была цитата из Задорнова: "Дайте мне чернила для 6-го класса!" ©, что ассоциируется у меня с "бэйсик для AVR". Не имел намерения ни на что другое намекать.

Цитата(prottoss @ Apr 6 2006, 22:19) *
Цитата

У Вас компилятор и интерпретатор будут разделены, или же оба должны работать на целевой платформе?

Пока все ориентированно на AVR, по этому пишется на Асме - соответственно платформа все таки целевая. Хотя, когда выработаются жесткие конструкции в голове, может быть можно будет говорить и о переносимости, хотя таковой цели я не ставлю

Вопрос был о другом, не о переносимости. Интерпретатор находится а целевой платформе, т.е. на AVR. Вопрос в том где находится компилятор, тоже на AVR (резидентно) или на PC (кросс-компилятор). И тот и другой вариант возможны, но второй несравненно проще реализовать.

Я понимаю, скажем, почему тот же Атари-бэйсик был полностью резидентным - в то время PC не существовало. И почему он был написан на ассемблере - не было C для 6502. Но сейчас-то зачем огонь трением добывать, из спортивного интереса?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 7 2006, 05:57
Сообщение #59


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(beer_warrior @ Apr 6 2006, 19:11) *
Гляньте вещь под названием yacc, возможно поможет.

Это и/или bison смотреть обязательно. Вне зависимости будет в конце-концов синтаксис бейсика или нет.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Kopa
сообщение Apr 7 2006, 06:07
Сообщение #60


Знающий
****

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



Цитата(=AK= @ Apr 7 2006, 08:44) *
Я понимаю, скажем, почему тот же Атари-бэйсик был полностью резидентным - в то время PC не существовало. И почему он был написан на ассемблере - не было C для 6502. Но сейчас-то зачем огонь трением добывать, из спортивного интереса?


Не перевелись на руси богатыри добывающие огонь трением!!!!
Один из проектов создания своей оси используя ассемблер http://meos.sysbin.ru
Я тут недавно в каком то топике давал ссылку на порт LCC при использовании форта.

Сообщение отредактировал Kopa - Apr 7 2006, 06:11
Go to the top of the page
 
+Quote Post

5 страниц V  « < 2 3 4 5 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


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


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