summaryrefslogtreecommitdiff
path: root/source4/pidl/idl.yp
diff options
context:
space:
mode:
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;