Idl grammar for tree-sitter
Project description
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);
};
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
File details
Details for the file tree_sitter_idl-3.9.2-cp38-abi3-win_amd64.whl
.
File metadata
- Download URL: tree_sitter_idl-3.9.2-cp38-abi3-win_amd64.whl
- Upload date:
- Size: 85.8 kB
- Tags: CPython 3.8+, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca4f63b23aa7f00afb39502d6539d9c9e891e11b1df894a90f9dff0f63e70415 |
|
MD5 | 81b280e2d235f09aa0cfc7c2c05dfbd5 |
|
BLAKE2b-256 | bdc9adc9e7c0e8ca038a9328982fbf04ebcf58c209be170055bed8a8f899937c |
File details
Details for the file tree_sitter_idl-3.9.2-cp38-abi3-musllinux_1_2_x86_64.whl
.
File metadata
- Download URL: tree_sitter_idl-3.9.2-cp38-abi3-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 94.7 kB
- Tags: CPython 3.8+, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cd9a620ff1db09a7f00a95539c3ec818ad8b30c4222c526ef468ad13a5128f2c |
|
MD5 | 76dac1266c9490cc23dff6bfbd9d2165 |
|
BLAKE2b-256 | c8561c01b5c041a9be7b7967cbbd9f6a4dcc3d1dad2eba62178bd12314af03ee |
File details
Details for the file tree_sitter_idl-3.9.2-cp38-abi3-musllinux_1_2_aarch64.whl
.
File metadata
- Download URL: tree_sitter_idl-3.9.2-cp38-abi3-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 94.9 kB
- Tags: CPython 3.8+, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6ff06b796d2da1f5fd605e6b5688210f33d17044141027a3d4bed414d83fae9a |
|
MD5 | ca1f0fb66323c42bc864c1913ed03e74 |
|
BLAKE2b-256 | 81e88dcb93d5c994cc64d01fefa209fb5de278f2665d86f9badb317c50eedbcb |
File details
Details for the file tree_sitter_idl-3.9.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
.
File metadata
- Download URL: tree_sitter_idl-3.9.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 135.3 kB
- Tags: CPython 3.8+, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 20ac4b2b01565747d6f475259ea467ca1ad74f664774af027a76e4b115393d0c |
|
MD5 | 87d8f450b6e5418e583fee23c4487264 |
|
BLAKE2b-256 | 75730f7d7c135d0b83da6349a40e840f8e3232bd16a20e3954dc691a0cf268ce |
File details
Details for the file tree_sitter_idl-3.9.2-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: tree_sitter_idl-3.9.2-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 102.2 kB
- Tags: CPython 3.8+, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c19bcac8081e21975d64e94c1484dd2600bbb5fc52d97cc4730b85e031839e14 |
|
MD5 | e3cb2c99f2d43a8e82086d150a4b3227 |
|
BLAKE2b-256 | 40f010ba2e37048df686fb58285479e2045ee8beff2774c913cb1494371be516 |
File details
Details for the file tree_sitter_idl-3.9.2-cp38-abi3-macosx_11_0_arm64.whl
.
File metadata
- Download URL: tree_sitter_idl-3.9.2-cp38-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 85.4 kB
- Tags: CPython 3.8+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 902b378d9c2fd9b4d6d30576a04d637440df7b3bf02fc98a75cb9158b58970ed |
|
MD5 | 5e45896d4e7cd024a056d0568208e8e3 |
|
BLAKE2b-256 | 5ff2af0886e7cce6ba6d372cebede8c0b96b2348edd71d5ee2072334679b9c61 |
File details
Details for the file tree_sitter_idl-3.9.2-cp38-abi3-macosx_10_9_x86_64.whl
.
File metadata
- Download URL: tree_sitter_idl-3.9.2-cp38-abi3-macosx_10_9_x86_64.whl
- Upload date:
- Size: 80.8 kB
- Tags: CPython 3.8+, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d1034a63d3c6c686d1930936ce1298071d7820b829a330a67d0572c4d75a1e6 |
|
MD5 | 41f39d8f0ba038e899abd93e15a2579d |
|
BLAKE2b-256 | d60411ab13dc5ed719314f80605707a2750073b01176588e8748ef6d669c9a68 |