diff options
author | Andrew Tridgell <tridge@samba.org> | 2003-11-28 03:47:45 +0000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2003-11-28 03:47:45 +0000 |
commit | 07fdc2c73e03dad5b6030db0e8e488a3834796f5 (patch) | |
tree | 572ab828b52cfa9cf6887acd5049c41f279ece2c /source4/build/pidl/idl.gram | |
parent | df5949efb425668f8e7ae38c0c858bd90529255a (diff) | |
download | samba-07fdc2c73e03dad5b6030db0e8e488a3834796f5.tar.gz samba-07fdc2c73e03dad5b6030db0e8e488a3834796f5.tar.bz2 samba-07fdc2c73e03dad5b6030db0e8e488a3834796f5.zip |
* support multiple interfaces in one IDL file in pidl
* make far more generated functions static
* get rid of gen_rpc, and include the client calls in ndr_*.c
* added placeholder IDL for a number of intefaces (dcom, wzcsvc, browser etc)
(This used to be commit a2bdf0be0119023df3c2b9ea515ed355020f2625)
Diffstat (limited to 'source4/build/pidl/idl.gram')
-rw-r--r-- | source4/build/pidl/idl.gram | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/source4/build/pidl/idl.gram b/source4/build/pidl/idl.gram index 897a5ad769..b354b9772a 100644 --- a/source4/build/pidl/idl.gram +++ b/source4/build/pidl/idl.gram @@ -2,7 +2,11 @@ use util; } -idl: cpp_prefix(s?) module_header interface +idl: idl_interface(s?) + {{ util::FlattenArray($item[1]) }} + | <error> + +idl_interface: module_header interface { [$item{module_header}, $item{interface}] } | <error> @@ -25,8 +29,7 @@ interface: 'interface' <commit> identifier '{' definition(s?) '}' }} | <error?> -definition : cpp_prefix - | typedef { $item[1] } +definition : typedef { $item[1] } | function { $item[1] } | const { $item[1] } @@ -148,11 +151,12 @@ identifier: /[\w?]+/ expression: /[\w.?\/+*-_]+/ -function : type identifier '(' <commit> element_list2 ');' +function : property_list(s?) type identifier '(' <commit> element_list2 ');' {{ "TYPE" => "FUNCTION", "NAME" => $item{identifier}, "RETURN_TYPE" => $item{type}, + "PROPERTIES" => util::FlattenArray($item[1]), "DATA" => $item{element_list2} }} | <error?> @@ -177,4 +181,3 @@ anytext: text2 '(' <commit> anytext ')' anytext constant: /-?[\dx]+/ | '*' -cpp_prefix: '#' /.*/ |