summaryrefslogtreecommitdiff
path: root/colm/tree.h
diff options
context:
space:
mode:
authorAdrian Thurston <thurston@complang.org>2012-05-21 07:47:28 -0400
committerAdrian Thurston <thurston@complang.org>2012-05-21 07:47:28 -0400
commit0cc006eff969f44279c3ac2d1406fbeedf3ebb8f (patch)
treead29751053c99870c4ca7c9dafeb6416a8fa11b4 /colm/tree.h
parent0d8ebab90bd24f6ea31f0fb93d809bd8f95cdafd (diff)
downloadcolm-0cc006eff969f44279c3ac2d1406fbeedf3ebb8f.tar.gz
added the trim operation (^)
The trim operation wraps the ignores with nodes that have the suppress-left and suppress-right flags set in the ignore list struct. These are now added to the list of ignores to ouput once a terminal is hit, but are not printed since they have no data. They are there just for their flags. Implemented the suppress-left and suppress-right operations in a walk of the ignores to output by altering the list.
Diffstat (limited to 'colm/tree.h')
-rw-r--r--colm/tree.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/colm/tree.h b/colm/tree.h
index e3fed750..8c2df8f0 100644
--- a/colm/tree.h
+++ b/colm/tree.h
@@ -354,6 +354,7 @@ void initStrCollect( StrCollect *collect );
void strCollectDestroy( StrCollect *collect );
void strCollectAppend( StrCollect *collect, const char *data, long len );
void strCollectClear( StrCollect *collect );
+Tree *treeTrim( struct ColmProgram *prg, Tree **sp, Tree *tree );
void printTree( struct ColmProgram *prg, Tree **sp, StrCollect *collect, Tree *tree );
void printTermTree( struct ColmProgram *prg, Tree **sp, struct ColmPrintArgs *printArgs, Kid *kid );