|
|
1.1 ! root 1: .TH TWIG 1 ! 2: .CT 1 prog_other ! 3: .SH NAME ! 4: twig \- tree-manipulation language ! 5: .SH SYNOPSIS ! 6: .B twig ! 7: [ ! 8: .B -w\fIxx\fP ! 9: ] ! 10: .I file\f8.mt\fP ! 11: .SH DESCRIPTION ! 12: .I Twig ! 13: converts a tree-specification scheme consisting of pattern-action ! 14: rules with associated costs into C functions that can be called ! 15: to manipulate input trees. ! 16: The C functions first find a minimum-cost covering of an input tree ! 17: using a dynamic programming algorithm and then execute ! 18: the actions associated with the patterns used in the covering. ! 19: The tree-specification scheme may allow several coverings for an input tree, ! 20: but the dynamic programming algorithm resolves any ambiguities ! 21: by selecting a cheapest covering. ! 22: .PP ! 23: The input file containing the tree-specification scheme ! 24: must have the suffix ! 25: .LR .mt . ! 26: .I Twig ! 27: produces two output files: ! 28: .FR walker.c , ! 29: which becomes the source file for the tree matcher, and ! 30: .FR symbols.h , ! 31: which contains the definitions for the node and label symbols used ! 32: in the source file. ! 33: .PP ! 34: To build ! 35: .FR walker.c , ! 36: .I twig ! 37: uses an internal template file called ! 38: .FR walker.\fIxx\fR ! 39: where \fIxx\fR is the argument of the optional ! 40: .B -w ! 41: flag. ! 42: If the flag is omitted, then \fIxx\fR defaults to ! 43: .LR c1 . ! 44: .SH FILES ! 45: .TF symbols.h ! 46: .TP ! 47: .F file.mt ! 48: input file ! 49: .TP ! 50: .F walker.c ! 51: output tree matcher ! 52: .TP ! 53: .F symbols.h ! 54: definitions of node and label symbols ! 55: .SH "SEE ALSO" ! 56: .IR yacc (1) ! 57: .br ! 58: S. W. K. Tjiang, ! 59: .I "The Twig Reference Manual," ! 60: Computing Science Technical Report No. 120, ! 61: AT&T Bell Laboratories, ! 62: Murray Hill, N.J. ! 63: .br ! 64: A. V. Aho, M. Ganapathi, and S. W. K. Tjiang, ! 65: .I "Code generation using tree matching and dynamic programming." ! 66: .SH BUGS ! 67: When tree matching fails, the debugging output is cryptic.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.