lp://staging/~cjdahlin/libnih/nih-parse

Created by Casey Dahlin and last modified
Get this branch:
bzr branch lp://staging/~cjdahlin/libnih/nih-parse
Only Casey Dahlin can upload to this branch. If you are Casey Dahlin please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Casey Dahlin
Project:
libnih
Status:
Development

Recent revisions

1059. By Casey Dahlin

* nih/parse.c (nih_parse, nih_parse_or_raise): Report an error when we fail to
parse.

1058. By Casey Dahlin

* nih/tests/test_parse.c: Add some style-mandated whitespace

1057. By Casey Dahlin

* nih/parse.c (nih_parse_backtrack, nih_parse): Break out the backtracking
portion of nih_parse into its own function.

1056. By Casey Dahlin

* nih/parse.c (nih_parse_child_r): New pseudo-recursive function to handle
matching of a child reference and the repetition/flags that may imply.
(nih_parse): use nih_parse_child_r

1055. By Casey Dahlin

* nih/parse.c, nih/parse.h, nih/tests/test_parse.c (nih_parse_symbol_matches,
nih_parse_terminal_symbol_matches_r, nih_parse_symbol_matches_r): remove the
_symbol_matches from the ends of these function names.

1054. By Casey Dahlin

* nih/parse.c (nih_parse_terminal_symbol_matches): Turn into a virtual
NihParseFrame-style function.

1053. By Casey Dahlin

* nih/parse.c (NIH_PARSE_CALL): Make DO_CALL generic
(nih_parse_symbol_matches_r): Use NIH_PARSE_CALL instead of a local DO_CALL
macro.

1052. By Casey Dahlin

* nih/parse.c (XOR): Single expansion implementation.

1051. By Casey Dahlin

* nih/parse.c (NihParseRecursiveFunction): New type for a special class of
functions that simulate recursive semantics without the stack.
(NihParseFrame): New struct for a generic virtual stack frame.
(NihParseSymbolMatchesData): Essentially a global version of the previous
struct frame * inside of nih_parse_symbol_matches.
(NIH_PARSE_OOM_ABORT): Signal OOM for functions using NihParseFrame. Abort the
entire virtual stack.
(NIH_PARSE_POP_FRAME): Conduct a return on an NihParseFrame stack.
(text_pos, text_end): Make these globals for a bit while we move things around.
(nih_parse_symbol_matches): Make this function simply process a virtual
function call with NihParseFrame and return the final result.
(nih_parse_symbol_matches_r): A virtually-recursive function which does what
nih_parse_symbol_matches used to do.

1050. By Casey Dahlin

Merge nih_parse with latest trunk.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar RepositoryFormatKnitPack6RichRoot (bzr 1.9)
This branch contains Public information 
Everyone can see this information.

Subscribers