Instigate Compiler FrontEnd Code
Brought to you by:
opensourceteam
Introduction
This is the README file of Compiler Front-End Version 1.13 developed by Instigate Design CJSC.
CONTENTS
1. Getting Started
2. Prerequisites
3. Compilation
4. Installation
5. Usage
6. Maintainers
1. Getting Started
Complier Front-End is an extension of Instigate Application Framework. It represents a conceptual framework that provides the ability to create a specific intermediate representation.
The use cases of the project are:
- creation of an AST without being have to deal with choosing an industry standard compiler and implementing the parsing algorithms,
- creation of an CDFG without being have to deal with choosing an industry standard compiler and implementing the parsing algorithms,
- getting programmatic information from the high level programming languages.
2. Prerequisites
To install prerequisites please follow these steps:
a) Download SDK lite package from SourceForge and extract.
SDK Lite packages are available in SourceForge only for 3 OS-es:
- Ubuntu 22.04 - https://sourceforge.net/projects/instigate-fwk/files/instigate-fwk-gtk-sdk/UbuntuOS/ubuntu_22.04_sdk_lite_24.06.tar.bz2
- CentOS 7 - https://sourceforge.net/projects/instigate-fwk/files/instigate-fwk-gtk-sdk/CentOS/centos_07_sdk_lite_24.06.tar.bz2
- Bagrevand - https://sourceforge.net/projects/instigate-fwk/files/instigate-fwk-gtk-sdk/BagrevandOS/bagrevand_12.0_sdk_lite_24.08.tar.bz2
By default the build system looks for SDK with the following path:
/tmp/instigate-software/gnu_system/
To use the default path just create a soft link to the package in /tmp, e.g:
ln -sf <your_path>/ubuntu_22.04_sdk_lite_24.06/ /tmp/instigate-software
Otherwise update the default SDK path via the following assignment in
the top level makefile:
export sdk_path := <your_path>/ubuntu_22.04_sdk_lite_24.06/gnu_system/3.2/x86_64
c) Download and install Instigate software from SourceForge:
- Instigate Build system - >= 2.0.4
- Instigate ACL - >= 2.0.0
- Instigate GPCL - >= 2.0.0
- Instigate STL - >= 2.0.4
- Instigate XML PARSER - >= 1.5.4
- Instigate Application Framework - >= 2.357
Note: For the installation follow the steps in README files
available under each project.
By default, Instigate software is installed in $HOME directory. In case of
changing the default path, please specify the same install path for all
components of Instigate software.
Update INSTIGATE_OS3_PATH environment variable in the top level makefile
to point to the Instigate software installation path, if default
is changed.
3. Compilation
Compile the package as follows:
a) Configure build parameters by issuing 'make setup' command specifying:
- release or debug build (default is debug):
make setup build_type=<release|debug>
- static or dynamic linking (default is dynamic):
make setup link_type=<static|dynamic>
- enable using sdk:
make setup use_sdk=yes
Note 1: all options should be specified during a single 'make setup'
command.
Note 2: Based on link_type either static libraries (.a) or shared
libraries (.so) will be built.
b) Build the library using 'make' command.
Multi-threaded build is supported, e.g. "make -j4" will run 4 parallel
threads if you are running it on a quad-cpu computer.
Additional features:
a) Generate documentation via the following commands:
- make user_docs
- make developer_docs
The generated documentation will be available in the 'doc' directory.
b) Cleanup results of previous build via 'make clean' command.
4. Installation
Use 'make install' command which will install the package under the
directory specified by the variable 'install_path'. The variable is
defined in the top level makefile and defaults to
$INSTIGATE_OS3_PATH/compiler_frontend/<version>/<arch>_<build_type>
The value of 'install_path' variable should be used in the applications
which are using Compiler Front-End (see '5. Usage' section for details).
5. Usage
In order to build application against the Compiler Front-End you will need to point
to it from the makefile of your application using the variable
INSTIGATE_COMPILER_FRONTEND_ENV_ROOT.
6. Maintainer
Instigate Design CJSC
e-mail: info@instigatedesign.com
Phone: +374-60 510-710