Perl词法分析器与解析器接口详解
引言
在Perl编程中,词法分析器和解析器是非常重要的组件,它们负责处理字符和标记,将输入的Perl代码转换为可执行的操作树。本文将详细介绍Perl词法分析器和解析器的接口函数,包括它们的功能、使用方法以及注意事项。
词法分析器接口函数
1. lex_bufutf8
该函数用于指示词法分析器缓冲区( PL_parser->linestr )中的字节是否应被解释为Unicode字符的UTF - 8编码。如果不是,则应将其解释为Latin - 1字符。这类似于标量的 SvUTF8 标志。
bool lex_bufutf8();
在UTF - 8模式下,不能保证词法分析器缓冲区实际包含有效的UTF - 8编码。词法分析代码必须能够处理无效编码的情况。
2. lex_discard_to
此函数用于丢弃 PL_parser->linestr 缓冲区中从开头到指定指针 ptr 的部分。缓冲区的剩余内容将被移动,并且所有指向缓冲区的指针将被适当更新。
void lex_discard_to(char *ptr);
需要注意的是, ptr 不能在缓冲区中晚于 PL_parser->bufptr
超级会员免费看
订阅专栏 解锁全文
56

被折叠的 条评论
为什么被折叠?



