|
|
  |
Basic Interpreter for AVR, Хочу написать |
|
|
|
Apr 6 2006, 11:47
|

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

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

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

|
Цитата(prottoss @ Apr 6 2006, 21:17)  Все выше сказанное, конечно, очень интересно. Но, я, с вашего позволения, продолжу тему BASIC INTERPRETER FOR AVR :-) "Чернила для 6-го класса?"  Разве что пустой причуды ради хотите написать его на ассемблере. Ресурсы по Бэйсику, http://www.nicholson.com/rhn/basic/Сам интерпретатор может быть достаточно произвольным. Например, Атари Бэйсик компилировал бэйсик исходник в байт-код, который затем исполнялся виртуальной Форт-машиной. Все было написано на ассемблере 6502, но это когда ж было... У Вас компилятор и интерпретатор будут разделены, или же оба должны работать на целевой платформе?
|
|
|
|
|
Apr 6 2006, 12:49
|

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

|
Цитата(=AK= @ Apr 6 2006, 20:31)  Цитата(prottoss @ Apr 6 2006, 21:17)  Все выше сказанное, конечно, очень интересно. Но, я, с вашего позволения, продолжу тему BASIC INTERPRETER FOR AVR :-)
"Чернила для 6-го класса?"  Разве что пустой причуды ради хотите написать его на ассемблере. Ресурсы по Бэйсику, http://www.nicholson.com/rhn/basic/Сам интерпретатор может быть достаточно произвольным. Например, Атари Бэйсик компилировал бэйсик исходник в байт-код, который затем исполнялся виртуальной Форт-машиной. Все было написано на ассемблере 6502, но это когда ж было... У Вас компилятор и интерпретатор будут разделены, или же оба должны работать на целевой платформе? OFF:Ну конечно, куда мне до вас, акул электроники, мечтающих, забабахать что нибудь эдакое и новомодное. Да, из 6-го класса я вылез не так давно, и ВУЗ окончил совсем таки недавно. То что мне попадалось в сети и то, на что давались ссылки в этом топике я смотрел и анализировал, что то понравилось, от чего то отказался. Но мне это нужно, и я это напишу. Сдесь же я пытался получить какие то конструктивные советы, а не мечтания о новой ОСи RE: У Вас компилятор и интерпретатор будут разделены, или же оба должны работать на целевой платформе? Пока все ориентированно на AVR, по этому пишется на Асме - соответственно платформа все таки целевая. Хотя, когда выработаются жесткие конструкции в голове, может быть можно будет говорить и о переносимости, хотя таковой цели я не ставлю
--------------------
|
|
|
|
|
Apr 6 2006, 17:11
|

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

|
2 prottoss Цитата Пока я делал наброски кода, параллельно обдумывал интерфейс связи с хостом. Хотелось бы сделать данную софтину как можно менее ресурсо прожорливую. Насчет исполнения, следует четко определиться, откуда будут поступать команды. На первый взгляд видиться УАРТ и внешняя память. Второе наверное выбрать модель исполнения: ИМХО с байт-кодом связываться не стоит.Парсить текст. Третье - типы данных. Четвертое - операторы, имхо связываться с модификацией регистров не стоит - юзер может наделать беды. Лучше вызывать АПИ из флэша. Если будут работать базовые - присваивание, ветвление, цикл и арифметика, поддерживаться целочисленные и строки пол-дела уже можно сказать сделано. Идею именно Басика не поддерживаю, но в данном случае это не принципиально. Цитата Пока все ориентированно на AVR, по этому пишется на Асме - соответственно платформа все таки целевая. Хотя, когда выработаются жесткие конструкции в голове, может быть можно будет говорить и о переносимости, хотя таковой цели я не ставлю Гляньте вещь под названием yacc, возможно поможет.
Сообщение отредактировал beer_warrior - Apr 6 2006, 17:15
--------------------
Вони шукають те, чого нема, Щоб довести, що його не існує.
|
|
|
|
|
Apr 6 2006, 17:29
|

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

|
2 Evgeny_CD Цитата Там всякие МЭКовские языки обсуждали пр - довольно близко к тому, что мы начали тут обсуждать. Да почитывал, но там чисто теоретические изыски, а я в принципе хотел бы садиться и гнать код. Сразу вопрос: Lua для eCos не нашел, где смотреть? И еще 2 all: Вчера на сон грядущий, перелистал еще раз руководство по tcl, с прикидкой на портирование, вроде бы если подрезать работу с файлами то получиться весьма мило, а если еще поддержать файлы - с поддержкой на уровне фирмвари файлов-устройств, то вообще полный шоколад. Ну а далее полные Нью-Васюки embedded tk. В связи с этим вопрос: водиться ли tcl/tk в исходниках???
--------------------
Вони шукають те, чого нема, Щоб довести, що його не існує.
|
|
|
|
|
Apr 6 2006, 18:20
|
Гуру
     
Группа: СуперМодераторы
Сообщений: 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.orgSWIG 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 гораздо сложнее.
|
|
|
|
|
Apr 7 2006, 03:26
|
Знающий
   
Группа: Участник
Сообщений: 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
|
|
|
|
|
Apr 7 2006, 05:44
|

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. Но сейчас-то зачем огонь трением добывать, из спортивного интереса?
|
|
|
|
|
Apr 7 2006, 06:07
|
Знающий
   
Группа: Участник
Сообщений: 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
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|