diff options
Diffstat (limited to 'source4/pidl/idl.yp')
-rw-r--r-- | source4/pidl/idl.yp | 12 |
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; |