From 2b722f1ccfecc75ed93651543c9ba22a849396a1 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Wed, 2 Jan 2013 21:47:13 +0000 Subject: extend binding DSL with prologue and epilogue stanzas --- src/nsgenbind-parser.y | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) (limited to 'src/nsgenbind-parser.y') 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 Statements %type IdlFile %type Preamble +%type Prologue +%type Epilogue %type HdrComment %type Strings %type 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 -- cgit v1.2.3