AtteanX::API::Lexer(3pm)

NAME
AtteanX::API::Lexer - Role defining common functionality for lexers.

VERSION
This document describes AtteanX::API::Lexer version 0.030

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.