diff options
author | Vincent Sanders <vince@kyllikki.org> | 2013-01-02 21:47:13 +0000 |
---|---|---|
committer | Vincent Sanders <vince@kyllikki.org> | 2013-01-02 21:47:13 +0000 |
commit | 2b722f1ccfecc75ed93651543c9ba22a849396a1 (patch) | |
tree | 23c681240e72b15aa65f418ce78b385c2d13f33a /src/nsgenbind-parser.y | |
parent | 3b19d1d1ad88ba63ae821b2aedd4005466ed52fa (diff) | |
download | nsgenbind-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.y | 28 |
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 |