diff options
author | Zefram <zefram@fysh.org> | 2009-11-15 14:25:50 +0100 |
---|---|---|
committer | Rafael Garcia-Suarez <rgs@consttype.org> | 2009-11-15 14:25:50 +0100 |
commit | f0e67a1d29102aa9905aecf2b0f98449697d5af3 (patch) | |
tree | 460816a3d9fd24cccacde4305bc99d1441cce082 /embed.fnc | |
parent | 59cfed7d3d8869650cb695575c07168f937381f0 (diff) | |
download | perl-f0e67a1d29102aa9905aecf2b0f98449697d5af3.tar.gz |
lexer API
Attached is a patch that adds a public API for the lowest layers of
lexing. This is meant to provide a solid foundation for the parsing that
Devel::Declare and similar modules do, and it complements the pluggable
keyword mechanism. The API consists of some existing variables combined
with some new functions, all marked as experimental (which making them
public certainly is).
Diffstat (limited to 'embed.fnc')
-rw-r--r-- | embed.fnc | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -515,6 +515,19 @@ Ap |void |leave_scope |I32 base EXp |void |lex_end : Used in various files p |void |lex_start |NULLOK SV* line|NULLOK PerlIO *rsfp|bool new_filter +: Public lexer API +Apd |bool |lex_bufutf8 +Apd |char* |lex_grow_linestr|STRLEN len +Apd |void |lex_stuff_pvn |NN char* pv|STRLEN len|U32 flags +Apd |void |lex_stuff_sv |NN SV* sv|U32 flags +Apd |void |lex_unstuff |NN char* ptr +Apd |void |lex_read_to |NN char* ptr +Apd |void |lex_discard_to |NN char* ptr +Apd |bool |lex_next_chunk |U32 flags +Apd |I32 |lex_peek_unichar|U32 flags +Apd |I32 |lex_read_unichar|U32 flags +Apd |void |lex_read_space |U32 flags +: Used in various files Ap |void |op_null |NN OP* o : FIXME. Used by Data::Alias EXp |void |op_clear |NN OP* o |