GithubHelp home page GithubHelp logo

linecode / idlfe Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nirvanaos/idlfe

0.0 1.0 0.0 1.67 MB

IDL compiler front-end library

License: Other

C++ 89.83% C 0.41% LLVM 3.04% Yacc 6.71%

idlfe's Introduction

IDL compiler front-end library

This is a part of the Nirvana project.

Purpose

This library is intended for the easy creation of the CORBA IDL compilers.

It performs:

  • Command line parsing
  • Preprocessing
  • Parsing IDL files
  • Building the Abstract Syntax Tree

To create an IDL compiler:

  • Derive your compiler class from class IDL_FrontEnd.
  • Derive your back-end code generator from class AST::CodeGen.

API reference: https://nirvanaos.github.io/idlfe/

Implemented Building Blocks

See: https://www.omg.org/spec/IDL/4.2/

  • Core Data Types
  • Extended Data Types
  • Any
  • Interfaces Basic
  • Interfaces Full
  • CORBA-Specific - Interfaces (except for import)
  • Value Types
  • CORBA-Specific - Value Types
  • Anonimous Types (optional)

How to use

Install nirvanaos.idlfe.vc.1.#.# NuGet package.

How to build

MS Visual Studio

To build with MS Visual Studio use supermodule https://github.com/nirvanaos/idlfe.vc.git

Other compilers

To create own compilation project you must have:

Used submodules

Simple C/C++ preprocessor https://github.com/danmar/simplecpp

SafeInt library https://github.com/dcleblanc/SafeInt.git

idlfe's People

Contributors

silver-popov avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.