stackish/stackish.c File Reference

#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 Documentation

#define push ( T,
M,
 )     handle_push(parser, TYPE_##T, PTR_TO(M), LEN(M, F))

Definition at line 19 of file stackish.c.


Function Documentation

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  ) 

Definition at line 223 of file stackish.c.

References stackish_parser_start.

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:


Variable Documentation

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
}
Data

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]

Definition at line 215 of file stackish.c.

Referenced by RAGEL_INIT().


Generated on Tue Apr 10 01:01:51 2007 for Utu by  doxygen 1.5.1