1AtteanX::API::Lexer(3)User Contributed Perl DocumentationAtteanX::API::Lexer(3)
2
3
4

NAME

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

VERSION

9       This document describes AtteanX::API::Lexer version 0.030
10

DESCRIPTION

12       The AtteanX::API::Lexer role provides a common interface and
13       implementation for lexer implementations, allowing line-based buffer
14       filling, and consuming of characters, constant strings, and fixed-
15       length buffers.
16

ATTRIBUTES

18       "file"
19       "linebuffer"
20       "line"
21       "column"
22       "buffer"
23       "start_column"
24       "start_line"
25

METHODS

27       "fill_buffer"
28           Fills the buffer with a new line from the underlying filehandle.
29
30       "check_for_bom"
31           Remove a BOM character if one appears at the start of the buffer.
32
33       "get_char_safe( $char )"
34           Consume the single character $char from the buffer.  Throw an error
35           if $char is not at the start of the buffer.
36
37       "get_char( $char )"
38           Consume and return a single character from the buffer.
39
40       "peek_char( $char )"
41           Return a single character from the start of the buffer.
42
43       "read_word( $word )"
44           Consume the string $word from the start of the buffer.  Throw an
45           error if $word is not at the start of the buffer.
46
47       "read_length( $length )"
48           Consume and return $length characters  from the start of the
49           buffer.
50

BUGS

52       Please report any bugs or feature requests to through the GitHub web
53       interface at <https://github.com/kasei/attean/issues>.
54

SEE ALSO

AUTHOR

57       Gregory Todd Williams  "<gwilliams@cpan.org>"
58
60       Copyright (c) 2014--2020 Gregory Todd Williams.  This program is free
61       software; you can redistribute it and/or modify it under the same terms
62       as Perl itself.
63
64
65
66perl v5.34.0                      2022-01-20            AtteanX::API::Lexer(3)
Impressum