Commit Graph

18 Commits

Author SHA1 Message Date
4cd394061b Follow up to rr1810605 and r1811104.
Generated parser files.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1811105 13f79535-47bb-0310-9956-ffa450edef68
2017-10-04 16:20:02 +00:00
08ddf7ad0a ap_expr: open string expressions to the <word>.
Introduces the syntax "%{:<word>:}", borrowed from the <var>'s one, and which
likewise can be embedded anywhere in a string expression (the same reserved
character ':' gets reused in an unambiguous manner).

This allows the two types of expressions (boolean and string) to now share
fully the same language set, namely: strings, lists, vars, regexes, backrefs,
functions with multiple or complex arguments, and especially combinations
thereof.

Most of them were reserved to boolean expressions only, while complex string
constructions can also benefit to, well, strings. The <word> construct allows
that (say the syntax "%{:<word>:}" looks like a temporary variable constructed
in a string).

Since string expressions may now have to deal with lists (arrays), they also
need a way to produce/extract strings from list and vice versa. This can be
done with the new "join" and "split" operators, while the new substitution
regexes (like "s/<pattern>/<substitute>/<flags>") may be used to manipulate
strings in place. All this of course available for both string and boolean
expressions.

Tests and doc updates upcoming..



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1810605 13f79535-47bb-0310-9956-ffa450edef68
2017-10-02 21:57:26 +00:00
0eddea67ac Added some more log numbers to log statements that
had none.

Those were not detected by the coccinelle script.
Only a few hard cases are remaining now.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1725548 13f79535-47bb-0310-9956-ffa450edef68
2016-01-19 15:43:17 +00:00
2f2def74c4 Update auto-generated code
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1405773 13f79535-47bb-0310-9956-ffa450edef68
2012-11-05 12:41:17 +00:00
4be5546b87 Revert... wtf did this come from??
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1297956 13f79535-47bb-0310-9956-ffa450edef68
2012-03-07 12:35:10 +00:00
fc1b444d2e Fold on Jeff's DefaultRuntimeDir impl... docs on the way
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1297955 13f79535-47bb-0310-9956-ffa450edef68
2012-03-07 12:31:58 +00:00
f6982bf4c5 Update autogenerated code. Now generated with bison 2.5 instead of 2.4.1
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1181231 13f79535-47bb-0310-9956-ffa450edef68
2011-10-10 20:44:40 +00:00
427c85bd23 Cleanup effort in prep for GA push:
Trim trailing whitespace... no func change



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1174751 13f79535-47bb-0310-9956-ffa450edef68
2011-09-23 13:39:32 +00:00
5566a6b476 Update auto-generated code
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1157363 13f79535-47bb-0310-9956-ffa450edef68
2011-08-13 10:00:45 +00:00
ef10673c8e Update auto-generated code
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1142165 13f79535-47bb-0310-9956-ffa450edef68
2011-07-02 07:48:12 +00:00
b93e49391b Rename ap_expr's typedef names:
ap_expr            ->  ap_expr_t
ap_expr_parse_ctx  ->  ap_expr_parse_ctx_t
ap_expr_eval_ctx   ->  ap_expr_eval_ctx_t
ap_expr_lookup_fn  ->  ap_expr_lookup_fn_t
ap_expr_node_op    ->  ap_expr_node_op_e


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1042146 13f79535-47bb-0310-9956-ffa450edef68
2010-12-04 11:22:30 +00:00
fc7b453ebc update flex/bison autogenerated code
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1039901 13f79535-47bb-0310-9956-ffa450edef68
2010-11-28 16:35:49 +00:00
6166d5bf16 Remove some unused functions for which flex forgets to add prototypes, leading
to compiler warnings.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1039543 13f79535-47bb-0310-9956-ffa450edef68
2010-11-26 20:04:48 +00:00
cf0e2c3a46 Fix some Windows build issues
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1039204 13f79535-47bb-0310-9956-ffa450edef68
2010-11-25 22:27:17 +00:00
6ef1911acc ap_expr related fixes/enhancements:
- implement regex backreferences and make them available for setting 
  envvars in SetEnvIfExpr
- implement nested function calls in %-syntax: %{func1:%{func2:arg}} 
- actually implement evaluation of concatenation operator (oops...)
- Fix <If ... > treating an internal error as success


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1037504 13f79535-47bb-0310-9956-ffa450edef68
2010-11-21 17:22:26 +00:00
aafd50dec1 Supress generation of unused yy_top_state function, to avoid a compiler
warning. Regenerate the scanner code with flex.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1033594 13f79535-47bb-0310-9956-ffa450edef68
2010-11-10 17:22:20 +00:00
94c5270ab5 More fixes for picky compilers
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1032268 13f79535-47bb-0310-9956-ffa450edef68
2010-11-07 13:00:00 +00:00
35cdba6976 Replace ap_expr with a parser derived from mod_ssl's parser. Make mod_ssl use
the new parser. Rework ap_expr's public interface and provide hooks for modules
to add variables and functions.

The Netware and Windows build files still need to be adjusted


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1032073 13f79535-47bb-0310-9956-ffa450edef68
2010-11-06 14:31:16 +00:00