tree-sitter-idl


Nametree-sitter-idl JSON
Version 3.9.2 PyPI version JSON
download
home_pageNone
SummaryIdl grammar for tree-sitter
upload_time2024-08-16 09:09:28
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);
};
```

            

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": null,
    "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",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "Idl grammar for tree-sitter",
    "version": "3.9.2",
    "project_urls": {
        "Homepage": "https://github.com/cathaysia/tree-sitter-idl"
    },
    "split_keywords": [
        "incremental",
        " parsing",
        " tree-sitter",
        " idl"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d60411ab13dc5ed719314f80605707a2750073b01176588e8748ef6d669c9a68",
                "md5": "41f39d8f0ba038e899abd93e15a2579d",
                "sha256": "8d1034a63d3c6c686d1930936ce1298071d7820b829a330a67d0572c4d75a1e6"
            },
            "downloads": -1,
            "filename": "tree_sitter_idl-3.9.2-cp38-abi3-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "41f39d8f0ba038e899abd93e15a2579d",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 80849,
            "upload_time": "2024-08-16T09:09:28",
            "upload_time_iso_8601": "2024-08-16T09:09:28.813912Z",
            "url": "https://files.pythonhosted.org/packages/d6/04/11ab13dc5ed719314f80605707a2750073b01176588e8748ef6d669c9a68/tree_sitter_idl-3.9.2-cp38-abi3-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5ff2af0886e7cce6ba6d372cebede8c0b96b2348edd71d5ee2072334679b9c61",
                "md5": "5e45896d4e7cd024a056d0568208e8e3",
                "sha256": "902b378d9c2fd9b4d6d30576a04d637440df7b3bf02fc98a75cb9158b58970ed"
            },
            "downloads": -1,
            "filename": "tree_sitter_idl-3.9.2-cp38-abi3-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "5e45896d4e7cd024a056d0568208e8e3",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 85436,
            "upload_time": "2024-08-16T09:09:30",
            "upload_time_iso_8601": "2024-08-16T09:09:30.687744Z",
            "url": "https://files.pythonhosted.org/packages/5f/f2/af0886e7cce6ba6d372cebede8c0b96b2348edd71d5ee2072334679b9c61/tree_sitter_idl-3.9.2-cp38-abi3-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "75730f7d7c135d0b83da6349a40e840f8e3232bd16a20e3954dc691a0cf268ce",
                "md5": "87d8f450b6e5418e583fee23c4487264",
                "sha256": "20ac4b2b01565747d6f475259ea467ca1ad74f664774af027a76e4b115393d0c"
            },
            "downloads": -1,
            "filename": "tree_sitter_idl-3.9.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "87d8f450b6e5418e583fee23c4487264",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 135320,
            "upload_time": "2024-08-16T09:09:31",
            "upload_time_iso_8601": "2024-08-16T09:09:31.821815Z",
            "url": "https://files.pythonhosted.org/packages/75/73/0f7d7c135d0b83da6349a40e840f8e3232bd16a20e3954dc691a0cf268ce/tree_sitter_idl-3.9.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "40f010ba2e37048df686fb58285479e2045ee8beff2774c913cb1494371be516",
                "md5": "e3cb2c99f2d43a8e82086d150a4b3227",
                "sha256": "c19bcac8081e21975d64e94c1484dd2600bbb5fc52d97cc4730b85e031839e14"
            },
            "downloads": -1,
            "filename": "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",
            "has_sig": false,
            "md5_digest": "e3cb2c99f2d43a8e82086d150a4b3227",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 102201,
            "upload_time": "2024-08-16T09:09:32",
            "upload_time_iso_8601": "2024-08-16T09:09:32.902711Z",
            "url": "https://files.pythonhosted.org/packages/40/f0/10ba2e37048df686fb58285479e2045ee8beff2774c913cb1494371be516/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",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "81e88dcb93d5c994cc64d01fefa209fb5de278f2665d86f9badb317c50eedbcb",
                "md5": "ca1f0fb66323c42bc864c1913ed03e74",
                "sha256": "6ff06b796d2da1f5fd605e6b5688210f33d17044141027a3d4bed414d83fae9a"
            },
            "downloads": -1,
            "filename": "tree_sitter_idl-3.9.2-cp38-abi3-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "ca1f0fb66323c42bc864c1913ed03e74",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 94891,
            "upload_time": "2024-08-16T09:09:34",
            "upload_time_iso_8601": "2024-08-16T09:09:34.379951Z",
            "url": "https://files.pythonhosted.org/packages/81/e8/8dcb93d5c994cc64d01fefa209fb5de278f2665d86f9badb317c50eedbcb/tree_sitter_idl-3.9.2-cp38-abi3-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c8561c01b5c041a9be7b7967cbbd9f6a4dcc3d1dad2eba62178bd12314af03ee",
                "md5": "76dac1266c9490cc23dff6bfbd9d2165",
                "sha256": "cd9a620ff1db09a7f00a95539c3ec818ad8b30c4222c526ef468ad13a5128f2c"
            },
            "downloads": -1,
            "filename": "tree_sitter_idl-3.9.2-cp38-abi3-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "76dac1266c9490cc23dff6bfbd9d2165",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 94710,
            "upload_time": "2024-08-16T09:09:35",
            "upload_time_iso_8601": "2024-08-16T09:09:35.785274Z",
            "url": "https://files.pythonhosted.org/packages/c8/56/1c01b5c041a9be7b7967cbbd9f6a4dcc3d1dad2eba62178bd12314af03ee/tree_sitter_idl-3.9.2-cp38-abi3-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bdc9adc9e7c0e8ca038a9328982fbf04ebcf58c209be170055bed8a8f899937c",
                "md5": "81b280e2d235f09aa0cfc7c2c05dfbd5",
                "sha256": "ca4f63b23aa7f00afb39502d6539d9c9e891e11b1df894a90f9dff0f63e70415"
            },
            "downloads": -1,
            "filename": "tree_sitter_idl-3.9.2-cp38-abi3-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "81b280e2d235f09aa0cfc7c2c05dfbd5",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 85848,
            "upload_time": "2024-08-16T09:09:37",
            "upload_time_iso_8601": "2024-08-16T09:09:37.111644Z",
            "url": "https://files.pythonhosted.org/packages/bd/c9/adc9e7c0e8ca038a9328982fbf04ebcf58c209be170055bed8a8f899937c/tree_sitter_idl-3.9.2-cp38-abi3-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-08-16 09:09:28",
    "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: 0.98600s