Интерпретатор для PIC16

Hello, Anatoly! You wrote to Dima Oleshko on Sat, 05 Mar 2005 19:36:26 +0300:

AM> Есть такая штука - PICBASIC, но прошивку и софт BASIC STAMP я найти AM> не смог.

это был бы хороший вариант :) компилер васика вроде раздается с сайта параллакса, но вот прошивки пика найти пока не удалось, только готовые модули.

ну или

formatting link
только .hex, без исходников. но там исполняемая прога прошивается во внутреннюю EEPROM ну и какие то ограничения, я не разбирался пока.

With best regards, Dima Oleshko. E-mail: snipped-for-privacy@newyork.ru. ICQ: 171175197.

Reply to
Dima Oleshko
Loading thread data ...

Mon Mar 07 2005 12:45, Dima Oleshko wrote to George Shepelev:

DO>>> а насчет соли... делается некое устройство работающее в нескольких DO>>> не связанных между собой режимах. каждая из задач спокойно влезет в DO>>> 8К пика, но вот все вместе уже нет. перешивать флеш при смене задач DO>>> неохота,

GS>> Если задачи меняются достаточно редко, можно поиграться с режимом GS>> "самопрограммирования" PIC'а. Твой почти наверняка этот режим умеет ;)

DO> я еще не знаю как часто они будут менятся, но через год менять проц с DO> убитой флешкой неохота :)

Hе маяться дурью и взять процессор с достаточным объемом памяти.

WBR, Yuriy

Reply to
Yuriy K

Hello, Yuriy! You wrote to Dima Oleshko on Mon, 07 Mar 2005 15:20:24 +0300:

DO>> я еще не знаю как часто они будут менятся, но через год менять проц DO>> с убитой флешкой неохота :)

YK> Hе маяться дурью и взять процессор с достаточным объемом памяти.

так и сделаю. сам уже понял :))

кстати кто то интересовался Java?

formatting link
With best regards, Dima Oleshko. E-mail: snipped-for-privacy@newyork.ru. ICQ: 171175197.

Reply to
Dima Oleshko

Kirill, ты ещё здесь сидишь?

Воскресенье Март 06 2005 11:16, Kirill Frolov wrote to Dima Orlov:

DO>> Главное - найти мазохистов, которые потом этот мрак DO>> программировать будут и после этого не начнут говорить "суп DO>> тарелка ложка взять налить съесть", прийдя в обеденный перерыв DO>> домой. KF> Hикогда не понимал, что мешает форт превратить в лисп.

А ничто не мешает. Синтаксис форта легко меняется (в литературе есть масса примеров), но сперва принято изучать работу форт-машины с "классическим" синтаксисом.

Георгий

Reply to
George Shepelev

Dima, ты ещё здесь сидишь?

Понедельник Март 07 2005 12:45, Dima Oleshko wrote to George Shepelev:

DO>>> а насчет соли... делается некое устройство работающее в DO>>> нескольких не связанных между собой режимах. каждая из задач DO>>> спокойно влезет в 8К пика, но вот все вместе уже нет. перешивать DO>>> флеш при смене задач неохота, GS>> Если задачи меняются достаточно редко, можно поиграться с GS>> режимом "самопрограммирования" PIC'а. Твой почти наверняка этот GS>> режим умеет ;) DO> я еще не знаю как часто они будут менятся, но через год менять проц с DO> убитой флешкой неохота :)

Hу вот и уточнил бы в начале условия работы девайса. Проблема может оказаться надуманой... Скажем, если ресурс 10000 перепрошивок вырабатывается за год, значит устройство постоянно перепрограммировалось чаще раза в час. Это для твоей задачи реально?

DO>>> поэтому возникла идея зашить некие общие функции (клавиатура, DO>>> индикатор, периферия) и собственно сам интерпретатор в флеш, а DO>>> сами задачи выполнять из внешней памяти. GS>> Что за задачи? Я не из праздного любопытства, просто нюансы GS>> могут очень существенно повлиять на выбор реализации... DO> терминал на несколько протоколов.

И подобный софт не влазит в 8 килослов? Я бы сосредоточился на оптимизации алгоритма и кода программы...

Георгий

Reply to
George Shepelev

Hello Kirill.

06 Mar 05 11:16, you wrote to Dima Orlov:

DO>> в обеденный перерыв домой. KF> Hикогда не понимал, что мешает форт превратить в лисп.

Чего только люди не придумают, лишь бы не делать парсер инфиксной записи ;)

KF> И порядок записи будет прямой,

Ага прямой. А общепринят порядок не прямой (префиксый). И не обратный (постфиксный). А математический (инфиксный)

;)

Alexey

Reply to
Alexey Boyko

Wed Mar 09 2005 13:46, Alexey Boyko wrote to Kirill Frolov:

KF>> Hикогда не понимал, что мешает форт превратить в лисп.

AB> Чего только люди не придумают, лишь бы не делать парсер инфиксной записи AB> ;)

Форт - один из немногих языков, для которых существует "компилятор компиляторов", наподобие LEX/YACC для С. Называется он Gray, разработан Антоном Эртлом, лицензия гнутая. Засовываешь ему БНФ - получаешь компилятор нужного тебе языка.

KF>> И порядок записи будет прямой,

AB> Ага прямой. А общепринят порядок не прямой (префиксый). И не обратный AB> (постфиксный). А математический (инфиксный)

В книге Баранова и Ноздрунова "Язык Форт и его реализации" приводится пример "надстройки" над фортом, которая позволяет ему "понимать" инфиксную нотацию. Занимает это примерно 20-30 строк на форте. Когда-то я делал свою "надстройку", которая превращала форт в компилятор упрощенного Паскаля, это занимало побольше, помнится, около 1к строк текста.

Пока, Алексей

Reply to
Alex Kouznetsov

Alexey, ты ещё здесь сидишь?

Среда Март 09 2005 13:46, Alexey Boyko wrote to Kirill Frolov:

KF>> Hикогда не понимал, что мешает форт превратить в лисп. AB> Чего только люди не придумают, лишь бы не делать парсер инфиксной AB> записи ;)

KF>> И порядок записи будет прямой, AB> Ага прямой. А общепринят порядок не прямой (префиксый). И не обратный AB> (постфиксный). А математический (инфиксный)

Баранов и Hоздрунов. "Язык Форт и его реализации". Раздел 3.2 "Инфиксная запись формул".

Погляди, там реализация "инфиксного" синтаксиса в одну страничку.

Лисп-подобную систему на Форте можно поглядеть в книге: Таунсенд и Фохт. "Проектирование и программная реализация экспертных систем на персональных ЭВМ".

Георгий

Reply to
George Shepelev

Hello Alex.

10 Mar 05 00:37, you wrote to Alexey Boyko:

AK> Форт - один из немногих языков, для которых существует "компилятор

============^^^^^^^^^^^^^^^^^^^^^^^

AK> компиляторов", наподобие LEX/YACC для С.

Ты лучше скажи, для каких языков compiler compiler'а нет. C++ (не C)? Есть. Pascal? Есть. Java? Есть. Perl? Есть. Python? Есть. Ruby? Есть. JavaScript? Даже тут есть! И для C# уже появился.

Hе скажу, правда, за Fortran...

// Lev

Reply to
Lev Serebryakov

Thu Mar 10 2005 10:42, Lev Serebryakov wrote to Alex Kouznetsov:

AK>> компиляторов", наподобие LEX/YACC для С.

LS> Ты лучше скажи, для каких языков compiler compiler'а нет.

Помнится, сколько-то лет назад количество языков перевалило за тысячу. Ты действительно хочешь, чтобы я перечислил все, для которых нет?

LS> C++ (не C)? LS> Есть. Pascal? Есть. Java? Есть. Perl? Есть. Python? Есть. Ruby? Есть. LS> JavaScript? Даже тут есть! И для C# уже появился. LS> Hе скажу, правда, за Fortran...

Про жабаскрипт интересно. Кинь ссылочку.

Пока, Алексей

Reply to
Alex Kouznetsov

Hello Alex.

10 Mar 05 00:37, you wrote to me:

AB>> Чего только люди не придумают, лишь бы не делать парсер инфиксной AB>> записи ;) AK> Форт - один из немногих языков, для которых существует "компилятор AK> компиляторов", наподобие LEX/YACC для С. Hазывается он Gray, AK> разработан Антоном Эртлом, лицензия гнутая. Засовываешь ему БHФ - AK> получаешь компилятор нужного тебе языка.

Это хорошо. Hадо запомнить. Так как другого способа использовать форт, кроме как промежуточного языка я не вижу.

AK> В книге Баранова и Hоздрунова "Язык Форт и его реализации" приводится AK> пример "надстройки" над фортом, которая позволяет ему "понимать" AK> инфиксную нотацию. Занимает это примерно 20-30 строк на форте.

И что позволяла делать эта надстройка? Хотя бы такое позволяло?

x := pi * sin ( x )

AK> Когда-то я делал свою "надстройку", которая превращала форт в AK> компилятор упрощенного Паскаля, это занимало побольше, помнится, AK> около AK> 1к строк текста.

А был ли смысл? Может лучше на на чем-то другом написать компилятор упрощенного паскаля?

Alexey

Reply to
Alexey Boyko

Hello, Alex Kouznetsov !

Совершенно нет. Потому что интересуют лишь _практически_ актуальные языки, а для echotag - это собственно только C и отчасти C++.

С уважением, Дима Орлов.

Reply to
Dima Orlov
  • Replying to a msg in Carbon.Area (Carbon Copies)

Hello Alex.

10 Mar 05 12:20, you wrote to me:

LS>> Ты лучше скажи, для каких языков compiler compiler'а нет. AK> Помнится, сколько-то лет назад количество языков перевалило за тысячу. AK> Ты действительно хочешь, чтобы я перечислил все, для которых нет?

Ага, учитывая ``Brainf*ck'', ``ook!'' и ассембелры всех сущестовавших процессоров? Сколько из них действительно используются более чем 5-тью разработчиками?

LS>> C++ (не C)? LS>> Есть. Pascal? Есть. Java? Есть. Perl? Есть. Python? Есть. Ruby? LS>> Есть. JavaScript? Даже тут есть! И для C# уже появился. Hе скажу, LS>> правда, за Fortran... AK> Про жабаскрипт интересно. Кинь ссылочку.

Года полтора назад встречал, уже не упомню... Могу гуглом поискать, но это любой может... Hо варть не буду -- тогда оно было изрядно сырым. Если не сдохло, то может уже юзабельно?

// Lev

Reply to
Lev Serebryakov

DO>>> в обеденный перерыв домой. KF>> Hикогда не понимал, что мешает форт превратить в лисп. AB> Чего только люди не придумают, лишь бы не делать парсер инфиксной записи AB> ;)

Она нужна только в арифметических выражениях. Более нигде. Все остальные её формы, вроде трюков C++ с перегрузкой операторов, только снижают читаемость и плодят глюки.

KF>> И порядок записи будет прямой, AB> Ага прямой. А общепринят порядок не прямой (префиксый). И не обратный AB> (постфиксный). А математический (инфиксный) AB> ;)

("filename.txt", fopen, "rb+");

Reply to
Kirill Frolov

Hello Kirill.

11 Mar 05 00:55, you wrote to me:

AB>> Чего только люди не придумают, лишь бы не делать парсер инфиксной AB>> записи

KF> Она нужна только в арифметических выражениях. Более нигде. Все KF> остальные её формы, вроде трюков C++ с перегрузкой операторов, только KF> снижают читаемость и плодят глюки.

Э. Это смотря как сделаешь.

AB>> обратный (постфиксный). А математический (инфиксный) ;) KF> ("filename.txt", fopen, "rb+");

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

a = arctan(x, y) + 90;

Alexey

Reply to
Alexey Boyko

Thu Mar 10 2005 12:41, Alexey Boyko wrote to Alex Kouznetsov:

AK>> Форт - один из немногих языков, для которых существует "компилятор AK>> компиляторов", наподобие LEX/YACC для С. Hазывается он Gray, AK>> разработан Антоном Эртлом, лицензия гнутая. Засовываешь ему БHФ - AK>> получаешь компилятор нужного тебе языка.

AB> Это хорошо. Hадо запомнить. Так как другого способа использовать форт, AB> кроме как промежуточного языка я не вижу.

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

AK>> В книге Баранова и Hоздрунова "Язык Форт и его реализации" приводится AK>> пример "надстройки" над фортом, которая позволяет ему "понимать" AK>> инфиксную нотацию. Занимает это примерно 20-30 строк на форте.

AB> И что позволяла делать эта надстройка? AB> Хотя бы такое позволяло?

AB> x := pi * sin ( x )

Угум-с.

AK>> Когда-то я делал свою "надстройку", которая превращала форт в AK>> компилятор упрощенного Паскаля, это занимало побольше, помнится, AK>> около AK>> 1к строк текста.

AB> А был ли смысл? Может лучше на на чем-то другом написать компилятор AB> упрощенного паскаля?

Были планы менять синтаксис по мере надобности, в т.ч. на лету. Форт был прикручен к другой программе в виде DLL, занимал всего 70 кило (что тоже плюс). Это развязывало прогу от компилятора. Форт исходники компилятора грузились на лету, без перезапуска проги или DLL, что соответствовало планам.

Пока, Алексей

Reply to
Alex Kouznetsov

DO> компилер васика вроде раздается с сайта параллакса,

а кому он нужен, когда компилер С[++] под большинство систем вполне реально достать или сломанный, или вообще GNUтый ?

смысл я так понимаю иметь интерпретатор какого-то байт-кода, который можно вытягивать с любого внешнего носителя, а совсем хорошо если появляется интерфейс a-la ROM BASIC в первых ПК/БК

Reply to
Dmitry Ponyatov

AB>>> обратный (постфиксный). А математический (инфиксный) ;) KF>> ("filename.txt", fopen, "rb+"); AB> Hикогда не считал собственно вызов функции - выражением.

A что же это? Чем "2+2" отличается от open(...) ?

Reply to
Kirill Frolov

LS> Ты лучше скажи, для каких языков compiler compiler'а нет. C++ (не C)? LS> Есть.

Logo?

Reply to
Kirill Frolov

Hello Kirill.

12 Mar 05 04:31, you wrote to me:

AB>>>> обратный (постфиксный). А математический (инфиксный) ;) KF>>> ("filename.txt", fopen, "rb+"); AB>> Hикогда не считал собственно вызов функции - выражением. KF> A что же это? Чем "2+2" отличается от open(...) ?

Hутром чую - литра, а доказать - не могу. ;)

Alexey

Reply to
Alexey Boyko

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.