#include <glib.h>
#include "cr-utils.h"
#include "cr-parsing-location.h"
Go to the source code of this file.
Data Structures | |
struct | _CRInput |
The CRInput class provides the abstraction of an utf8-encoded character stream. More... | |
struct | _CRInputPos |
Typedefs | |
typedef _CRInput | CRInput |
typedef _CRInputPriv | CRInputPriv |
typedef _CRInputPos | CRInputPos |
Functions | |
CRInput * | cr_input_new_from_buf (guchar *a_buf, gulong a_len, enum CREncoding a_enc, gboolean a_free_buf) |
Creates a new input stream from a memory buffer. | |
CRInput * | cr_input_new_from_uri (const gchar *a_file_uri, enum CREncoding a_enc) |
Creates a new input stream from a file. | |
void | cr_input_destroy (CRInput *a_this) |
The destructor of the CRInput class. | |
void | cr_input_ref (CRInput *a_this) |
Increments the reference count of the current instance of CRInput. | |
gboolean | cr_input_unref (CRInput *a_this) |
Decrements the reference count of this instance of CRInput. | |
enum CRStatus | cr_input_read_byte (CRInput *a_this, guchar *a_byte) |
Returns the next byte of the input. | |
enum CRStatus | cr_input_read_char (CRInput *a_this, guint32 *a_char) |
Reads an unicode character from the current instance of CRInput. | |
enum CRStatus | cr_input_consume_chars (CRInput *a_this, guint32 a_char, gulong *a_nb_char) |
Consumes up to a_nb_char occurences of the next contiguous characters which equal a_char. | |
enum CRStatus | cr_input_consume_char (CRInput *a_this, guint32 a_char) |
Consumes the next character of the input stream if and only if that character equals a_char. | |
enum CRStatus | cr_input_consume_white_spaces (CRInput *a_this, gulong *a_nb_chars) |
Same as cr_input_consume_chars() but this one consumes white spaces. | |
enum CRStatus | cr_input_peek_byte (CRInput *a_this, enum CRSeekPos a_origin, gulong a_offset, guchar *a_byte) |
Gets a byte from the input stream, starting from the current position in the input stream. | |
guchar | cr_input_peek_byte2 (CRInput *a_this, gulong a_offset, gboolean *a_eof) |
Same as cr_input_peek_byte() but with a simplified interface. | |
enum CRStatus | cr_input_peek_char (CRInput *a_this, guint32 *a_char) |
Same as cr_input_read_char() but does not update the internal state of the input stream. | |
guchar * | cr_input_get_byte_addr (CRInput *a_this, gulong a_offset) |
Returns the memory address of the byte located at a given offset in the input stream. | |
enum CRStatus | cr_input_get_cur_byte_addr (CRInput *a_this, guchar **a_offset) |
Returns the address of the current character pointer. | |
enum CRStatus | cr_input_seek_index (CRInput *a_this, enum CRSeekPos a_origin, gint a_pos) |
Sets the "current byte index" of the current instance of CRInput. | |
enum CRStatus | cr_input_get_cur_index (CRInput *a_this, glong *a_index) |
Getter of the next byte index. | |
enum CRStatus | cr_input_set_cur_index (CRInput *a_this, glong a_index) |
Setter of the next byte index. | |
enum CRStatus | cr_input_get_cur_pos (CRInput *a_this, CRInputPos *a_pos) |
Gets the position of the "current byte index" which is basically the position of the last returned byte in the input stream. | |
enum CRStatus | cr_input_set_cur_pos (CRInput *a_this, CRInputPos *a_pos) |
Sets the current position in the input stream. | |
enum CRStatus | cr_input_get_parsing_location (CRInput *a_this, CRParsingLocation *a_loc) |
Gets the current parsing location. | |
enum CRStatus | cr_input_get_end_of_line (CRInput *a_this, gboolean *a_eol) |
Gets the end of line flag of the current input. | |
enum CRStatus | cr_input_set_end_of_line (CRInput *a_this, gboolean a_eol) |
Sets the end of line flag. | |
enum CRStatus | cr_input_get_end_of_file (CRInput *a_this, gboolean *a_eof) |
Gets the end of file flag. | |
enum CRStatus | cr_input_set_end_of_file (CRInput *a_this, gboolean a_eof) |
Sets the end of file flag. | |
enum CRStatus | cr_input_set_line_num (CRInput *a_this, glong a_line_num) |
Setter of the current line number. | |
enum CRStatus | cr_input_get_line_num (CRInput *a_this, glong *a_line_num) |
Getter of the current line number. | |
enum CRStatus | cr_input_set_column_num (CRInput *a_this, glong a_col) |
Setter of the current column number. | |
enum CRStatus | cr_input_get_column_num (CRInput *a_this, glong *a_col) |
Getter of the current column number. | |
enum CRStatus | cr_input_increment_line_num (CRInput *a_this, glong a_increment) |
Increments the current line number. | |
enum CRStatus | cr_input_increment_col_num (CRInput *a_this, glong a_increment) |
Increments the current column number. | |
glong | cr_input_get_nb_bytes_left (CRInput *a_this) |
Returns the number of bytes left in the input stream before the end. | |
enum CRStatus | cr_input_end_of_input (CRInput *a_this, gboolean *a_end_of_input) |
Tests wether the current instance of CRInput has reached its input buffer. |
Definition in file cr-input.h.
|
|
|
Definition at line 41 of file cr-input.h. |
|
Consumes the next character of the input stream if and only if that character equals a_char.
Definition at line 579 of file cr-input.c. References CR_BAD_PARAM_ERROR, cr_input_peek_char(), cr_input_read_char(), CRInput, CRStatus, and PRIVATE. Referenced by cr_input_consume_chars(). |
|
Consumes up to a_nb_char occurences of the next contiguous characters which equal a_char. Note that the next character of the input stream MUST* equal a_char to trigger the consumption, or else, the error code CR_PARSING_ERROR is returned. If the number of contiguous characters that equals a_char is less than a_nb_char, then this function consumes all the characters it can consume.
Definition at line 618 of file cr-input.c. References CR_BAD_PARAM_ERROR, cr_input_consume_char(), CRInput, CRStatus, and PRIVATE. Referenced by cr_tknzr_consume_chars(). |
|
Same as cr_input_consume_chars() but this one consumes white spaces.
Definition at line 657 of file cr-input.c. References CR_BAD_PARAM_ERROR, cr_input_peek_char(), cr_input_read_char(), cr_utils_is_white_space(), CRInput, CRStatus, and PRIVATE. |
|
The destructor of the CRInput class.
Definition at line 277 of file cr-input.c. References CRInput, and PRIVATE. Referenced by cr_input_new_from_buf(), cr_input_unref(), and cr_parser_new_from_buf(). |
|
Tests wether the current instance of CRInput has reached its input buffer.
Definition at line 343 of file cr-input.c. References CR_BAD_PARAM_ERROR, CRInput, and PRIVATE. |
|
Returns the memory address of the byte located at a given offset in the input stream.
Definition at line 830 of file cr-input.c. References CRInput, and PRIVATE. Referenced by cr_input_get_cur_byte_addr(). |
|
Getter of the current column number.
Definition at line 526 of file cr-input.c. References CR_BAD_PARAM_ERROR, CRInput, and PRIVATE. |
|
Returns the address of the current character pointer.
Definition at line 848 of file cr-input.c. References CR_BAD_PARAM_ERROR, cr_input_get_byte_addr(), CRInput, and PRIVATE. Referenced by cr_tknzr_get_cur_byte_addr(). |
|
Getter of the next byte index. It actually returns the index of the next byte to be read.
Definition at line 994 of file cr-input.c. References CR_BAD_PARAM_ERROR, CRInput, and PRIVATE. |
|
Gets the position of the "current byte index" which is basically the position of the last returned byte in the input stream.
Definition at line 940 of file cr-input.c. References CR_BAD_PARAM_ERROR, CRInput, CRInputPos, and PRIVATE. Referenced by cr_tknzr_get_cur_pos(). |
|
Gets the end of file flag.
Definition at line 1046 of file cr-input.c. References CR_BAD_PARAM_ERROR, CRInput, and PRIVATE. Referenced by cr_tknzr_get_next_token(). |
|
Gets the end of line flag of the current input.
Definition at line 1082 of file cr-input.c. References CR_BAD_PARAM_ERROR, CRInput, and PRIVATE. |
|
Getter of the current line number.
Definition at line 491 of file cr-input.c. References CR_BAD_PARAM_ERROR, CRInput, and PRIVATE. |
|
Returns the number of bytes left in the input stream before the end.
Definition at line 361 of file cr-input.c. References CRInput, and PRIVATE. Referenced by cr_input_peek_char(), cr_input_read_char(), and cr_tknzr_get_nb_bytes_left(). |
|
Gets the current parsing location. The Parsing location is a public datastructure that represents the current line/column/byte offset/ in the input stream.
Definition at line 965 of file cr-input.c. References CR_BAD_PARAM_ERROR, CRInput, CRParsingLocation, and PRIVATE. Referenced by cr_tknzr_get_parsing_location(). |
|
Increments the current column number.
Definition at line 559 of file cr-input.c. References CR_BAD_PARAM_ERROR, CRInput, and PRIVATE. |
|
Increments the current line number.
Definition at line 543 of file cr-input.c. References CR_BAD_PARAM_ERROR, CRInput, and PRIVATE. |
|
Creates a new input stream from a memory buffer.
Definition at line 126 of file cr-input.c. References cr_enc_handler_convert_input(), cr_enc_handler_get_instance(), cr_input_destroy(), CREncHandler, CRInput, CRStatus, and PRIVATE. Referenced by cr_input_new_from_uri(), cr_parser_new_from_buf(), and cr_tknzr_new_from_buf(). |
|
Creates a new input stream from a file.
Definition at line 192 of file cr-input.c. References CR_INPUT_MEM_CHUNK_SIZE, cr_input_new_from_buf(), cr_utils_trace_debug, CRInput, and CRStatus. Referenced by cr_tknzr_new_from_uri(). |
|
Gets a byte from the input stream, starting from the current position in the input stream. Unlike cr_input_peek_next_byte() this method does not update the state of the current input stream. Subsequent calls to cr_input_peek_byte with the same arguments will return the same byte.
Definition at line 753 of file cr-input.c. References CR_BAD_PARAM_ERROR, CR_SEEK_BEGIN, CR_SEEK_CUR, CR_SEEK_END, CRInput, and PRIVATE. Referenced by cr_input_peek_byte2(), and cr_tknzr_peek_byte(). |
|
Same as cr_input_peek_byte() but with a simplified interface.
Definition at line 802 of file cr-input.c. References cr_input_peek_byte(), CR_SEEK_CUR, CRInput, CRStatus, and PRIVATE. Referenced by cr_tknzr_peek_byte2(). |
|
Same as cr_input_read_char() but does not update the internal state of the input stream. The next call to cr_input_peek_char() or cr_input_read_char() will thus return the same character as the current one.
Definition at line 703 of file cr-input.c. References CR_BAD_PARAM_ERROR, cr_input_get_nb_bytes_left(), cr_utils_read_char_from_utf8_buf(), CRInput, CRStatus, and PRIVATE. Referenced by cr_input_consume_char(), cr_input_consume_white_spaces(), cr_tknzr_get_next_token(), and cr_tknzr_peek_char(). |
|
Returns the next byte of the input. Update the state of the input so that the next invocation of this method returns the next coming byte.
Definition at line 388 of file cr-input.c. References CR_BAD_PARAM_ERROR, CRInput, and PRIVATE. Referenced by cr_tknzr_read_byte(). |
|
Reads an unicode character from the current instance of CRInput.
Definition at line 420 of file cr-input.c. References CR_BAD_PARAM_ERROR, cr_input_get_nb_bytes_left(), cr_utils_read_char_from_utf8_buf(), CRInput, CRStatus, and PRIVATE. Referenced by cr_input_consume_char(), cr_input_consume_white_spaces(), and cr_tknzr_read_char(). |
|
Increments the reference count of the current instance of CRInput.
Definition at line 301 of file cr-input.c. References CRInput, and PRIVATE. Referenced by cr_tknzr_set_input(). |
|
Sets the "current byte index" of the current instance of CRInput. Next call to cr_input_get_byte() will return the byte next after the new "current byte index".
Definition at line 883 of file cr-input.c. References CR_BAD_PARAM_ERROR, CR_SEEK_BEGIN, CR_SEEK_CUR, CR_SEEK_END, CRInput, and PRIVATE. Referenced by cr_tknzr_seek_index(). |
|
Setter of the current column number.
Definition at line 509 of file cr-input.c. References CR_BAD_PARAM_ERROR, CRInput, and PRIVATE. Referenced by cr_input_set_cur_pos(). |
|
Setter of the next byte index. It sets the index of the next byte to be read.
Definition at line 1013 of file cr-input.c. References CR_BAD_PARAM_ERROR, CRInput, and PRIVATE. Referenced by cr_input_set_cur_pos(). |
|
Sets the current position in the input stream.
Definition at line 1100 of file cr-input.c. References CR_BAD_PARAM_ERROR, cr_input_set_column_num(), cr_input_set_cur_index(), cr_input_set_end_of_file(), cr_input_set_end_of_line(), cr_input_set_line_num(), CRInput, CRInputPos, and PRIVATE. Referenced by cr_tknzr_consume_chars(), cr_tknzr_get_cur_byte_addr(), cr_tknzr_get_cur_pos(), cr_tknzr_get_nb_bytes_left(), cr_tknzr_peek_byte(), cr_tknzr_peek_char(), cr_tknzr_read_char(), cr_tknzr_seek_index(), and cr_tknzr_set_cur_pos(). |
|
Sets the end of file flag.
Definition at line 1029 of file cr-input.c. References CR_BAD_PARAM_ERROR, CRInput, and PRIVATE. Referenced by cr_input_set_cur_pos(). |
|
Sets the end of line flag.
Definition at line 1064 of file cr-input.c. References CR_BAD_PARAM_ERROR, CRInput, and PRIVATE. Referenced by cr_input_set_cur_pos(). |
|
Setter of the current line number.
Definition at line 474 of file cr-input.c. References CR_BAD_PARAM_ERROR, CRInput, and PRIVATE. Referenced by cr_input_set_cur_pos(). |
|
Decrements the reference count of this instance of CRInput. If the reference count goes down to zero, this instance is destroyed.
Definition at line 316 of file cr-input.c. References cr_input_destroy(), CRInput, and PRIVATE. Referenced by cr_tknzr_destroy(), and cr_tknzr_set_input(). |