summaryrefslogtreecommitdiff
path: root/THANKS
diff options
context:
space:
mode:
authorAkim Demaille <akim.demaille@gmail.com>2018-06-17 18:15:05 +0200
committerAkim Demaille <akim.demaille@gmail.com>2018-08-11 18:09:29 +0200
commit7b24c424b5413a8790a983bb7027fe2de37b9d82 (patch)
tree27abb47de72448b5187dfed01226284f5596d947 /THANKS
parent0d06a966f85b2bf4fd6dc95531fc79c238bab803 (diff)
downloadbison-7b24c424b5413a8790a983bb7027fe2de37b9d82.tar.gz
add support for typed mid-rule actions
Prompted on Piotr Marcińczyk's message: http://lists.gnu.org/archive/html/bug-bison/2017-06/msg00000.html. See also http://lists.gnu.org/archive/html/bug-bison/2018-06/msg00001.html. Because their type is unknown to Bison, the values of midrule actions are not treated like the others: they don't have %printer and %destructor support. In addition, in C++, (Bison) variants cannot work properly. Typed midrule actions address these issues. Instead of: exp: { $<ival>$ = 1; } { $<ival>$ = 2; } { $$ = $<ival>1 + $<ival>2; } write: exp: <ival>{ $$ = 1; } <ival>{ $$ = 2; } { $$ = $1 + $2; } * src/scan-code.h, src/scan-code.l (code_props): Add a `type` field to record the declared type of an action. (code_props_rule_action_init): Add a type argument. * src/parse-gram.y: Accept an optional type tag for actions. * src/reader.h, src/reader.c (grammar_current_rule_action_append): Add a type argument. (grammar_midrule_action): When a mid-rule is typed, pass its type to the defined dummy non terminal symbol.
Diffstat (limited to 'THANKS')
-rw-r--r--THANKS1
1 files changed, 1 insertions, 0 deletions
diff --git a/THANKS b/THANKS
index c609d158..9d37dc84 100644
--- a/THANKS
+++ b/THANKS
@@ -121,6 +121,7 @@ Peter Simons simons@cryp.to
Petr Machata pmachata@redhat.com
Pho pho@cielonegro.org
Piotr Gackiewicz gacek@intertel.com.pl
+Piotr Marcińczyk piomar123@gmail.com
Quentin Hocquet hocquet@gostai.com
Quoc Peyrot chojin@lrde.epita.fr
R Blake blakers@mac.com