X-Git-Url: http://andersk.mit.edu/gitweb/libyaml.git/blobdiff_plain/6ac56d31410a0f76824ae1bb9110620e618968da..b9668ba4d86227f2d4a538272d5a1fc23d349913:/doc/html/group__parser.html diff --git a/doc/html/group__parser.html b/doc/html/group__parser.html new file mode 100644 index 0000000..0216870 --- /dev/null +++ b/doc/html/group__parser.html @@ -0,0 +1,592 @@ + + +yaml: Parser Definitions + + + + +
+
+

Parser Definitions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Data Structures

struct  yaml_simple_key_s
 This structure holds information about a potential simple key. More...
struct  yaml_alias_data_s
 This structure holds aliases data. More...
struct  yaml_parser_s
 The parser structure. More...

Typedefs

typedef int yaml_read_handler_t (void *data, unsigned char *buffer, size_t size, size_t *size_read)
 The prototype of a read handler.
+typedef yaml_simple_key_s yaml_simple_key_t
 This structure holds information about a potential simple key.
+typedef enum yaml_parser_state_e yaml_parser_state_t
 The states of the parser.
+typedef yaml_alias_data_s yaml_alias_data_t
 This structure holds aliases data.
typedef yaml_parser_s yaml_parser_t
 The parser structure.

Enumerations

enum  yaml_parser_state_e {
+  YAML_PARSE_STREAM_START_STATE, +
+  YAML_PARSE_IMPLICIT_DOCUMENT_START_STATE, +
+  YAML_PARSE_DOCUMENT_START_STATE, +
+  YAML_PARSE_DOCUMENT_CONTENT_STATE, +
+  YAML_PARSE_DOCUMENT_END_STATE, +
+  YAML_PARSE_BLOCK_NODE_STATE, +
+  YAML_PARSE_BLOCK_NODE_OR_INDENTLESS_SEQUENCE_STATE, +
+  YAML_PARSE_FLOW_NODE_STATE, +
+  YAML_PARSE_BLOCK_SEQUENCE_FIRST_ENTRY_STATE, +
+  YAML_PARSE_BLOCK_SEQUENCE_ENTRY_STATE, +
+  YAML_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE, +
+  YAML_PARSE_BLOCK_MAPPING_FIRST_KEY_STATE, +
+  YAML_PARSE_BLOCK_MAPPING_KEY_STATE, +
+  YAML_PARSE_BLOCK_MAPPING_VALUE_STATE, +
+  YAML_PARSE_FLOW_SEQUENCE_FIRST_ENTRY_STATE, +
+  YAML_PARSE_FLOW_SEQUENCE_ENTRY_STATE, +
+  YAML_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_KEY_STATE, +
+  YAML_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE, +
+  YAML_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE, +
+  YAML_PARSE_FLOW_MAPPING_FIRST_KEY_STATE, +
+  YAML_PARSE_FLOW_MAPPING_KEY_STATE, +
+  YAML_PARSE_FLOW_MAPPING_VALUE_STATE, +
+  YAML_PARSE_FLOW_MAPPING_EMPTY_VALUE_STATE, +
+  YAML_PARSE_END_STATE +
+ }
 The states of the parser. More...

Functions

int yaml_parser_initialize (yaml_parser_t *parser)
 Initialize a parser.
void yaml_parser_delete (yaml_parser_t *parser)
 Destroy a parser.
void yaml_parser_set_input_string (yaml_parser_t *parser, const unsigned char *input, size_t size)
 Set a string input.
void yaml_parser_set_input_file (yaml_parser_t *parser, FILE *file)
 Set a file input.
void yaml_parser_set_input (yaml_parser_t *parser, yaml_read_handler_t *handler, void *data)
 Set a generic input handler.
void yaml_parser_set_encoding (yaml_parser_t *parser, yaml_encoding_t encoding)
 Set the source encoding.
int yaml_parser_scan (yaml_parser_t *parser, yaml_token_t *token)
 Scan the input stream and produce the next token.
int yaml_parser_parse (yaml_parser_t *parser, yaml_event_t *event)
 Parse the input stream and produce the next parsing event.
int yaml_parser_load (yaml_parser_t *parser, yaml_document_t *document)
 Parse the input stream and produce the next YAML document.
+

Typedef Documentation

+ +
+
+ + + + +
typedef int yaml_read_handler_t(void *data, unsigned char *buffer, size_t size, size_t *size_read)
+
+
+ +

+The prototype of a read handler. +

+The read handler is called when the parser needs to read more bytes from the source. The handler should write not more than size bytes to the buffer. The number of written bytes should be set to the length variable.

+

Parameters:
+ + + + + +
[in,out] data A pointer to an application data specified by yaml_parser_set_input().
[out] buffer The buffer to write the data from the source.
[in] size The size of the buffer.
[out] size_read The actual number of bytes read from the source.
+
+
Returns:
On success, the handler should return 1. If the handler failed, the returned value should be 0. On EOF, the handler should set the size_read to 0 and return 1.
+ +
+

+ +

+
+ + + + +
typedef struct yaml_parser_s yaml_parser_t
+
+
+ +

+The parser structure. +

+All members are internal. Manage the structure using the yaml_parser_ family of functions. +

+

+


Enumeration Type Documentation

+ +
+
+ + + + +
enum yaml_parser_state_e
+
+
+ +

+The states of the parser. +

+

Enumerator:
+ + + + + + + + + + + + + + + + + + + + + + + + + +
YAML_PARSE_STREAM_START_STATE  +Expect STREAM-START.
YAML_PARSE_IMPLICIT_DOCUMENT_START_STATE  +Expect the beginning of an implicit document.
YAML_PARSE_DOCUMENT_START_STATE  +Expect DOCUMENT-START.
YAML_PARSE_DOCUMENT_CONTENT_STATE  +Expect the content of a document.
YAML_PARSE_DOCUMENT_END_STATE  +Expect DOCUMENT-END.
YAML_PARSE_BLOCK_NODE_STATE  +Expect a block node.
YAML_PARSE_BLOCK_NODE_OR_INDENTLESS_SEQUENCE_STATE  +Expect a block node or indentless sequence.
YAML_PARSE_FLOW_NODE_STATE  +Expect a flow node.
YAML_PARSE_BLOCK_SEQUENCE_FIRST_ENTRY_STATE  +Expect the first entry of a block sequence.
YAML_PARSE_BLOCK_SEQUENCE_ENTRY_STATE  +Expect an entry of a block sequence.
YAML_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE  +Expect an entry of an indentless sequence.
YAML_PARSE_BLOCK_MAPPING_FIRST_KEY_STATE  +Expect the first key of a block mapping.
YAML_PARSE_BLOCK_MAPPING_KEY_STATE  +Expect a block mapping key.
YAML_PARSE_BLOCK_MAPPING_VALUE_STATE  +Expect a block mapping value.
YAML_PARSE_FLOW_SEQUENCE_FIRST_ENTRY_STATE  +Expect the first entry of a flow sequence.
YAML_PARSE_FLOW_SEQUENCE_ENTRY_STATE  +Expect an entry of a flow sequence.
YAML_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_KEY_STATE  +Expect a key of an ordered mapping.
YAML_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE  +Expect a value of an ordered mapping.
YAML_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE  +Expect the and of an ordered mapping entry.
YAML_PARSE_FLOW_MAPPING_FIRST_KEY_STATE  +Expect the first key of a flow mapping.
YAML_PARSE_FLOW_MAPPING_KEY_STATE  +Expect a key of a flow mapping.
YAML_PARSE_FLOW_MAPPING_VALUE_STATE  +Expect a value of a flow mapping.
YAML_PARSE_FLOW_MAPPING_EMPTY_VALUE_STATE  +Expect an empty value of a flow mapping.
YAML_PARSE_END_STATE  +Expect nothing.
+
+ +
+

+


Function Documentation

+ +
+
+ + + + + + + + + +
int yaml_parser_initialize (yaml_parser_t parser  ) 
+
+
+ +

+Initialize a parser. +

+This function creates a new parser object. An application is responsible for destroying the object using the yaml_parser_delete() function.

+

Parameters:
+ + +
[out] parser An empty parser object.
+
+
Returns:
1 if the function succeeded, 0 on error.
+ +
+

+ +

+
+ + + + + + + + + +
void yaml_parser_delete (yaml_parser_t parser  ) 
+
+
+ +

+Destroy a parser. +

+

Parameters:
+ + +
[in,out] parser A parser object.
+
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void yaml_parser_set_input_string (yaml_parser_t parser,
const unsigned char *  input,
size_t  size 
)
+
+
+ +

+Set a string input. +

+Note that the input pointer must be valid while the parser object exists. The application is responsible for destroing input after destroying the parser.

+

Parameters:
+ + + + +
[in,out] parser A parser object.
[in] input A source data.
[in] size The length of the source data in bytes.
+
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
void yaml_parser_set_input_file (yaml_parser_t parser,
FILE *  file 
)
+
+
+ +

+Set a file input. +

+file should be a file object open for reading. The application is responsible for closing the file.

+

Parameters:
+ + + +
[in,out] parser A parser object.
[in] file An open file.
+
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void yaml_parser_set_input (yaml_parser_t parser,
yaml_read_handler_t handler,
void *  data 
)
+
+
+ +

+Set a generic input handler. +

+

Parameters:
+ + + + +
[in,out] parser A parser object.
[in] handler A read handler.
[in] data Any application data for passing to the read handler.
+
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
void yaml_parser_set_encoding (yaml_parser_t parser,
yaml_encoding_t  encoding 
)
+
+
+ +

+Set the source encoding. +

+

Parameters:
+ + + +
[in,out] parser A parser object.
[in] encoding The source encoding.
+
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
int yaml_parser_scan (yaml_parser_t parser,
yaml_token_t token 
)
+
+
+ +

+Scan the input stream and produce the next token. +

+Call the function subsequently to produce a sequence of tokens corresponding to the input stream. The initial token has the type YAML_STREAM_START_TOKEN while the ending token has the type YAML_STREAM_END_TOKEN.

+An application is responsible for freeing any buffers associated with the produced token object using the yaml_token_delete function.

+An application must not alternate the calls of yaml_parser_scan() with the calls of yaml_parser_parse() or yaml_parser_load(). Doing this will break the parser.

+

Parameters:
+ + + +
[in,out] parser A parser object.
[out] token An empty token object.
+
+
Returns:
1 if the function succeeded, 0 on error.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
int yaml_parser_parse (yaml_parser_t parser,
yaml_event_t event 
)
+
+
+ +

+Parse the input stream and produce the next parsing event. +

+Call the function subsequently to produce a sequence of events corresponding to the input stream. The initial event has the type YAML_STREAM_START_EVENT while the ending event has the type YAML_STREAM_END_EVENT.

+An application is responsible for freeing any buffers associated with the produced event object using the yaml_event_delete() function.

+An application must not alternate the calls of yaml_parser_parse() with the calls of yaml_parser_scan() or yaml_parser_load(). Doing this will break the parser.

+

Parameters:
+ + + +
[in,out] parser A parser object.
[out] event An empty event object.
+
+
Returns:
1 if the function succeeded, 0 on error.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
int yaml_parser_load (yaml_parser_t parser,
yaml_document_t document 
)
+
+
+ +

+Parse the input stream and produce the next YAML document. +

+Call this function subsequently to produce a sequence of documents constituting the input stream.

+If the produced document has no root node, it means that the document end has been reached.

+An application is responsible for freeing any data associated with the produced document object using the yaml_document_delete() function.

+An application must not alternate the calls of yaml_parser_load() with the calls of yaml_parser_scan() or yaml_parser_parse(). Doing this will break the parser.

+

Parameters:
+ + + +
[in,out] parser A parser object.
[out] document An empty document object.
+
+
Returns:
1 if the function succeeded, 0 on error.
+ +
+

+


Generated on Thu May 31 22:50:59 2007 for yaml by  + +doxygen 1.5.1
+ +