|
|
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.