tree-sitter-idl


Nametree-sitter-idl JSON
Version 3.13.0 PyPI version JSON
download
home_pageNone
SummaryIdl grammar for tree-sitter
upload_time2025-07-17 02:54:02
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseApache-2.0
keywords incremental parsing tree-sitter idl
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # tree-sitter-idl

![Crates.io Version](<https://img.shields.io/crates/v/tree-sitter-idl?label=tree-sitter-idl(crates.io)>)
![PyPI - Version](<https://img.shields.io/pypi/v/tree-sitter-idl?label=tree-sitter-idl(pypi)&color=blue>)
![NPM - Version](<https://img.shields.io/npm/v/tree-sitter-idl?label=tree-sitter-idl(npm)&color=blue>)

OMG IDL 4.2(with XTypes extension) grammar for [tree-sitter](https://github.com/tree-sitter/tree-sitter).

- https://www.omg.org/spec/IDL/4.2/PDF
- https://www.omg.org/spec/DDS-XTypes/1.3/PDF

## current state

IDL v4.2:

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

DDS-XTypes v1.3:

- [x] 7.3.1.2.3 Alternative Annotation Syntax
- [x] 7.3.1.2.1 Built-in Annotations

DDS-RPC v1.0:

- [x] 7.3.1 Service Definition in IDL
- [x] 7.5.1.2.1 Annotations for the Enhanced Service Mapping
- [x] 7.4.2.2 Specifying Topic Names using Annotations

## extends

### allow merge case

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

### allow using simple_type_spec in template parameter

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

### allow `custom` prop appears in value_box_def

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

### allow omit param_attribute

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

### allow rust style oct number

```idl
const u8 A = 0o3;
```

### allow binary number

```idl
const u8 A = 0b010101;
```

### allow octet in typedef_spec

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

### allow comma at last of enumator

```idl
enum A {
    A,
//   ^ allow
};

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

### allow ignore 'name='

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

### allow ignore '=xx' in annotation

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

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "tree-sitter-idl",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "incremental, parsing, tree-sitter, idl",
    "author": null,
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/3e/8c/e8fadc1ddba6b076a43789c29410072148af8a8b5d63df5417ce4ad1da2e/tree_sitter_idl-3.13.0.tar.gz",
    "platform": null,
    "description": "# tree-sitter-idl\n\n![Crates.io Version](<https://img.shields.io/crates/v/tree-sitter-idl?label=tree-sitter-idl(crates.io)>)\n![PyPI - Version](<https://img.shields.io/pypi/v/tree-sitter-idl?label=tree-sitter-idl(pypi)&color=blue>)\n![NPM - Version](<https://img.shields.io/npm/v/tree-sitter-idl?label=tree-sitter-idl(npm)&color=blue>)\n\nOMG IDL 4.2(with XTypes extension) grammar for [tree-sitter](https://github.com/tree-sitter/tree-sitter).\n\n- https://www.omg.org/spec/IDL/4.2/PDF\n- https://www.omg.org/spec/DDS-XTypes/1.3/PDF\n\n## current state\n\nIDL v4.2:\n\n- [x] 7.3 Preprocessing(partial)\n- [x] 7.4.1 Building Block Core Data Types\n- [x] 7.4.2 Building Block Any\n- [x] 7.4.3 Building Block Interfaces \u2013 Basic\n- [x] 7.4.4 Building Block Interfaces \u2013 Full\n- [x] 7.4.5 Building Block Value Types\n- [x] 7.4.6 Building Block CORBA-Specific \u2013 Interfaces\n- [x] 7.4.7 Building Block CORBA-Specific \u2013 Value Types\n- [x] 7.4.8 Building Block Components \u2013 Basic\n- [x] 7.4.9 Building Block Components \u2013 Homes\n- [x] 7.4.10 Building Block CCM-Specific\n- [x] 7.4.11 Building Block Components \u2013 Ports and Connectors\n- [x] 7.4.12 Building Block Template Modules\n- [x] 7.4.13 Building Block Extended Data-Types\n- [x] 7.4.14 Building Block Anonymous Types\n- [x] 7.4.15 Building Block Annotations\n- [x] 7.4.16 Relationships between the Building Blocks\n- [x] 8 Standardized Annotations\n\nDDS-XTypes v1.3:\n\n- [x] 7.3.1.2.3 Alternative Annotation Syntax\n- [x] 7.3.1.2.1 Built-in Annotations\n\nDDS-RPC v1.0:\n\n- [x] 7.3.1 Service Definition in IDL\n- [x] 7.5.1.2.1 Annotations for the Enhanced Service Mapping\n- [x] 7.4.2.2 Specifying Topic Names using Annotations\n\n## extends\n\n### allow merge case\n\n```idl\nunion A switch(long) {\n    case 1:\n    case 2: //< allow\n    case 3:\n        u8 a;\n};\n```\n\n### allow using simple_type_spec in template parameter\n\n```idl\nmodule MyTemplate <typename T, struct S, long m> {\n                                      //  ^ allow\n};\n```\n\n### allow `custom` prop appears in value_box_def\n\n```idl\ncustom valuetype A a; // value_box_def\n// ^ extend grammar\n```\n\n### allow omit param_attribute\n\n```idl\ninterface A {\n    void f(uint8 b);\n};\n```\n\n### allow rust style oct number\n\n```idl\nconst u8 A = 0o3;\n```\n\n### allow binary number\n\n```idl\nconst u8 A = 0b010101;\n```\n\n### allow octet in typedef_spec\n\n```idl\nunion A switch(octet) {};\n//              ^ allow\n```\n\n### allow comma at last of enumator\n\n```idl\nenum A {\n    A,\n//   ^ allow\n};\n\nbitmask A {\n    @position(0) a,\n//                ^ allow\n};\n```\n\n### allow ignore 'name='\n\n```idl\n@DDSRequestTopic(\"RobotRequestTopic\")\n//               ^ allow ignore `name=`\ninterface RobotControl {\n    void command(Command com);\n};\n```\n\n### allow ignore '=xx' in annotation\n\n```idl\n@derive(Debug, Clone)\n//           ^allow ignore \"=\"\nstruct Hello {};\n```\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "Idl grammar for tree-sitter",
    "version": "3.13.0",
    "project_urls": {
        "Homepage": "https://github.com/cathaysia/tree-sitter-idl"
    },
    "split_keywords": [
        "incremental",
        " parsing",
        " tree-sitter",
        " idl"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "dac420e3132e2b5fb1acc04584d1d8680dc440ca4f176cf187be644b8de8deb5",
                "md5": "9cee711e9bb8bbe58ede3fd5e4e7ba37",
                "sha256": "aebd082c4f2fe087a48048365ccb3d3d5a15b08e6721c79590186cb954b81018"
            },
            "downloads": -1,
            "filename": "tree_sitter_idl-3.13.0-cp38-abi3-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "9cee711e9bb8bbe58ede3fd5e4e7ba37",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 81202,
            "upload_time": "2025-07-17T02:53:57",
            "upload_time_iso_8601": "2025-07-17T02:53:57.090093Z",
            "url": "https://files.pythonhosted.org/packages/da/c4/20e3132e2b5fb1acc04584d1d8680dc440ca4f176cf187be644b8de8deb5/tree_sitter_idl-3.13.0-cp38-abi3-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2c21f513a40b57f9238a5816086a7be4e9f0cb1bac2616e173e2516f2e1b2dc2",
                "md5": "3d307188f901ff3766afecbb01f21baa",
                "sha256": "5a862cb24fae637b71fc8fa16661b3a575e52043d2e882c89283457bf5d7b3df"
            },
            "downloads": -1,
            "filename": "tree_sitter_idl-3.13.0-cp38-abi3-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "3d307188f901ff3766afecbb01f21baa",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 85815,
            "upload_time": "2025-07-17T02:53:58",
            "upload_time_iso_8601": "2025-07-17T02:53:58.520577Z",
            "url": "https://files.pythonhosted.org/packages/2c/21/f513a40b57f9238a5816086a7be4e9f0cb1bac2616e173e2516f2e1b2dc2/tree_sitter_idl-3.13.0-cp38-abi3-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f48151fcf880b7e4486e523fa72f8dc3efcc8e880647002e95d2db0d6311c6a9",
                "md5": "686aa9ffa6b2add3bee8d4c990a34c28",
                "sha256": "13e652bf1178344df592fc9e59bdb2d22e40eb0b6f5a3c712b5634cce986c11f"
            },
            "downloads": -1,
            "filename": "tree_sitter_idl-3.13.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "686aa9ffa6b2add3bee8d4c990a34c28",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 135552,
            "upload_time": "2025-07-17T02:53:59",
            "upload_time_iso_8601": "2025-07-17T02:53:59.268461Z",
            "url": "https://files.pythonhosted.org/packages/f4/81/51fcf880b7e4486e523fa72f8dc3efcc8e880647002e95d2db0d6311c6a9/tree_sitter_idl-3.13.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8e1f1a0745ea680817b86691919a1f4c3838b67bb151f5e94aee5f56cf0a5340",
                "md5": "f1473b03a86705daf69d3b3cc0f1d312",
                "sha256": "2225285a26f60e95fcb1e6e2e90b24512fa7eca6564db9ece81520b5a9f20cc0"
            },
            "downloads": -1,
            "filename": "tree_sitter_idl-3.13.0-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "f1473b03a86705daf69d3b3cc0f1d312",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 102432,
            "upload_time": "2025-07-17T02:54:00",
            "upload_time_iso_8601": "2025-07-17T02:54:00.098644Z",
            "url": "https://files.pythonhosted.org/packages/8e/1f/1a0745ea680817b86691919a1f4c3838b67bb151f5e94aee5f56cf0a5340/tree_sitter_idl-3.13.0-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8ac0fa2da42608bc5093226b43b4f808e9620b870166d614f42c5d7f44ef47c2",
                "md5": "36a24aee2fa906ecc5081e6f3d54a5ea",
                "sha256": "e6f3ff46d6b5c11f175d8e79ec71e12ed154ac61686c493ff459d17e5c9887e1"
            },
            "downloads": -1,
            "filename": "tree_sitter_idl-3.13.0-cp38-abi3-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "36a24aee2fa906ecc5081e6f3d54a5ea",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 94942,
            "upload_time": "2025-07-17T02:54:00",
            "upload_time_iso_8601": "2025-07-17T02:54:00.856771Z",
            "url": "https://files.pythonhosted.org/packages/8a/c0/fa2da42608bc5093226b43b4f808e9620b870166d614f42c5d7f44ef47c2/tree_sitter_idl-3.13.0-cp38-abi3-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "814ee6e99347e7e6f17795ca38b98174d336954258cdcc98ebede9a81489508a",
                "md5": "0dfafe69be4a2a7954331d69fddf050c",
                "sha256": "f5a5b1c7f53e9c83da8f9bc77a21cf6fe785a652e2e587c17aa596976321280e"
            },
            "downloads": -1,
            "filename": "tree_sitter_idl-3.13.0-cp38-abi3-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "0dfafe69be4a2a7954331d69fddf050c",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 86028,
            "upload_time": "2025-07-17T02:54:01",
            "upload_time_iso_8601": "2025-07-17T02:54:01.898953Z",
            "url": "https://files.pythonhosted.org/packages/81/4e/e6e99347e7e6f17795ca38b98174d336954258cdcc98ebede9a81489508a/tree_sitter_idl-3.13.0-cp38-abi3-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "3e8ce8fadc1ddba6b076a43789c29410072148af8a8b5d63df5417ce4ad1da2e",
                "md5": "d1ceb1daffd10bb0a896aff83477dabb",
                "sha256": "89aeacc65d95ad02faf405ef495d0d07ba7fb2e950ccb66597304748fdbc82cf"
            },
            "downloads": -1,
            "filename": "tree_sitter_idl-3.13.0.tar.gz",
            "has_sig": false,
            "md5_digest": "d1ceb1daffd10bb0a896aff83477dabb",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 124676,
            "upload_time": "2025-07-17T02:54:02",
            "upload_time_iso_8601": "2025-07-17T02:54:02.928261Z",
            "url": "https://files.pythonhosted.org/packages/3e/8c/e8fadc1ddba6b076a43789c29410072148af8a8b5d63df5417ce4ad1da2e/tree_sitter_idl-3.13.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-17 02:54:02",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "cathaysia",
    "github_project": "tree-sitter-idl",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "tree-sitter-idl"
}
        
Elapsed time: 1.77324s