From 44edef813d0319616dd5003dd62267742bd0e0a9 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Mon, 12 Oct 2015 13:26:44 +0100 Subject: Extend the permitted values of the binding method names --- src/nsgenbind-parser.y | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/nsgenbind-parser.y b/src/nsgenbind-parser.y index 88c69b1..7c2f7ce 100644 --- a/src/nsgenbind-parser.y +++ b/src/nsgenbind-parser.y @@ -230,6 +230,7 @@ add_method(struct genbind_node **genbind_ast, %type ClassFlags %type Method +%type MethodName %type MethodDeclarator %type MethodType %type BindingAndMethodType @@ -470,8 +471,26 @@ BindingAndMethodType: } ; +MethodName: + TOK_IDENTIFIER + { + $$ = $1; + } + | + TOK_METHOD + { + $$ = strdup("method"); + } + | + TOK_TYPE + { + $$ = strdup("type"); + } + ; + +/* declarator of a binding method */ MethodDeclarator: - TOK_IDENTIFIER TOK_DBLCOLON TOK_IDENTIFIER '(' ParameterList ')' + TOK_IDENTIFIER TOK_DBLCOLON MethodName '(' ParameterList ')' { $$ = genbind_new_node(GENBIND_NODE_TYPE_CLASS, genbind_new_node(GENBIND_NODE_TYPE_IDENT, @@ -482,7 +501,7 @@ MethodDeclarator: $1)); } | - TOK_IDENTIFIER TOK_DBLCOLON TOK_IDENTIFIER '(' ')' + TOK_IDENTIFIER TOK_DBLCOLON MethodName '(' ')' { $$ = genbind_new_node(GENBIND_NODE_TYPE_CLASS, genbind_new_node(GENBIND_NODE_TYPE_IDENT, -- cgit v1.2.3