AtteanX::API::Lexer(3) Role defining common functionality for lexers.

VERSION

This document describes AtteanX::API::Lexer version 0.017

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>.

AUTHOR

Gregory Todd Williams "<[email protected]>"

COPYRIGHT

Copyright (c) 2014--2016 Gregory Todd Williams. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.