NAME
AtteanX::API::Lexer - Role defining common functionality for lexers.
VERSION
This document describes AtteanX::API::Lexer version 0.027
DESCRIPTION
The AtteanX::API::Lexer role provides a common interface and implementation for lexer implementations, allowing line-based buffer filling, and consuming of characters, constant strings, and fixed-length buffers.
ATTRIBUTES
file
linebuffer
line
column
buffer
start_column
start_line
METHODS
fill_buffer
-
Fills the buffer with a new line from the underlying filehandle.
check_for_bom
-
Remove a BOM character if one appears at the start of the buffer.
get_char_safe( $char )
-
Consume the single character
$char
from the buffer. Throw an error if$char
is not at the start of the buffer. get_char( $char )
-
Consume and return a single character from the buffer.
peek_char( $char )
-
Return a single character from the start of the buffer.
read_word( $word )
-
Consume the string
$word
from the start of the buffer. Throw an error if$word
is not at the start of the buffer. read_length( $length )
-
Consume and return
$length
characters from the start of the buffer.
BUGS
Please report any bugs or feature requests to through the GitHub web interface at https://github.com/kasei/attean/issues.
SEE ALSO
AUTHOR
Gregory Todd Williams <gwilliams@cpan.org>
COPYRIGHT
Copyright (c) 2014--2020 Gregory Todd Williams. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.