вторник, 8 сентября 2009 г.

Учимся "говорить" (Part 2 - Цель)

Попробую более чётко сформировать цель. Буду (в перспективе надеюсь скажу "БУДЕМ", но пока я один) писать интерпретатор языка Basic под микроконтроллер AVR ATmega16 (если места не хватит, перелезу на более ёмкий контроллер, просто этот под рукой оказался). Под Basic'ом понимается диалект Small Basic (см. книжку Герберта Шилдта "С для профессиональных программистов" 1989 г.). Маленькое отступление по поводу этой книжки. В ней представлен подход к разработке интерпретатора Small Basic со всеми исходниками. Текст программы в ней написан на K&R C (я естественно только за ANSI С). Но копировать чужой код как-то не хочется (мы же учимся, результат не особо важен, сам процесс - ВОТ ЧТО ГЛАВНОЕ) поэтому из неё будут взяты только правила Small Basic.
Вот особенности этого языка (перечислю пока то, что нужно знать для построения синтаксического анализатора (подробности потом)):
1. Все переменные обозначаются одной буквой. Т.е. мы имеем двадцать шесть переменных (A-Z).
2. Переменные разных регистров не отличаются друг от друга.
3. Все числа являются целыми.
4. Символьные переменные не поддерживаются.
Пока этого хватит, остальное буду добавлять по мере необходимости. (Когда все правила языка будут сформулированы, объединю их в одном посте).

В качестве языка программирования (как уже было сказано выше), на котором этот интерпретатор будет писаться, возьму ANSI C.
Компилятор: WinAVR (+ все дополнительные приблуды к нему).
Среда разработки: AVR Studio.
Отладка будет происходить в VMLab и Proteus (иногда, для тренировки, на реальном железе).
Отдельные моменты будут тестироваться на PC (работа всяких анализаторов). В таком случае компилятор: gcc под Linux.

Все исходные коды, файлы проектов и модели буду так же выкладывать в общий доступ.
P.S. "Счастья для всех, Даром, и пусть никто не уйдёт обиженным" (с) Стругацкие

Комментариев нет:

Отправить комментарий