xidl-parser 0.9.0

A IDL codegen.
Documentation

XIDL

XIDL (eXtensible IDL) is an OMG IDL-based code generator. It supports targets such as c, cpp, rust, rust-axum, and rust-jsonrpc. XIDL is plugin-capable and uses JSON-RPC as the plugin communication protocol.

Features

  • Multi-language code generation from IDL
  • Layered generation pipeline (typed_ast / hir / target code)
  • Pluggable codegen engines via JSON-RPC
  • Built-in formatting for IDL / Rust / C++ / TypeScript

Quick Start

# Build
cargo build

# Run tests
cargo test

# Generate code (example)
xidlc -l rust -o out your.idl

Docs (Docusaurus)

cd website
pnpm install
pnpm start

Built-in Targets (current)

  • c
  • cpp
  • rust
  • rust-jsonrpc
  • rust-axum
  • ts / typescript

Plugin Model

  • During generation, xidlc starts a codegen engine based on the target language.
  • Built-in engines run in-process; unknown targets can be handled by external xidl-<lang> plugins.
  • Plugins communicate with the host via JSON-RPC; see xidlc/src/jsonrpc/ipc.idl for the core interface.

Repository Layout

  • xidl-parser-derive: tree-sitter helper derive.
  • xidl-parser: tree-sitter parser.
  • xidlc: eXtensible IDL compiler.
  • xidl-build: xidlc builder derive.
  • xidl-jsonrpc: xidlc rust jsonrpc framework.
  • xidl-playground: xidlc playground.
  • xidl-rust-axum: xidlc rust axum codegen framework.
  • xidl-typeobject: omg dds typeobject.
  • xidl-xcdr: omg dds xcdr.
  • xidlc-examples: examples