
2 changed files with 105 additions and 0 deletions
@ -0,0 +1,21 @@ |
|||
# TODO:
|
|||
# Incremental compilation impossible without redundantly specifying
|
|||
# files that will be generated in the makefile
|
|||
|
|||
|
|||
TARGET_XML+=prototype_api.xml |
|||
|
|||
.PHONY: all yml clean |
|||
|
|||
all: c_interface $(TARGET_XML) |
|||
|
|||
c_interface: |
|||
YML_PATH=../pEp_idl yml2proc -y ../pEp_idl/gen_c_header.ysl2 prototype_api.yml2 |
|||
|
|||
xml: $(TARGET_XML) |
|||
|
|||
%.xml: %.yml2 |
|||
YML_PATH=../pEp_idl yml2proc -P $< -o $@ |
|||
|
|||
clean: |
|||
rm -f *.xml *.xsl *.h |
@ -0,0 +1,84 @@ |
|||
include pEp_idl_grammar.yml2 |
|||
|
|||
package pkg { |
|||
version 1.0; |
|||
license "License text"; |
|||
copyleft "Copyleft text"; |
|||
|
|||
api api1 { |
|||
// These are the idl basetypes |
|||
// They should be in the package 'pEpIdl' |
|||
// And they need to be 'imported' into every module. |
|||
// But currently there is no import/depends concept implemented |
|||
type string; |
|||
type binary; |
|||
type int; |
|||
type uint; |
|||
type size; |
|||
type bool; |
|||
type opaque; |
|||
|
|||
// This is part of the API def |
|||
type stringalias is string; |
|||
|
|||
enum enum1 { |
|||
item item1 doc="oneline doc"; |
|||
item item2 doc=""; |
|||
item item3 |
|||
doc= |
|||
""" |
|||
item 3 |
|||
------ |
|||
multiline |
|||
doc |
|||
"""; |
|||
}; |
|||
|
|||
enum enum2 { |
|||
item item1 0; |
|||
item item2 1; |
|||
item item3 2 |
|||
doc= |
|||
""" |
|||
|
|||
|
|||
|
|||
item 3 |
|||
------ |
|||
|
|||
multiline |
|||
|
|||
doc with bad formattting """; |
|||
}; |
|||
|
|||
enum enum3 { |
|||
hex item1 0x00; |
|||
hex item2 0x10 doc="oneline doc"; |
|||
hex item3 0xff |
|||
doc= |
|||
""" |
|||
item 3 |
|||
------ |
|||
multi line |
|||
doc |
|||
"""; |
|||
}; |
|||
|
|||
struct struct1 { |
|||
field int int1; |
|||
field size size1 doc="short doc"; |
|||
field string string1 |
|||
doc=""" |
|||
Multiline |
|||
Doc |
|||
""", |
|||
bla="fds"; |
|||
}; |
|||
}; |
|||
|
|||
api api2 { |
|||
|
|||
|
|||
} |
|||
} |
|||
|
Loading…
Reference in new issue