Scheme Interpreter using C

This is a very good project by students of Cornell University and the main purpose of this project is to create a Scheme interpreter using C language and Mega32 microprocessor. This project focus on using full microprocessor memory power to make interpreter work fine. The main target of the project is to use the memory of the microprocessor as fully as possible to make the interpreter perform major functions. Also, there will be limitation of the number of loops and memory that the interpreter could face memory shortage. In order to relieve the memory restraint to certain level, both FLASH and EEPROM have to be used.

Tree Structure and Hash table

Working of the project:

When a new command comes, the interpreter stores new symbols into the hash table. Example of Hash table is shown above. The hash table is efficient in that the access time is much shorter than the regular table with search algorithms. The hash function would be specified carefully to minimize collisions.

Hardware design of this project consist of STK500 board with Atmel Mega32 microcontroller unit which has been used with serial cable connecting PC and the STK500 board. Jumper is also used in this project hardware to connect PORT D pin 0 and pin 1 to the RS232-spare header.

This project work contains Hardware Design, Software Design, conclusions and result and should be only used for the purpose of study and reference.

Author:- Hyunsik E Minh & Jiho “Ray” Choi

Source:-Cornell University

Add Comment