Skip to main content

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


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

tree_sitter_idl-3.9.2-cp38-abi3-win_amd64.whl (85.8 kB view details)

Uploaded CPython 3.8+ Windows x86-64

tree_sitter_idl-3.9.2-cp38-abi3-musllinux_1_2_x86_64.whl (94.7 kB view details)

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

tree_sitter_idl-3.9.2-cp38-abi3-musllinux_1_2_aarch64.whl (94.9 kB view details)

Uploaded CPython 3.8+ musllinux: musl 1.2+ ARM64

tree_sitter_idl-3.9.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (135.3 kB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ ARM64

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 (102.2 kB view details)

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

tree_sitter_idl-3.9.2-cp38-abi3-macosx_11_0_arm64.whl (85.4 kB view details)

Uploaded CPython 3.8+ macOS 11.0+ ARM64

tree_sitter_idl-3.9.2-cp38-abi3-macosx_10_9_x86_64.whl (80.8 kB view details)

Uploaded CPython 3.8+ macOS 10.9+ x86-64

File details

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

File metadata

File hashes

Hashes for tree_sitter_idl-3.9.2-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 ca4f63b23aa7f00afb39502d6539d9c9e891e11b1df894a90f9dff0f63e70415
MD5 81b280e2d235f09aa0cfc7c2c05dfbd5
BLAKE2b-256 bdc9adc9e7c0e8ca038a9328982fbf04ebcf58c209be170055bed8a8f899937c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter_idl-3.9.2-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 cd9a620ff1db09a7f00a95539c3ec818ad8b30c4222c526ef468ad13a5128f2c
MD5 76dac1266c9490cc23dff6bfbd9d2165
BLAKE2b-256 c8561c01b5c041a9be7b7967cbbd9f6a4dcc3d1dad2eba62178bd12314af03ee

See more details on using hashes here.

File details

Details for the file tree_sitter_idl-3.9.2-cp38-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for tree_sitter_idl-3.9.2-cp38-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 6ff06b796d2da1f5fd605e6b5688210f33d17044141027a3d4bed414d83fae9a
MD5 ca1f0fb66323c42bc864c1913ed03e74
BLAKE2b-256 81e88dcb93d5c994cc64d01fefa209fb5de278f2665d86f9badb317c50eedbcb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter_idl-3.9.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 20ac4b2b01565747d6f475259ea467ca1ad74f664774af027a76e4b115393d0c
MD5 87d8f450b6e5418e583fee23c4487264
BLAKE2b-256 75730f7d7c135d0b83da6349a40e840f8e3232bd16a20e3954dc691a0cf268ce

See more details on using hashes here.

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

File hashes

Hashes for 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
Algorithm Hash digest
SHA256 c19bcac8081e21975d64e94c1484dd2600bbb5fc52d97cc4730b85e031839e14
MD5 e3cb2c99f2d43a8e82086d150a4b3227
BLAKE2b-256 40f010ba2e37048df686fb58285479e2045ee8beff2774c913cb1494371be516

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter_idl-3.9.2-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 902b378d9c2fd9b4d6d30576a04d637440df7b3bf02fc98a75cb9158b58970ed
MD5 5e45896d4e7cd024a056d0568208e8e3
BLAKE2b-256 5ff2af0886e7cce6ba6d372cebede8c0b96b2348edd71d5ee2072334679b9c61

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter_idl-3.9.2-cp38-abi3-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8d1034a63d3c6c686d1930936ce1298071d7820b829a330a67d0572c4d75a1e6
MD5 41f39d8f0ba038e899abd93e15a2579d
BLAKE2b-256 d60411ab13dc5ed719314f80605707a2750073b01176588e8748ef6d669c9a68

See more details on using hashes here.

Supported by

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