Sitar is a framework for modeling and parallel simulation of synchronous discrete-event systems.
It consists of a custom modeling language and a lightweight, C++ based simulation kernel.
- Linux (tested on Ubuntu 18/20/22)
- Python3
- SCons
- gcc (version >=4.5)
- OpenMP
-
Download or clone this repository, enter the repository and run the installation script by typing
./install.pyin your terminal. This should generate an executable calledsitar_translatorinside thetranslator/parserfolder. -
Add the following lines to your
~/.bashrcfile to use the sitar commands outside the installation folder. Replace<path>with absolute path of the installation folder.export LD_LIBRARY_PATH=<path-to-sitar>/translator/antlr3Cruntime/build/lib:${LD_LIBRARY_PATH} export PATH=<path-to-sitar>/scripts:${PATH}
- Refer to
examples/README.mdfor running examples. - Type
sitar -hat the terminal for command options. - (Optional) for enabling syntax highlighting inside Vim editor for sitar language, refer to
vim/README.md
install.py-- Python script for installing Sitardocs-- Documentation: the MkDocs-based documentation site (source and generated), the user manual, publications, and slides. Seedocs/README.mdexamples-- Examples of sitar descriptions. Seeexamples/README.mdcore-- C++ code that forms the simulation kernel. Seecore/README.mdtranslator-- Code and grammar for the sitar language translator. Seetranslator/README.mdcompiler-- Script for generating a simulation executable from C++ code auto-generated by sitarscripts-- Script that forms the "sitar" command at the terminalvim-- Syntax highlighting support for vim editor. Seevim/README.md
Sitar is provided with an MIT-license. See LICENSE for more information.
The sitar translator uses AntlrV3 (C-runtime).
For the AntlrV3 licence, see translator/antlr3Cruntime/libantlr3c-3.4/COPYING
