nirvanaos.idlfe.vc
3.2.1
See the version list below for details.
dotnet add package nirvanaos.idlfe.vc --version 3.2.1
NuGet\Install-Package nirvanaos.idlfe.vc -Version 3.2.1
<PackageReference Include="nirvanaos.idlfe.vc" Version="3.2.1" />
paket add nirvanaos.idlfe.vc --version 3.2.1
#r "nuget: nirvanaos.idlfe.vc, 3.2.1"
// Install nirvanaos.idlfe.vc as a Cake Addin
#addin nuget:?package=nirvanaos.idlfe.vc&version=3.2.1
// Install nirvanaos.idlfe.vc as a Cake Tool
#tool nuget:?package=nirvanaos.idlfe.vc&version=3.2.1
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
. - Override pure virtual method
IDL_FrontEnd::generate_code(AST::Root& tree)
.
For the example see: https://github.com/nirvanaos/idlfe/tree/master/example
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.#.#.# 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:
- C++17 compilant compiler
- Flex + Bison
- Fixed point arithmetic library https://github.com/nirvanaos/decNumber
Used submodules
Simple C/C++ preprocessor https://github.com/danmar/simplecpp
SafeInt library https://github.com/dcleblanc/SafeInt.git
Product | Versions Compatible and additional computed target framework versions. |
---|---|
native | native is compatible. |
This package has no dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated | |
---|---|---|---|
3.4.2 | 370 | 2/21/2024 | |
3.4.1 | 216 | 2/9/2024 | |
3.4.0 | 202 | 1/26/2024 | |
3.3.4 | 263 | 12/26/2023 | |
3.3.3 | 233 | 11/30/2023 | |
3.3.2 | 228 | 11/24/2023 | |
3.3.1 | 210 | 11/22/2023 | |
3.3.0 | 162 | 11/13/2023 | |
3.2.3 | 482 | 9/1/2023 | |
3.2.2 | 352 | 8/18/2023 | |
3.2.1 | 338 | 8/15/2023 | |
3.2.0 | 343 | 8/13/2023 | |
3.1.5 | 334 | 7/16/2023 | |
3.1.4 | 226 | 7/14/2023 | |
3.1.3 | 256 | 7/8/2023 | |
3.1.2 | 262 | 6/30/2023 | |
3.1.1 | 209 | 6/30/2023 | |
3.1.0 | 221 | 6/30/2023 | |
3.0.2 | 840 | 11/21/2022 | |
3.0.1 | 567 | 10/1/2022 | |
3.0.0 | 606 | 8/14/2022 | |
2.1.8 | 466 | 8/13/2022 | |
2.1.7 | 535 | 8/10/2022 | |
2.1.6 | 698 | 7/12/2022 | |
2.1.5 | 535 | 7/11/2022 | |
2.1.4 | 554 | 7/8/2022 | |
2.1.3 | 525 | 7/6/2022 | |
2.1.2 | 551 | 7/6/2022 | |
2.1.1 | 559 | 7/6/2022 | |
2.1.0 | 565 | 7/4/2022 | |
2.0.0 | 564 | 7/3/2022 | |
1.6.1 | 597 | 6/30/2022 | |
1.6.0 | 522 | 6/30/2022 | |
1.5.3 | 575 | 6/28/2022 | |
1.5.2 | 594 | 6/27/2022 | |
1.5.1 | 587 | 6/27/2022 | |
1.5.0 | 502 | 6/24/2022 | |
1.4.8 | 587 | 6/22/2022 | |
1.4.7 | 607 | 6/10/2022 | |
1.4.6 | 559 | 3/27/2022 | |
1.4.5 | 503 | 3/26/2022 | |
1.4.4 | 584 | 2/9/2022 | |
1.4.3 | 526 | 2/6/2022 | |
1.4.2 | 326 | 12/26/2021 | |
1.4.1 | 292 | 12/26/2021 | |
1.4.0 | 396 | 4/26/2021 | |
1.3.3 | 343 | 4/21/2021 | |
1.3.2 | 390 | 4/21/2021 | |
1.3.1 | 428 | 4/18/2021 | |
1.3.0 | 379 | 4/14/2021 | |
1.2.2 | 372 | 4/14/2021 | |
1.2.1 | 485 | 4/14/2021 | |
1.2.0 | 537 | 4/5/2021 | |
1.1.1 | 591 | 4/3/2021 | |
1.0.1 | 536 | 3/28/2021 | |
1.0.0 | 497 | 3/21/2021 |