Compiler Front-End
Overview
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.
|
|