|Project Description: ||Associative processing is a computational environment in which special-purpose hardware is used to process large databases and may include calculations as well as complex searching of data. The term " associative" is used to describe the technique of accessing data by its content rather than the traditional accessing of data by memory address. A computational model and language called ASC (Associative Computing) was developed based on the associative model of parallel computation for massively parallel, Single Instruction stream Multiple Data stream (SIMD) computations. The original compiler and emulator were inconsistent with the ASC language specifications. Furthermore, not all of the language features are implemented. Documentation on the ASC language, user guide, and emulator were also poorly maintained.
In this project a syntax diagram and a complete set of grammar rules were designed and developed for the ASC language. Also a new compiler was designed, developed, and implemented using lex and C++ on a Linux operating system. The system software generates an intermediate code designed specifically for the ASC language constructs, keywords, and operations. In addition, new constructs added to the original ASC language in order to present features established in sequential programming languages.