#include "stackish/ragel.h"#include "stackish/stackish.h"#include <myriad/defend.h>Include dependency graph for stackish.c:

Go to the source code of this file.
Defines | |
| #define | push(T, M, F) handle_push(parser, TYPE_##T, PTR_TO(M), LEN(M, F)) |
Functions | |
| int | handle_push (stackish_parser *parser, enum NodeType type, const char *start, size_t length) |
| int | handle_word (stackish_parser *parser, const char *start, size_t length) |
| int | handle_group (stackish_parser *parser) |
| int | handle_attr (stackish_parser *parser, const char *start, size_t length) |
| void | handle_mark (stackish_parser *parser) |
| RAGEL_INIT (RAGEL_DEFINE_FUNCTIONS(stackish_parser) | |
| void | stackish_node_clear (stackish_parser *parser) |
| void | stackish_node_destroy (stackish_parser *parser) |
Variables | |
| static const char | _stackish_parser_actions [] |
| static const char | _stackish_parser_key_offsets [] |
| static const char | _stackish_parser_trans_keys [] |
| static const char | _stackish_parser_single_lengths [] |
| static const char | _stackish_parser_range_lengths [] |
| static const char | _stackish_parser_index_offsets [] |
| static const char | _stackish_parser_trans_targs_wi [] |
| static const char | _stackish_parser_trans_actions_wi [] |
| static const int | stackish_parser_start = 10 |
| static const int | stackish_parser_first_final = 10 |
| static const int | stackish_parser_error = 0 |
| static const int | stackish_parser_en_main = 10 |
| #define push | ( | T, | |||
| M, | |||||
| F | ) | handle_push(parser, TYPE_##T, PTR_TO(M), LEN(M, F)) |
Definition at line 19 of file stackish.c.
| int handle_attr | ( | stackish_parser * | parser, | |
| const char * | start, | |||
| size_t | length | |||
| ) | [inline] |
Definition at line 99 of file stackish.c.
References assert_not, blk2bstr(), check, Node::child, stackish_parser::current, Node_name(), and on_fail.
Here is the call graph for this function:

| int handle_group | ( | stackish_parser * | parser | ) | [inline] |
Similar to handle_word this returns true when the document is done, false otherwise.
Definition at line 93 of file stackish.c.
References handle_word().
Here is the call graph for this function:

| void handle_mark | ( | stackish_parser * | parser | ) | [inline] |
Definition at line 113 of file stackish.c.
References assert_not, stackish_parser::current, Node_new_group(), and stackish_parser::root.
Here is the call graph for this function:

| int handle_push | ( | stackish_parser * | parser, | |
| enum NodeType | type, | |||
| const char * | start, | |||
| size_t | length | |||
| ) | [inline] |
Definition at line 21 of file stackish.c.
References assert_not, blk2bstr(), check, stackish_parser::current, fail, Node::floating, Node_destroy(), Node_new_blob(), Node_new_float(), Node_new_number(), Node_new_string(), Node::number, on_fail, stackish_parser::root, Node::type, TYPE_BLOB, TYPE_FLOAT, TYPE_GROUP, TYPE_NUMBER, and TYPE_STRING.
Here is the call graph for this function:

| int handle_word | ( | stackish_parser * | parser, | |
| const char * | start, | |||
| size_t | length | |||
| ) | [inline] |
Returns false if the document isn't done, otherwise true and -1 if there's a failure.
Definition at line 63 of file stackish.c.
References assert_not, bdestroy(), blk2bstr(), check, stackish_parser::current, Node::name, Node_name(), on_fail, Node::parent, and stackish_parser::root.
Referenced by handle_group().
Here is the call graph for this function:

| RAGEL_INIT | ( | RAGEL_DEFINE_FUNCTIONS( | stackish_parser | ) |
| void stackish_node_clear | ( | stackish_parser * | parser | ) |
Definition at line 384 of file stackish.c.
References assert_not, stackish_parser::current, Node_destroy(), and stackish_parser::root.
Referenced by Node_parse_seq().
Here is the call graph for this function:

| void stackish_node_destroy | ( | stackish_parser * | parser | ) |
Definition at line 394 of file stackish.c.
References Node_destroy(), and stackish_parser::root.
Here is the call graph for this function:

const char _stackish_parser_actions[] [static] |
Initial value:
{
0, 1, 0, 1, 1, 1, 2, 1,
3, 1, 4, 1, 5, 1, 6, 1,
7, 1, 8, 1, 9, 2, 0, 3,
2, 1, 0, 2, 1, 4, 2, 1,
7, 2, 2, 0, 2, 2, 4, 2,
2, 7, 2, 5, 0, 2, 5, 4,
2, 5, 7, 2, 9, 0, 2, 9,
4, 2, 9, 7
}
Definition at line 137 of file stackish.c.
const char _stackish_parser_index_offsets[] [static] |
Initial value:
{
0, 0, 2, 4, 6, 9, 11, 13,
16, 18, 21, 34, 47, 61, 75
}
Definition at line 180 of file stackish.c.
const char _stackish_parser_key_offsets[] [static] |
Initial value:
{
0, 0, 1, 2, 4, 7, 8, 10,
13, 15, 19, 35, 51, 69, 87
}
Definition at line 148 of file stackish.c.
const char _stackish_parser_range_lengths[] [static] |
Initial value:
{
0, 0, 0, 1, 1, 0, 1, 1,
1, 2, 4, 4, 5, 5, 4
}
Definition at line 175 of file stackish.c.
const char _stackish_parser_single_lengths[] [static] |
Initial value:
{
0, 1, 1, 0, 1, 1, 0, 1,
0, 0, 8, 8, 8, 8, 9
}
Definition at line 170 of file stackish.c.
const char _stackish_parser_trans_actions_wi[] [static] |
Initial value:
{
21, 1, 7, 0, 1, 0, 17, 0,
0, 13, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 9, 15, 0, 1, 1,
1, 0, 5, 5, 5, 33, 33, 33,
36, 39, 5, 0, 33, 33, 0, 19,
19, 19, 51, 51, 54, 57, 0, 19,
0, 0, 0, 0, 0, 11, 11, 11,
42, 42, 45, 48, 0, 11, 0, 0,
0, 0, 0, 3, 3, 3, 24, 24,
0, 24, 27, 30, 3, 0, 24, 24,
0, 0
}
Definition at line 200 of file stackish.c.
const char _stackish_parser_trans_keys[] [static] |
Initial value:
{
34, 34, 48, 57, 58, 48, 57, 39,
48, 57, 46, 48, 57, 48, 57, 65,
90, 97, 122, 32, 34, 39, 43, 45,
64, 91, 93, 9, 13, 48, 57, 65,
90, 97, 122, 32, 34, 39, 43, 45,
64, 91, 93, 9, 13, 48, 57, 65,
90, 97, 122, 32, 34, 39, 43, 64,
91, 93, 95, 9, 13, 45, 46, 48,
58, 65, 90, 97, 122, 32, 34, 39,
43, 64, 91, 93, 95, 9, 13, 45,
46, 48, 58, 65, 90, 97, 122, 32,
34, 39, 43, 45, 46, 64, 91, 93,
9, 13, 48, 57, 65, 90, 97, 122,
0
}
Definition at line 153 of file stackish.c.
const char _stackish_parser_trans_targs_wi[] [static] |
Initial value:
{
10, 2, 10, 2, 4, 0, 5, 4,
0, 10, 0, 7, 0, 8, 7, 0,
11, 0, 12, 12, 0, 10, 1, 3,
6, 6, 9, 10, 10, 10, 14, 13,
13, 0, 10, 1, 3, 6, 6, 9,
10, 10, 10, 11, 13, 13, 0, 10,
1, 3, 6, 9, 10, 10, 12, 10,
12, 12, 12, 12, 0, 10, 1, 3,
6, 9, 10, 10, 13, 10, 13, 13,
13, 13, 0, 10, 1, 3, 6, 6,
8, 9, 10, 10, 10, 14, 13, 13,
0, 0
}
Definition at line 185 of file stackish.c.
const int stackish_parser_en_main = 10 [static] |
Definition at line 219 of file stackish.c.
const int stackish_parser_error = 0 [static] |
Definition at line 217 of file stackish.c.
const int stackish_parser_first_final = 10 [static] |
Definition at line 216 of file stackish.c.
const int stackish_parser_start = 10 [static] |
1.5.1