Skip to content

addy689/SILC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SILC

A compiler for the Simple Integer Language (SIL) that reads a SIL source program, and generates instructions for a target machine known as the Simple Integer Machine (SIM).
Source Language (SIL) description can be found at [http://andromeda.nitc.ac.in/~addy/compiler/sil.html]
Target Machine (SIM) Architecture description can be found at [http://andromeda.nitc.ac.in/~addy/compiler/sim.html]

Author :

Contributors :

License :

  • The code is licensed under the MIT License

# Repository Information

Folder Listing

<tr>
	<td>SILCompiler</td><td>Contains compiler source programs that are used to compile and generate SIM code for a SIL source program</td>
</tr>

<tr>
	<td>SILCompiler/LexYaccFiles</td><td>Contains a Lex file <i>SIL.l</i> (for lexically analysing SIL source program) and a Yacc file <i>SIL.y</i> (for parsing SIL source program)</td>
</tr>

<tr>
	<td>Main</td><td>Contains a <i>Makefile</i> for compiling the compiler source programs, SIL source program files</td>
</tr>

<tr>
	<td>Main/SIM_Simulator</td><td>Contains the simulator for SIM, and a file <i>SIMcode</i> (target file for the SIM instructions that the compiler generates for an input SIL program)</td>
</tr>
FolderDescription

Instructions

  1. Compile the compiler source programs using the Makefile present in Main/. In the terminal, write

     $ cd Main/
    $ make all
  2. Using the object file sil that is created, compile any of the SIL source programs present in Main/. In the terminal, write

     $ ./sil SILsource1
     
  3. The SIL source program will be executed. Also, the SIM instructions that are generated will be stored in file SIMcode

  4. The instructions in the file SIMcode are executed using the SIM simulator present in Main/SIM_Simulator/. To execute the generated SIM instructions, write in the terminal

     $ cd SIM_Simulator/
    $ make all
    $ ./sim ../SIMcode

About

A compiler for the Simple Integer Language, written using Lex and Yacc

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages