diff options
author | Vincent Sanders <vincent.sanders@collabora.co.uk> | 2012-09-04 16:36:01 +0100 |
---|---|---|
committer | Vincent Sanders <vincent.sanders@collabora.co.uk> | 2012-09-04 16:36:01 +0100 |
commit | dc672aedbafa7bf24cd24430abcae2d57528cf41 (patch) | |
tree | 269e737cb8adb48def5955bb5b4db6833ffd60e1 /src/genbind-parser.y | |
download | nsgenbind-dc672aedbafa7bf24cd24430abcae2d57528cf41.tar.gz nsgenbind-dc672aedbafa7bf24cd24430abcae2d57528cf41.tar.bz2 |
Initial version of netsurf webidl javascript binding geenrator tool
Diffstat (limited to 'src/genbind-parser.y')
-rw-r--r-- | src/genbind-parser.y | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/src/genbind-parser.y b/src/genbind-parser.y new file mode 100644 index 0000000..309f01e --- /dev/null +++ b/src/genbind-parser.y @@ -0,0 +1,62 @@ +/* + * This is a bison parser for genbind + * + */ + +%{ + +#include <stdio.h> +#include <string.h> + +#include "genbind-parser.h" +#include "genbind-lexer.h" + + extern int loadwebidl(char *filename); + +void genbind_error(const char *str) +{ + fprintf(stderr,"error: %s\n",str); +} + + +int genbind_wrap() +{ + return 1; +} + + + +%} + +%output "genbind-parser.c" +%defines "genbind-parser.h" + +%define api.pure +%name-prefix "genbind_" + +%union +{ + char* text; +} + +%token TOK_IDLFILE + +%token <text> TOK_STRING_LITERAL + +%% + + /* [1] start with instructions */ +Instructions: + /* empty */ + | + IdlFile + ; + +IdlFile: + TOK_IDLFILE TOK_STRING_LITERAL + { + loadwebidl($2); + } + ; + +%% |