summaryrefslogtreecommitdiff
path: root/source4/build/pidl/idl.gram
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2003-11-28 03:47:45 +0000
committerAndrew Tridgell <tridge@samba.org>2003-11-28 03:47:45 +0000
commit07fdc2c73e03dad5b6030db0e8e488a3834796f5 (patch)
tree572ab828b52cfa9cf6887acd5049c41f279ece2c /source4/build/pidl/idl.gram
parentdf5949efb425668f8e7ae38c0c858bd90529255a (diff)
downloadsamba-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.gram13
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: '#' /.*/