summaryrefslogtreecommitdiff
path: root/src/nsgenbind-parser.y
diff options
context:
space:
mode:
authorVincent Sanders <vince@kyllikki.org>2013-01-02 21:47:13 +0000
committerVincent Sanders <vince@kyllikki.org>2013-01-02 21:47:13 +0000
commit2b722f1ccfecc75ed93651543c9ba22a849396a1 (patch)
tree23c681240e72b15aa65f418ce78b385c2d13f33a /src/nsgenbind-parser.y
parent3b19d1d1ad88ba63ae821b2aedd4005466ed52fa (diff)
downloadnsgenbind-2b722f1ccfecc75ed93651543c9ba22a849396a1.tar.gz
nsgenbind-2b722f1ccfecc75ed93651543c9ba22a849396a1.tar.bz2
extend binding DSL with prologue and epilogue stanzas
Diffstat (limited to 'src/nsgenbind-parser.y')
-rw-r--r--src/nsgenbind-parser.y28
1 files changed, 26 insertions, 2 deletions
diff --git a/src/nsgenbind-parser.y b/src/nsgenbind-parser.y
index 984513e..472e655 100644
--- a/src/nsgenbind-parser.y
+++ b/src/nsgenbind-parser.y
@@ -42,6 +42,8 @@ char *errtxt;
%token TOK_IDLFILE
%token TOK_HDR_COMMENT
%token TOK_PREAMBLE
+%token TOK_PROLOGUE;
+%token TOK_EPILOGUE;
%token TOK_API
%token TOK_BINDING
@@ -69,6 +71,8 @@ char *errtxt;
%type <node> Statements
%type <node> IdlFile
%type <node> Preamble
+%type <node> Prologue
+%type <node> Epilogue
%type <node> HdrComment
%type <node> Strings
%type <node> Binding
@@ -120,7 +124,11 @@ Statement
HdrComment
|
Preamble
- |
+ |
+ Prologue
+ |
+ Epilogue
+ |
Binding
|
Operation
@@ -164,12 +172,28 @@ Strings
Preamble
:
- TOK_PREAMBLE CBlock
+ TOK_PREAMBLE CBlock
{
$$ = genbind_new_node(GENBIND_NODE_TYPE_PREAMBLE, NULL, $2);
}
;
+Prologue
+ :
+ TOK_PROLOGUE CBlock
+ {
+ $$ = genbind_new_node(GENBIND_NODE_TYPE_PROLOGUE, NULL, $2);
+ }
+ ;
+
+Epilogue
+ :
+ TOK_EPILOGUE CBlock
+ {
+ $$ = genbind_new_node(GENBIND_NODE_TYPE_EPILOGUE, NULL, $2);
+ }
+ ;
+
CBlock
:
TOK_CCODE_LITERAL