https://github.com/aditya30394/simple-integer-language-compiler-silc-
A compiler developed for SIL (Simple Integer Language) in C using tools Lex and Yacc. SIL is a two pass compiler for a hypothetical machine SIM (Simple Integer Machine). SIL has support for basic and user defined data types, functions and conditional and iterative statements, arithmetic and logical expressions and I/O.
https://github.com/aditya30394/simple-integer-language-compiler-silc-
c compiler-design cpp expl lex sil yacc
Last synced: 29 days ago
JSON representation
A compiler developed for SIL (Simple Integer Language) in C using tools Lex and Yacc. SIL is a two pass compiler for a hypothetical machine SIM (Simple Integer Machine). SIL has support for basic and user defined data types, functions and conditional and iterative statements, arithmetic and logical expressions and I/O.
- Host: GitHub
- URL: https://github.com/aditya30394/simple-integer-language-compiler-silc-
- Owner: aditya30394
- License: mit
- Created: 2018-02-09T17:47:24.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2018-04-15T08:23:16.000Z (about 8 years ago)
- Last Synced: 2025-02-02T04:45:46.398Z (over 1 year ago)
- Topics: c, compiler-design, cpp, expl, lex, sil, yacc
- Language: C
- Size: 1.56 MB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Simple Integer Language Compiler (SILC)
A compiler developed for SIL (Simple Integer Language) in C using tools Lex and Yacc. SIL is a two pass compiler for a hypothetical machine SIM (Simple Integer Machine). SIL has support for basic and user defined data types, functions and conditional and iterative statements, arithmetic and logical expressions and I/O.
The roadmap for the project can be found [here](http://silcnitc.github.io/).
**Specifications**
1. *The specification of the source programming language*: The source language for this compiler is called the Experimental Language (ExpL),
which is designed solely for instructional purposes. An informal specification of the source language is given [here](http://silcnitc.github.io/expl.html).
The specification for an extension of the basic ExpL language with support for object oriented programming is given [here](http://silcnitc.github.io/oexpl-specification.html).
2. *Application Binary Interface of the target platform*: A compiler must generate a binary executable file that can be loaded and executed
by an operating system running on a target machine. Normally, an OS system installation comes with an interface specification, explaining
how binary executable files must be formatted to run on the system. This interface is called the Application Binary Interface (ABI).
The ABI is dependent on both the OS and the machine architecture. The ABI for this project is that of the Experimental Operating System
(ExpOS) running on the Experimental String Machine. [XSM]. The ABI specification is given [here](http://silcnitc.github.io/abi.html). (The simulator allows the target program to contain machine instructions in mnemonic form, avoiding translation to binary format).
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details