tree-sitter-idl
OMG IDL 4.2(with XTypes extension) grammar for tree-sitter.
current state
IDL v4.2:
DDS-XTypes v1.3:
DDS-RPC v1.0:
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);
};