summaryrefslogtreecommitdiff
path: root/source4/pidl/idl.yp
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2007-08-31 00:03:54 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 15:03:14 -0500
commit7acc0e77a6f6d74d1ccfcf04424a63b224b292a5 (patch)
treee1c8428f645a659ea14105eb4159ad4e1ddac47d /source4/pidl/idl.yp
parent82037a75eae9deaf6ec80b5ecc3bb89aab6e6dd8 (diff)
downloadsamba-7acc0e77a6f6d74d1ccfcf04424a63b224b292a5.tar.gz
samba-7acc0e77a6f6d74d1ccfcf04424a63b224b292a5.tar.bz2
samba-7acc0e77a6f6d74d1ccfcf04424a63b224b292a5.zip
r24815: Support cpp_quote().
(This used to be commit 30c1de30bb4ded16e79316c0ab43809e0e19f75d)
Diffstat (limited to 'source4/pidl/idl.yp')
-rw-r--r--source4/pidl/idl.yp12
1 files changed, 11 insertions, 1 deletions
diff --git a/source4/pidl/idl.yp b/source4/pidl/idl.yp
index 9e63a5846a..c372569a75 100644
--- a/source4/pidl/idl.yp
+++ b/source4/pidl/idl.yp
@@ -21,6 +21,7 @@ idl:
| idl import { push(@{$_[1]}, $_[2]); $_[1] }
| idl include { push(@{$_[1]}, $_[2]); $_[1] }
| idl importlib { push(@{$_[1]}, $_[2]); $_[1] }
+ | idl cpp_quote { push(@{$_[1]}, $_[2]); $_[1] }
;
import: 'import' commalist ';' {{
@@ -77,6 +78,15 @@ interface: property_list 'interface' identifier '{' definitions '}' optional_sem
}}
;
+cpp_quote: 'cpp_quote' '(' text ')'
+ {{
+ "TYPE" => "CPP_QUOTE",
+ "FILE" => $_[0]->YYData->{FILE},
+ "LINE" => $_[0]->YYData->{LINE},
+ "DATA" => $_[3]
+ }}
+;
+
definitions:
definition { [ $_[1] ] }
| definitions definition { push(@{$_[1]}, $_[2]); $_[1] }
@@ -466,7 +476,7 @@ again:
if (s/^([\w_]+)//) {
$parser->YYData->{LAST_TOKEN} = $1;
if ($1 =~
- /^(coclass|interface|const|typedef|declare|union
+ /^(coclass|interface|const|typedef|declare|union|cpp_quote
|struct|enum|bitmap|void|unsigned|signed|import|include
|importlib)$/x) {
return $1;