# 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 4.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(partial)
DDS-XTypes:
- [x] 7.3.1.2.3 Alternative Annotation Syntax (by idl_annotation)
### 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
```
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/a8/49/fef07e8bc45b9d69d294ec2bf73a47869c292b34c785bcc1ea2fbff7f40c/tree-sitter-idl-0.0.6.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 4.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(partial)\n\nDDS-XTypes:\n\n- [x] 7.3.1.2.3 Alternative Annotation Syntax (by idl_annotation)\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",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "Idl grammar for tree-sitter",
"version": "0.0.6",
"project_urls": {
"Homepage": "https://github.com/cathaysia/tree-sitter-idl"
},
"split_keywords": [
"incremental",
" parsing",
" tree-sitter",
" idl"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "fa88e1632975ae5a731c25863092b184ff8f3111b6fd48e03eedb1253036ba9b",
"md5": "94672b89fc0aafde67f6b1184b41dc8d",
"sha256": "858f6838751084cca8b663911d5dde9a10cf7f343768a14b87de4c700c383f28"
},
"downloads": -1,
"filename": "tree_sitter_idl-0.0.6-cp38-abi3-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "94672b89fc0aafde67f6b1184b41dc8d",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 56802,
"upload_time": "2024-05-30T07:17:49",
"upload_time_iso_8601": "2024-05-30T07:17:49.774282Z",
"url": "https://files.pythonhosted.org/packages/fa/88/e1632975ae5a731c25863092b184ff8f3111b6fd48e03eedb1253036ba9b/tree_sitter_idl-0.0.6-cp38-abi3-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "144038f1cf791926c0a3805c692c6f4aaf07d0d442e1aa287424311f9b6b7f63",
"md5": "26951aca6b3dcf18b365c99609e4701e",
"sha256": "7cf63260d708a27eeef009bca700c3c09932b089cd16173aa5f9d575a1798458"
},
"downloads": -1,
"filename": "tree_sitter_idl-0.0.6-cp38-abi3-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "26951aca6b3dcf18b365c99609e4701e",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 59947,
"upload_time": "2024-05-30T07:17:51",
"upload_time_iso_8601": "2024-05-30T07:17:51.397487Z",
"url": "https://files.pythonhosted.org/packages/14/40/38f1cf791926c0a3805c692c6f4aaf07d0d442e1aa287424311f9b6b7f63/tree_sitter_idl-0.0.6-cp38-abi3-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "39faf1f5dcf7fb9aa8e89c4e9a946afed6e33b71f947a88d6b762ad8f22bca4b",
"md5": "8d610343384164cf9df72dee4afdd706",
"sha256": "7b1e03308aea06ce6ad4ad6c0ec6d69e0016e682a08ec230ab102ad49f0d711b"
},
"downloads": -1,
"filename": "tree_sitter_idl-0.0.6-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "8d610343384164cf9df72dee4afdd706",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 99690,
"upload_time": "2024-05-30T07:17:53",
"upload_time_iso_8601": "2024-05-30T07:17:53.267623Z",
"url": "https://files.pythonhosted.org/packages/39/fa/f1f5dcf7fb9aa8e89c4e9a946afed6e33b71f947a88d6b762ad8f22bca4b/tree_sitter_idl-0.0.6-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5b77981d46c3bc6a6936496a277a2c0c84159b95fbe18c6c76a811ce35d453f3",
"md5": "df2960180bfe4605dde97fd9d9f5f694",
"sha256": "8695ffb570e198750d06e883a9d38504533c654dfb3e5a19f79a05f755cff8a3"
},
"downloads": -1,
"filename": "tree_sitter_idl-0.0.6-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "df2960180bfe4605dde97fd9d9f5f694",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 76515,
"upload_time": "2024-05-30T07:17:54",
"upload_time_iso_8601": "2024-05-30T07:17:54.906488Z",
"url": "https://files.pythonhosted.org/packages/5b/77/981d46c3bc6a6936496a277a2c0c84159b95fbe18c6c76a811ce35d453f3/tree_sitter_idl-0.0.6-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": "ddd16e157e95d31dff3b2c0ee633034570edcbd12f01e3bfa2b7b92271ec8d68",
"md5": "1ea23c5b431c1871d1486cd64d0e94cd",
"sha256": "b6f54e450a6e34f34767ab25d93ad0c9924c2ed76ce75f4609d9518c10f80138"
},
"downloads": -1,
"filename": "tree_sitter_idl-0.0.6-cp38-abi3-musllinux_1_1_aarch64.whl",
"has_sig": false,
"md5_digest": "1ea23c5b431c1871d1486cd64d0e94cd",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 102202,
"upload_time": "2024-05-30T07:17:56",
"upload_time_iso_8601": "2024-05-30T07:17:56.328823Z",
"url": "https://files.pythonhosted.org/packages/dd/d1/6e157e95d31dff3b2c0ee633034570edcbd12f01e3bfa2b7b92271ec8d68/tree_sitter_idl-0.0.6-cp38-abi3-musllinux_1_1_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "980f38ae02fe55c3cc8cb85d5a8ec4292487a5ddec1183e47850e7afcdc94059",
"md5": "2f6260f94fdc9082f970f995b6a0980b",
"sha256": "ea9051a87f45dede8dbdfef37b3b9ff831047e84a287c6cace207a9d563f62d9"
},
"downloads": -1,
"filename": "tree_sitter_idl-0.0.6-cp38-abi3-musllinux_1_1_x86_64.whl",
"has_sig": false,
"md5_digest": "2f6260f94fdc9082f970f995b6a0980b",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 78918,
"upload_time": "2024-05-30T07:17:57",
"upload_time_iso_8601": "2024-05-30T07:17:57.691203Z",
"url": "https://files.pythonhosted.org/packages/98/0f/38ae02fe55c3cc8cb85d5a8ec4292487a5ddec1183e47850e7afcdc94059/tree_sitter_idl-0.0.6-cp38-abi3-musllinux_1_1_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2ea7f4547b3e6df2e64e6e3d1003bc2aadd756d7f42c50023a843d104833e8e1",
"md5": "30635ee681a78b722be1112656864d35",
"sha256": "4a38110b8a127b8021a81312f06333c8bdf037044c956db7fe6c277d0852f362"
},
"downloads": -1,
"filename": "tree_sitter_idl-0.0.6-cp38-abi3-win_amd64.whl",
"has_sig": false,
"md5_digest": "30635ee681a78b722be1112656864d35",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 61799,
"upload_time": "2024-05-30T07:17:59",
"upload_time_iso_8601": "2024-05-30T07:17:59.318088Z",
"url": "https://files.pythonhosted.org/packages/2e/a7/f4547b3e6df2e64e6e3d1003bc2aadd756d7f42c50023a843d104833e8e1/tree_sitter_idl-0.0.6-cp38-abi3-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a849fef07e8bc45b9d69d294ec2bf73a47869c292b34c785bcc1ea2fbff7f40c",
"md5": "1485e2489f8491a0bf0ea51d091b2dbf",
"sha256": "636103ebb42142ecf1af1fabef0e0afa976cefa57ec10e1adeb3cdf3f8686bbb"
},
"downloads": -1,
"filename": "tree-sitter-idl-0.0.6.tar.gz",
"has_sig": false,
"md5_digest": "1485e2489f8491a0bf0ea51d091b2dbf",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 76676,
"upload_time": "2024-05-30T07:18:00",
"upload_time_iso_8601": "2024-05-30T07:18:00.541225Z",
"url": "https://files.pythonhosted.org/packages/a8/49/fef07e8bc45b9d69d294ec2bf73a47869c292b34c785bcc1ea2fbff7f40c/tree-sitter-idl-0.0.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-30 07:18:00",
"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"
}