tree-sitter-idl


Nametree-sitter-idl JSON
Version 3.12.1 PyPI version JSON
download
home_pageNone
SummaryIdl grammar for tree-sitter
upload_time2025-02-09 14:25:56
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

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/34/61/31e3fc67e6ef9dcc5d0dd396ee0e2f44e15af1e9586364d68af08a1912d0/tree_sitter_idl-3.12.1.tar.gz",
    "platform": null,
    "description": "# tree-sitter-idl\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.12.1",
    "project_urls": {
        "Homepage": "https://github.com/cathaysia/tree-sitter-idl"
    },
    "split_keywords": [
        "incremental",
        " parsing",
        " tree-sitter",
        " idl"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ebd3dbb6e9b2f339086708a237de4df70af5afbcd82d82162593c38d13df9150",
                "md5": "1930e2be3feea42ad130a4ff71e0cf78",
                "sha256": "2ee9097084a2727f1116d61e51eaafc26fc3bc72f353948a207f73c8b9e032b6"
            },
            "downloads": -1,
            "filename": "tree_sitter_idl-3.12.1-cp38-abi3-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1930e2be3feea42ad130a4ff71e0cf78",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 80911,
            "upload_time": "2025-02-09T14:25:45",
            "upload_time_iso_8601": "2025-02-09T14:25:45.101817Z",
            "url": "https://files.pythonhosted.org/packages/eb/d3/dbb6e9b2f339086708a237de4df70af5afbcd82d82162593c38d13df9150/tree_sitter_idl-3.12.1-cp38-abi3-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7a57abe0c5bf97f2d78ff0c3325470a09fc4f549312767933ea9889f076e72aa",
                "md5": "8f742b3d5f5442dbd0e79b86b58f5222",
                "sha256": "0932c6114f5f8b1e38f1795c4f868c9e48832d3e489a056b2c7c005c0ca69c76"
            },
            "downloads": -1,
            "filename": "tree_sitter_idl-3.12.1-cp38-abi3-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "8f742b3d5f5442dbd0e79b86b58f5222",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 85525,
            "upload_time": "2025-02-09T14:25:47",
            "upload_time_iso_8601": "2025-02-09T14:25:47.021099Z",
            "url": "https://files.pythonhosted.org/packages/7a/57/abe0c5bf97f2d78ff0c3325470a09fc4f549312767933ea9889f076e72aa/tree_sitter_idl-3.12.1-cp38-abi3-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "459b428c68f317bc578a78e3f95be363f6d143167383a9fd4687b938c146cbdc",
                "md5": "869328c6acbb55c812b7a6981889ba50",
                "sha256": "139d7e8f3a749dcd8def67361c91bc6da438e3fc60f1111ad76748f08fedb4c1"
            },
            "downloads": -1,
            "filename": "tree_sitter_idl-3.12.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "869328c6acbb55c812b7a6981889ba50",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 135266,
            "upload_time": "2025-02-09T14:25:48",
            "upload_time_iso_8601": "2025-02-09T14:25:48.637725Z",
            "url": "https://files.pythonhosted.org/packages/45/9b/428c68f317bc578a78e3f95be363f6d143167383a9fd4687b938c146cbdc/tree_sitter_idl-3.12.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "874a411c9358a8154b0d5213129bd84200b4369c966f43402b9577d2884da265",
                "md5": "e159bd51156047e7cf3951bc8cb69116",
                "sha256": "31463c6a9e907920da3580179c673744261f689064a67cf64c7be11bf86bd83e"
            },
            "downloads": -1,
            "filename": "tree_sitter_idl-3.12.1-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e159bd51156047e7cf3951bc8cb69116",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 102146,
            "upload_time": "2025-02-09T14:25:49",
            "upload_time_iso_8601": "2025-02-09T14:25:49.584099Z",
            "url": "https://files.pythonhosted.org/packages/87/4a/411c9358a8154b0d5213129bd84200b4369c966f43402b9577d2884da265/tree_sitter_idl-3.12.1-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": "0d8fe37de2972afbb83fb90ea9db1941af097075a385cc145e4bdb8abca30de8",
                "md5": "d39dca1f0eee082609eec6f9f741e0bd",
                "sha256": "defb2372037a5ccf89aabefc276a5c58f0bd2b3f3b0424e2d5df9814895b0785"
            },
            "downloads": -1,
            "filename": "tree_sitter_idl-3.12.1-cp38-abi3-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d39dca1f0eee082609eec6f9f741e0bd",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 94652,
            "upload_time": "2025-02-09T14:25:51",
            "upload_time_iso_8601": "2025-02-09T14:25:51.218662Z",
            "url": "https://files.pythonhosted.org/packages/0d/8f/e37de2972afbb83fb90ea9db1941af097075a385cc145e4bdb8abca30de8/tree_sitter_idl-3.12.1-cp38-abi3-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5f58d8cbbce52342315f6ebc33af5438f25acfc4a3d053da3f412c60dfd6cc61",
                "md5": "2a028a82166394e12bde7b0391437133",
                "sha256": "572f321fe6f84b09c328994dfbd209089ffbd72b455adfe08373f9e23a60d809"
            },
            "downloads": -1,
            "filename": "tree_sitter_idl-3.12.1-cp38-abi3-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "2a028a82166394e12bde7b0391437133",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 85908,
            "upload_time": "2025-02-09T14:25:52",
            "upload_time_iso_8601": "2025-02-09T14:25:52.738155Z",
            "url": "https://files.pythonhosted.org/packages/5f/58/d8cbbce52342315f6ebc33af5438f25acfc4a3d053da3f412c60dfd6cc61/tree_sitter_idl-3.12.1-cp38-abi3-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d980575cd4f0cd674d292fa72f2e4f4f2a60008ebade7292a64da0575de77419",
                "md5": "c3cb8b8899a172a3f0431aa9b0f6358d",
                "sha256": "40e213ae0a7bca685d8694245eb24ec5a0a6df2c728b51c4691e5b390664729a"
            },
            "downloads": -1,
            "filename": "tree_sitter_idl-3.12.1-cp38-abi3-win_arm64.whl",
            "has_sig": false,
            "md5_digest": "c3cb8b8899a172a3f0431aa9b0f6358d",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 83306,
            "upload_time": "2025-02-09T14:25:54",
            "upload_time_iso_8601": "2025-02-09T14:25:54.687389Z",
            "url": "https://files.pythonhosted.org/packages/d9/80/575cd4f0cd674d292fa72f2e4f4f2a60008ebade7292a64da0575de77419/tree_sitter_idl-3.12.1-cp38-abi3-win_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "346131e3fc67e6ef9dcc5d0dd396ee0e2f44e15af1e9586364d68af08a1912d0",
                "md5": "7dbd0fef7308cdb91ee3fe357b1860ec",
                "sha256": "77bb559cea5dfbe2ac1f6a9812bf2d3a740ae8111c0cb91a40c71a60b30b6459"
            },
            "downloads": -1,
            "filename": "tree_sitter_idl-3.12.1.tar.gz",
            "has_sig": false,
            "md5_digest": "7dbd0fef7308cdb91ee3fe357b1860ec",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 124586,
            "upload_time": "2025-02-09T14:25:56",
            "upload_time_iso_8601": "2025-02-09T14:25:56.564974Z",
            "url": "https://files.pythonhosted.org/packages/34/61/31e3fc67e6ef9dcc5d0dd396ee0e2f44e15af1e9586364d68af08a1912d0/tree_sitter_idl-3.12.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-02-09 14:25:56",
    "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.14505s