AST and bytecode interpreters - ShuraCore | Compiler Development

AST and bytecode interpreters

An interpreter is a translator whose task is to perform line-by-line analysis, process and execute the program’s source code or request. The interpreter has the advantage of stepping through the code without the need for compilation, which can be useful for running it on embedded platforms.

Our company is engaged in porting interpreters for any hardware and software platforms and AST and Bytecode interpreters’ development.

Compiler Design Services

AsmJit, MIR, nj, NanoJIT, LLVM - MCJIT, Libraries, OpenMP, OpenACC, LLVM, C++, Rust, bison, flex, yacc, AntLR

Compiler Design Services

CPU, FPGA, GPU, TPU, TensorFlow, Caffe, PyTorch, LLVM, CUDA, OpenCL, WASM
Read more

ShuraCore specializes in implementing new and modern ports: GCC, GDB, GNU libraries, Binutils, LLDB, LLVM utilities, and libraries. In addition, we are engaged in the optimization and adaptation of existing compilers for any hardware platform. Finally, the ShuraCore team provides a full range of services for the development of compilers and interpreters.

We also work in the following areas: development of SDK, virtual machines, obfuscators, and code deobfuscators for our clients. We port debuggers and simulators to new hardware platforms, write high-speed optimizations. Our team also develops compilers for neural and tensor processors. ShuraCore creates developer tools based on the LLVM framework.

JIT and AOT

JIT (Just-in-time) compilers are used to improve the performance of interpreted programs.

Front-end Compilers

The front-end compiler, analyzing the source code, creates an internal representation of

Back-end Compilers

The back-end compiler is responsible for specific optimization for the processor architecture

MLIR

The MLIR (Multilevel Intermediate View) project is a new approach to building

Hardware Compilers

Hardware compilers, or synthesis tools, are compilers whose output is a description

HLS Compilers

HLS (High-Level Synthesis) compilers are used to create digital devices using high-level

LLVM

The LLVM Project is a collection of modular and reusable compiler and

    Contact Us

    I agree with the personal data processing policy and the processing of the site user's data. *