Skip to main content

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 {};

allow comma-separated positional args in custom annotation

@Annotation("aaa", "bbb")
//                ^ allow extend syntax
struct Hello {};

support template type

struct Hello {
    option<string> c;
    option2<string, uint16> c;
    option3<string, uint16, sequence<string>> c;
};

optional comma

struct Hello {
    option<string> c;
    option2<string, uint16> c;
    option3<string, uint16, sequence<string>> c;
} // ;
//   ^ optional

Metadata

Release files for tree-sitter-idl 3.19.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tree-sitter-idl 3.19.0
File Size Uploaded
tree_sitter_idl-3.19.0.tar.gz 144.3 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for tree-sitter-idl 3.19.0
File
tree_sitter_idl-3.19.0-cp38-abi3-win_amd64.whl CPython 3.8 abi3 Windows x86-64 Details
tree_sitter_idl-3.19.0-cp38-abi3-musllinux_1_2_x86_64.whl CPython 3.8 abi3 Linux musl 1.2+ x86-64 Details
tree_sitter_idl-3.19.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.8 abi3 Linux glibc 2.17+ ARM64 Details
tree_sitter_idl-3.19.0-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 abi3 Linux glibc 2.5+ x86-64, Linux glibc 2.17+ x86-64 Details
tree_sitter_idl-3.19.0-cp38-abi3-macosx_11_0_arm64.whl CPython 3.8 abi3 macOS 11.0+ ARM64 Details
tree_sitter_idl-3.19.0-cp38-abi3-macosx_10_9_x86_64.whl CPython 3.8 abi3 macOS 10.9+ x86-64 Details

Total release size: 789.3 kB

Release files / tree_sitter_idl-3.19.0.tar.gz

Download URL tree_sitter_idl-3.19.0.tar.gz
Size 144.3 kB
Tags Source
SHA-256 checksum
How to use checksums
affb5fb3fbf7b79cd4aaa8557bcf88e9c599f8c58e79fe1651efbe28a41f4d74
BLAKE2b-256 checksum
How to use checksums
ae01a175ce3d01bf145c2a83da31bcdb033845af9cbd9aa0ecf880488bf9ae0d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / tree_sitter_idl-3.19.0-cp38-abi3-win_amd64.whl

Download URL tree_sitter_idl-3.19.0-cp38-abi3-win_amd64.whl
Size 94.5 kB
Tags CPython 3.8 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
7775811f54bbf5cf63d065576b7717fdc143ba6e5f196db31ae9f99b83440ad6
BLAKE2b-256 checksum
How to use checksums
06badd89a6f381e3c13ca6aeaef2b21bff7df74a358440460210b685df241cba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / tree_sitter_idl-3.19.0-cp38-abi3-musllinux_1_2_x86_64.whl

Download URL tree_sitter_idl-3.19.0-cp38-abi3-musllinux_1_2_x86_64.whl
Size 104.1 kB
Tags CPython 3.8 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
14c2db648528f88ecac753589bff5dd098b4a42030206ca70217352f133a03e1
BLAKE2b-256 checksum
How to use checksums
d13d09d9222fe6ca6a70740c05b4d4c508d78d7113a6f9aed574dfc4d608ea05
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / tree_sitter_idl-3.19.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL tree_sitter_idl-3.19.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 148.3 kB
Tags CPython 3.8 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
d799dcfde77e2ac53694dfb39cde513409d0fadbafb169af2011136ac687ec26
BLAKE2b-256 checksum
How to use checksums
b49f319cc06ae171821ea6c1a1e67fe598c93bf8d264998032fe83d111ae8c38
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / tree_sitter_idl-3.19.0-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL tree_sitter_idl-3.19.0-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 112.4 kB
Tags CPython 3.8 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64 abi3
SHA-256 checksum
How to use checksums
d33d9a975e3fd7488264ba51475f9ec6e41708b9a89337947fe4be4c4395c0b5
BLAKE2b-256 checksum
How to use checksums
2889c8c2b82ffd8bd30773201ad0d8a54bc5323e1ecea7df53e7061a6546a596
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / tree_sitter_idl-3.19.0-cp38-abi3-macosx_11_0_arm64.whl

Download URL tree_sitter_idl-3.19.0-cp38-abi3-macosx_11_0_arm64.whl
Size 95.7 kB
Tags CPython 3.8 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
0827c3fecf63cf046e2496695b25f919f925d14192ceb8f7ac85076d1890671b
BLAKE2b-256 checksum
How to use checksums
5ef1571c21bdedaaaebd3a14f609042c45d4d9c89ad32fff3e4401f0b39ac66d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / tree_sitter_idl-3.19.0-cp38-abi3-macosx_10_9_x86_64.whl

Download URL tree_sitter_idl-3.19.0-cp38-abi3-macosx_10_9_x86_64.whl
Size 90.1 kB
Tags CPython 3.8 abi3 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
d6a9ac4095d7977e9397bcb02d8d48fbe209fb0840f0e1ec692258fac60fa06b
BLAKE2b-256 checksum
How to use checksums
dab3a1ec41a3c731692d96344dc76ec6251f8d5f29ffee1217a6943c498981f4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

3.19.0 This release

7 release files

3.18.0

7 release files

3.14.0

7 release files

3.13.0

7 release files

3.9.2

7 release files

3.9.1

7 release files

3.9.0

7 release files

3.8.2

7 release files

3.8.1

7 release files

3.8.0

7 release files

3.7.0

7 release files

3.6.0

7 release files

3.5.0

7 release files

3.4.0

7 release files

3.3.0

7 release files

3.2.0

7 release files

3.1.2

8 release files

3.1.1

8 release files

3.1.0

8 release files

3.0.0

8 release files

2.6.1

8 release files

2.6.0

8 release files

2.5.0

8 release files

2.4.0

8 release files

2.3.0

8 release files

2.2.1

8 release files

2.2.0

8 release files

2.1.0

8 release files

2.0.1

8 release files

2.0.0

8 release files

1.2.1

8 release files

1.2.0

8 release files

1.1.0

8 release files

1.0.0

8 release files

0.1.0

8 release files

0.0.9

8 release files

0.0.8

8 release files

0.0.7

8 release files

0.0.6

8 release files

0.0.5

8 release files

0.0.4

8 release files

0.0.3

8 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page