tree-sitter-idl
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)
| File | Size | Uploaded | |
|---|---|---|---|
| tree_sitter_idl-3.19.0.tar.gz | 144.3 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| 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.17+ x86-64, Linux glibc 2.5+ 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
|