43 releases (stable)
new 3.10.0 | Nov 4, 2024 |
---|---|
3.1.2 | Jul 26, 2024 |
2.6.1 | Jul 22, 2024 |
1.2.1 | Jul 10, 2024 |
0.1.0 | Jul 3, 2024 |
#509 in Text editors
49 downloads per month
2MB
88K
SLoC
tree-sitter-idl
OMG IDL 4.2(with XTypes extension) grammar for tree-sitter.
current state
IDL v4.2:
- 7.3 Preprocessing(partial)
- 7.4.1 Building Block Core Data Types
- 7.4.2 Building Block Any
- 7.4.3 Building Block Interfaces – Basic
- 7.4.4 Building Block Interfaces – Full
- 7.4.5 Building Block Value Types
- 7.4.6 Building Block CORBA-Specific – Interfaces
- 7.4.7 Building Block CORBA-Specific – Value Types
- 7.4.8 Building Block Components – Basic
- 7.4.9 Building Block Components – Homes
- 7.4.10 Building Block CCM-Specific
- 7.4.11 Building Block Components – Ports and Connectors
- 7.4.12 Building Block Template Modules
- 7.4.13 Building Block Extended Data-Types
- 7.4.14 Building Block Anonymous Types
- 7.4.15 Building Block Annotations
- 7.4.16 Relationships between the Building Blocks
- 8 Standardized Annotations
DDS-XTypes v1.3:
- 7.3.1.2.3 Alternative Annotation Syntax
- 7.3.1.2.1 Built-in Annotations
DDS-RPC v1.0:
- 7.3.1 Service Definition in IDL
- 7.5.1.2.1 Annotations for the Enhanced Service Mapping
- 7.4.2.2 Specifying Topic Names using Annotations
extends
allow merge case
union A switch(long) {
case 1:
case 2: //< allow
case 3:
u8 a;
};
allow using simple_type_spec in template parameter
module MyTemplate <typename T, struct S, long m> {
// ^ allow
};
allow custom
prop appears in value_box_def
custom valuetype A a; // value_box_def
// ^ extend grammar
allow omit param_attribute
interface A {
void f(uint8 b);
};
allow rust style oct number
const u8 A = 0o3;
allow binary number
const u8 A = 0b010101;
allow octet in typedef_spec
union A switch(octet) {};
// ^ allow
allow comma at last of enumator
enum A {
A,
// ^ allow
};
bitmask A {
@position(0) a,
// ^ allow
};
allow ignore 'name='
@DDSRequestTopic("RobotRequestTopic")
// ^ allow ignore `name=`
interface RobotControl {
void command(Command com);
};
allow ignore '=xx' in annotation
@derive(Debug, Clone)
// ^allow ignore "="
struct Hello {};
Dependencies
~2.7–4MB
~75K SLoC