# 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/42/71/a455bd1b739305266832602427968b9f8f403e49afc3d3a56cd06a566d4e/tree-sitter-idl-0.0.8.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.8",
"project_urls": {
"Homepage": "https://github.com/cathaysia/tree-sitter-idl"
},
"split_keywords": [
"incremental",
" parsing",
" tree-sitter",
" idl"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "398d952ac07614cf703c12a4d550f44be63ab8586e6d8c39524e9266c1afcc46",
"md5": "e799d795a8612bcde145e0746b6c2275",
"sha256": "43261a12da67857f0dbb876ac7e13d41d11d2d22e8e4ee221b74c9f16094ee08"
},
"downloads": -1,
"filename": "tree_sitter_idl-0.0.8-cp38-abi3-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "e799d795a8612bcde145e0746b6c2275",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 56891,
"upload_time": "2024-06-19T10:26:34",
"upload_time_iso_8601": "2024-06-19T10:26:34.133866Z",
"url": "https://files.pythonhosted.org/packages/39/8d/952ac07614cf703c12a4d550f44be63ab8586e6d8c39524e9266c1afcc46/tree_sitter_idl-0.0.8-cp38-abi3-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "100aa22a053bd0828aeb149610d3bf28034ae6c19ccfafa8d079e0d93f3417c1",
"md5": "cd8beacfe7419a7df5bcee2592929f06",
"sha256": "034e0353a4893f3d42df4bd3b85652e56e0f351de50a0e846ff1faf0ba62f717"
},
"downloads": -1,
"filename": "tree_sitter_idl-0.0.8-cp38-abi3-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "cd8beacfe7419a7df5bcee2592929f06",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 60071,
"upload_time": "2024-06-19T10:26:37",
"upload_time_iso_8601": "2024-06-19T10:26:37.755885Z",
"url": "https://files.pythonhosted.org/packages/10/0a/a22a053bd0828aeb149610d3bf28034ae6c19ccfafa8d079e0d93f3417c1/tree_sitter_idl-0.0.8-cp38-abi3-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ba7aecc305e857d31745fcd4de3071256807f1067d0027045f420f33e5af4bbb",
"md5": "b06835633e6d8b1c3d9e3582889fa0dd",
"sha256": "f8d5e26e578d5a834d2e636bbbca2d828abc9d3ce457bd9536d9dd2bca490f17"
},
"downloads": -1,
"filename": "tree_sitter_idl-0.0.8-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "b06835633e6d8b1c3d9e3582889fa0dd",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 99789,
"upload_time": "2024-06-19T10:26:41",
"upload_time_iso_8601": "2024-06-19T10:26:41.518436Z",
"url": "https://files.pythonhosted.org/packages/ba/7a/ecc305e857d31745fcd4de3071256807f1067d0027045f420f33e5af4bbb/tree_sitter_idl-0.0.8-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "fa9205af60669be044dc0dbf990dd523b980d282abf2f400930f044bc46e9373",
"md5": "fb990624e9ebc445df486e48600fccbc",
"sha256": "8160774210511ec5852ec2d0f8d748de469885843d13afef8f2360b85e232c99"
},
"downloads": -1,
"filename": "tree_sitter_idl-0.0.8-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "fb990624e9ebc445df486e48600fccbc",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 76667,
"upload_time": "2024-06-19T10:26:44",
"upload_time_iso_8601": "2024-06-19T10:26:44.800751Z",
"url": "https://files.pythonhosted.org/packages/fa/92/05af60669be044dc0dbf990dd523b980d282abf2f400930f044bc46e9373/tree_sitter_idl-0.0.8-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": "d69f0ca0a7cfaede3a6f5751e14220d7f62e393805bb643e07a5596ddd7ae4b5",
"md5": "d0ca38843db69df0b56209068f157dd0",
"sha256": "25d5d9aeb823f98687bc53adbbf96977932fea88d27211f12c0a7e778f1733f9"
},
"downloads": -1,
"filename": "tree_sitter_idl-0.0.8-cp38-abi3-musllinux_1_2_aarch64.whl",
"has_sig": false,
"md5_digest": "d0ca38843db69df0b56209068f157dd0",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 70182,
"upload_time": "2024-06-19T10:26:48",
"upload_time_iso_8601": "2024-06-19T10:26:48.368736Z",
"url": "https://files.pythonhosted.org/packages/d6/9f/0ca0a7cfaede3a6f5751e14220d7f62e393805bb643e07a5596ddd7ae4b5/tree_sitter_idl-0.0.8-cp38-abi3-musllinux_1_2_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "94afeddac77b0e3269c4e5620328c10bd7144449f594b52cf5a0ba817968bf6d",
"md5": "dab78c1ec36c5b5dc7495eb345589a56",
"sha256": "ea192044a61812dd8a9a503c24c8004b7f83a94821893a25f0c47957ffd91f18"
},
"downloads": -1,
"filename": "tree_sitter_idl-0.0.8-cp38-abi3-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "dab78c1ec36c5b5dc7495eb345589a56",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 70126,
"upload_time": "2024-06-19T10:26:55",
"upload_time_iso_8601": "2024-06-19T10:26:55.868805Z",
"url": "https://files.pythonhosted.org/packages/94/af/eddac77b0e3269c4e5620328c10bd7144449f594b52cf5a0ba817968bf6d/tree_sitter_idl-0.0.8-cp38-abi3-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "21416c8e926babaaaa89e21a872dc70d93d9fa81698cf7e68960af1d3b8a3e4b",
"md5": "9ab8562a4067a88841d20fec54facc3c",
"sha256": "14a68045c576b43d0ac877952f13defee2a376e7d7382f79e9b7f33d97518028"
},
"downloads": -1,
"filename": "tree_sitter_idl-0.0.8-cp38-abi3-win_amd64.whl",
"has_sig": false,
"md5_digest": "9ab8562a4067a88841d20fec54facc3c",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 62100,
"upload_time": "2024-06-19T10:27:05",
"upload_time_iso_8601": "2024-06-19T10:27:05.274703Z",
"url": "https://files.pythonhosted.org/packages/21/41/6c8e926babaaaa89e21a872dc70d93d9fa81698cf7e68960af1d3b8a3e4b/tree_sitter_idl-0.0.8-cp38-abi3-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4271a455bd1b739305266832602427968b9f8f403e49afc3d3a56cd06a566d4e",
"md5": "472b4992e51c1a6b13a5e823a7a8e7b1",
"sha256": "92d4423f3e6fd1ce276a0ea1bca200f21f25ab189eef015910d3b721c57ffeee"
},
"downloads": -1,
"filename": "tree-sitter-idl-0.0.8.tar.gz",
"has_sig": false,
"md5_digest": "472b4992e51c1a6b13a5e823a7a8e7b1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 77033,
"upload_time": "2024-06-19T10:27:10",
"upload_time_iso_8601": "2024-06-19T10:27:10.510301Z",
"url": "https://files.pythonhosted.org/packages/42/71/a455bd1b739305266832602427968b9f8f403e49afc3d3a56cd06a566d4e/tree-sitter-idl-0.0.8.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-06-19 10:27:10",
"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"
}