Skip to main content

Idl grammar for tree-sitter

Project description

tree-sitter-idl

Crates.io Version PyPI - Version NPM - Version

OMG IDL 4.2(with XTypes extension) grammar for tree-sitter.

current state

IDL v4.2:

  • 7.3 Preprocessing(partial)
  • 7.4.1 Building Block Core Data Types
  • 7.4.2 Building Block Any
  • 7.4.3 Building Block Interfaces – Basic
  • 7.4.4 Building Block Interfaces – Full
  • 7.4.5 Building Block Value Types
  • 7.4.6 Building Block CORBA-Specific – Interfaces
  • 7.4.7 Building Block CORBA-Specific – Value Types
  • 7.4.8 Building Block Components – Basic
  • 7.4.9 Building Block Components – Homes
  • 7.4.10 Building Block CCM-Specific
  • 7.4.11 Building Block Components – Ports and Connectors
  • 7.4.12 Building Block Template Modules
  • 7.4.13 Building Block Extended Data-Types
  • 7.4.14 Building Block Anonymous Types
  • 7.4.15 Building Block Annotations
  • 7.4.16 Relationships between the Building Blocks
  • 8 Standardized Annotations

DDS-XTypes v1.3:

  • 7.3.1.2.3 Alternative Annotation Syntax
  • 7.3.1.2.1 Built-in Annotations

DDS-RPC v1.0:

  • 7.3.1 Service Definition in IDL
  • 7.5.1.2.1 Annotations for the Enhanced Service Mapping
  • 7.4.2.2 Specifying Topic Names using Annotations

extends

allow merge case

union A switch(long) {
    case 1:
    case 2: //< allow
    case 3:
        u8 a;
};

allow using simple_type_spec in template parameter

module MyTemplate <typename T, struct S, long m> {
                                      //  ^ allow
};

allow custom prop appears in value_box_def

custom valuetype A a; // value_box_def
// ^ extend grammar

allow omit param_attribute

interface A {
    void f(uint8 b);
};

allow rust style oct number

const u8 A = 0o3;

allow binary number

const u8 A = 0b010101;

allow octet in typedef_spec

union A switch(octet) {};
//              ^ allow

allow comma at last of enumator

enum A {
    A,
//   ^ allow
};

bitmask A {
    @position(0) a,
//                ^ allow
};

allow ignore 'name='

@DDSRequestTopic("RobotRequestTopic")
//               ^ allow ignore `name=`
interface RobotControl {
    void command(Command com);
};

allow ignore '=xx' in annotation

@derive(Debug, Clone)
//           ^allow ignore "="
struct Hello {};

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tree_sitter_idl-3.14.0.tar.gz (122.3 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

tree_sitter_idl-3.14.0-cp38-abi3-win_amd64.whl (86.0 kB view details)

Uploaded CPython 3.8+Windows x86-64

tree_sitter_idl-3.14.0-cp38-abi3-musllinux_1_2_x86_64.whl (95.3 kB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ x86-64

tree_sitter_idl-3.14.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (136.2 kB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARM64

tree_sitter_idl-3.14.0-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (103.1 kB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

tree_sitter_idl-3.14.0-cp38-abi3-macosx_11_0_arm64.whl (85.7 kB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

tree_sitter_idl-3.14.0-cp38-abi3-macosx_10_9_x86_64.whl (81.1 kB view details)

Uploaded CPython 3.8+macOS 10.9+ x86-64

File details

Details for the file tree_sitter_idl-3.14.0.tar.gz.

File metadata

  • Download URL: tree_sitter_idl-3.14.0.tar.gz
  • Upload date:
  • Size: 122.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for tree_sitter_idl-3.14.0.tar.gz
Algorithm Hash digest
SHA256 43a69bdcfbc089035c9b85e10ea73b11a1e029f42f08768fd7d8f85bb187f108
MD5 254db8a5b020d0a2ac02b6a2ba918213
BLAKE2b-256 0ee3118312d22063d491a1f9afb2bdc1675aa0cb39c46e5c3b4270b98dfbf311

See more details on using hashes here.

File details

Details for the file tree_sitter_idl-3.14.0-cp38-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for tree_sitter_idl-3.14.0-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 a17895fbb1ef9f17b874fe9788161a08b89b96036c1d9bd7a60ba872d3142431
MD5 99f915c62648ec76a3e52c1897d9cf20
BLAKE2b-256 66e8632447e9f2a05b8f1515a170b1817695de872cc8e67582e9f4dcea6d4684

See more details on using hashes here.

File details

Details for the file tree_sitter_idl-3.14.0-cp38-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for tree_sitter_idl-3.14.0-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 32ce204fe15d64e2e77285f165f931368d898418e099445e8cac6d3dedc4ff6d
MD5 51cf345a38acb6ce58fe68e371545ddf
BLAKE2b-256 065734006b1498cc3253239c8d7985313b42f4334c66afeed462f71888dbeef5

See more details on using hashes here.

File details

Details for the file tree_sitter_idl-3.14.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for tree_sitter_idl-3.14.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2bb1b2755ee90392c5fa20425febca089987b69e2946c59cca000dd72a4352d8
MD5 058ee5a38ac3b31e61f6ac6abc6d8484
BLAKE2b-256 ae67c0838674bde6aa9b0e4074a436bcb0f93ffc5bed9fd4580d6e8f39f8d952

See more details on using hashes here.

File details

Details for the file tree_sitter_idl-3.14.0-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tree_sitter_idl-3.14.0-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0b89d9eddef5e599a2c0f198756b6aaf3d917ade8707a3e1f30aaa556e530f27
MD5 17eaf8c7be46336d1248ce88e786bf2c
BLAKE2b-256 3e8c0815c65ce8963fe205395c912213f5f51c8f7c327b645ecb51d499a3b3ac

See more details on using hashes here.

File details

Details for the file tree_sitter_idl-3.14.0-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tree_sitter_idl-3.14.0-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dda9596570d6b8d708ce4c881deb009d5acb9e507f43a7fefe4471f72525306d
MD5 d423a2e58d089cf8200745d8e5dd8047
BLAKE2b-256 233d969f071fd2a29dbbade1bebfe0df69fe05b32508828de4790ce3568530ee

See more details on using hashes here.

File details

Details for the file tree_sitter_idl-3.14.0-cp38-abi3-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for tree_sitter_idl-3.14.0-cp38-abi3-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 dfcd4f4c0b376ee42acaaf0cdc67daa1f1cc42ecb9159812c998a325d66700b4
MD5 1a488337e3a89cc52da770a2933fceaf
BLAKE2b-256 c34a18612dd709208e354d13f22d030ad8f70d4a94036a08879616deaeefa80d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page