]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
Non terminal cannot have string aliases (only tokens appear in error
authorJoe Orton <jorton@apache.org>
Wed, 13 Nov 2019 08:01:13 +0000 (08:01 +0000)
committerJoe Orton <jorton@apache.org>
Wed, 13 Nov 2019 08:01:13 +0000 (08:01 +0000)
messages).  %token is used to define tokens, and %nterm non terminals.
The hidden %type (which was only recently documented) is meant for
both tokens and non terminals.  Yet

    %type <foo> expr "expression"

is actually more or less equivalent to

    %nterm <foo> expr
    %token <foo> "expression"

which is clearly not the intention of the author here.

* server/util_expr_parse.y: Remove useless string-literal only tokens.
Prefer %nterm to %type to avoid this error.

PR: #72
Submitted by: Akim Demaille <akim.demaille gmail.com>

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1869724 13f79535-47bb-0310-9956-ffa450edef68

server/util_expr_parse.y

index b6d586c614e9134e672dc24d203e0681d60e113c..e570cc0128de7f1cc7b75d6b86fc6e4bc7f8f1a1 100644 (file)
 %right  T_OP_NOT
 %right  T_OP_CONCAT
 
-%type   <exVal>   cond              "condition"
-%type   <exVal>   comp              "comparison"
-%type   <exVal>   strfunc           "string function"
-%type   <exVal>   listfunc          "list function"
-%type   <exVal>   list              "list"
-%type   <exVal>   words             "words"
-%type   <exVal>   word              "word"
-%type   <exVal>   string            "string"
-%type   <exVal>   substr            "substring"
-%type   <exVal>   var               "variable"
-%type   <exVal>   regex             "match regex"
-%type   <exVal>   regsub            "substitution regex"
-%type   <exVal>   regany            "any regex"
-%type   <exVal>   split             "split"
-%type   <exVal>   join              "join"
-%type   <exVal>   sub               "sub"
+%nterm  <exVal>   cond
+%nterm  <exVal>   comp
+%nterm  <exVal>   strfunc
+%nterm  <exVal>   listfunc
+%nterm  <exVal>   list
+%nterm  <exVal>   words
+%nterm  <exVal>   word
+%nterm  <exVal>   string
+%nterm  <exVal>   substr
+%nterm  <exVal>   var
+%nterm  <exVal>   regex
+%nterm  <exVal>   regsub
+%nterm  <exVal>   regany
+%nterm  <exVal>   split
+%nterm  <exVal>   join
+%nterm  <exVal>   sub
 
 %{
 #include "util_expr_private.h"