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.033
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--2022 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.36.0                      2023-01-19            AtteanX::API::Lexer(3)
Impressum