summaryrefslogtreecommitdiff
path: root/pod/perl5112delta.pod
diff options
context:
space:
mode:
authorZefram <zefram@fysh.org>2009-11-18 21:49:24 +0000
committerH.Merijn Brand <h.m.brand@xs4all.nl>2009-11-19 10:42:43 +0100
commit580561a3a5dd3bfef87627781ac362004e3d87b5 (patch)
treeb5982eaa5a7422402af05fdb20c5108cd7e1ef35 /pod/perl5112delta.pod
parent8a71e97e936696283eb1a280cffaa37177ef24f1 (diff)
downloadperl-580561a3a5dd3bfef87627781ac362004e3d87b5.tar.gz
lexer API fixes
The attached patch contains these fixes for the lexer API work: * fix MinGW-revealed problem in BOM logic (replacing Jan's patch) * fix warnings from t/op/incfilter.t * probably fix g++ failure due to goto bypassing initialisation * perl5112delta update -zefram Signed-off-by: H.Merijn Brand <h.m.brand@xs4all.nl>
Diffstat (limited to 'pod/perl5112delta.pod')
-rw-r--r--pod/perl5112delta.pod20
1 files changed, 11 insertions, 9 deletions
diff --git a/pod/perl5112delta.pod b/pod/perl5112delta.pod
index 82412b2616..03b142540d 100644
--- a/pod/perl5112delta.pod
+++ b/pod/perl5112delta.pod
@@ -58,15 +58,7 @@ Extension modules can now cleanly hook into the Perl parser to define new
kinds of keyword-headed expression and compound statement. The syntax
following the keyword is defined entirely by the extension. This allow
a completely non-Perl sublanguage to be parsed inline, with the right
-ops cleanly generated.
-
-This feature is currently considered experimental, and using it to do
-anything interesting is difficult. Many necessary supporting facilities,
-such as the lexer and the pad system, can only be accessed through
-unsupported internal interfaces. It is intended that the Perl 5.13
-development cycle will see the addition of clean, supported interfaces
-for many of these functions. In Perl 5.12 most uses of pluggable keywords
-will be via L<Devel::Declare>.
+ops cleanly generated. This feature is currently considered experimental.
See L<perlapi/PL_keyword_plugin> for the mechanism. The Perl core source
distribution also includes a new module L<XS::APItest::KeywordRPN>, which
@@ -74,6 +66,16 @@ implements reverse Polish notation arithmetic via pluggable keywords.
This module is mainly used for test purposes, and is not normally
installed, but also serves as an example of how to use the new mechanism.
+=head2 APIs for more internals
+
+The lowest layers of the lexer and parts of the pad system now have C
+APIs available to XS extensions. These are necessary to support proper
+use of pluggable keywords, but have other uses too. The new APIs are
+experimental, and only cover a small proportion of what would be necessary
+to take full advantage of the core's facilities in these areas. It is
+intended that the Perl 5.13 development cycle will see the addition of
+a full range of clean, supported interfaces.
+
=head2 Overridable function lookup
Where an extension module hooks the creation of rv2cv ops, to modify