Compiler Front-End


Instigate Compiler Front-End provides an abstraction layer for multiple industry-standard Compiler Frameworks. By integrating their design tool and environment with it our customers are able to switch between supported front-ends at any time. Additional value is provided by generic programming based technology, which will take care of both parsing the code into in-memory abstract-syntax-tree representation and automatically converting it into native database of your application. It frees our customers from the tedious work of researching the in-memory representation created by the compiler front-ends.

Key Features

  • Support of multiple programming languages (C/C++/Java) and technologies (LLVM/GCC/EDG)
  • Requires less R&D effort compared to any of the front-ends thanks to unified and well-documented clean API
  • Utilises available resources on multi-core HW to speed-up parsing of large projects via multithreading
  • Automatically populates the customer in-memory database with native data types (AST, CDFG, RTL)
  • Provides built-in AST, CDFG and RTL data types for customers that do not have their own in-memory database
  • Exports back the source code, by generating it from the in-memory database
  • Embedded Scripting API for easy integration into EDA tools
  • Graphical User Interface components for displaying parsed information such as Source Browsers and Cross-referencing.

Areas of application

  • System Level Design tools and Environments that require parsing C/C++/SystemC code, such as High Level Synthesis and TLM modeling environments
  • Source Code instrumentation tools such as Debuggers, Profilers, Coverage Analysis tools, etc.
  • Integrated Development Environments with built-in Source Code Browsing capabilities
  • Productivity/automation tools such as Source Code Documentation Generators, UML tools, etc.
  • Parsing-based data serialisation and other technologies that require introspection.

System Requirements

POSIX Operating System, Compiler supporting ANSI C++ '98. Instigate GUI Toolkit is required to use the GUI components.

Related Documentation