]> pd.if.org Git - pccts/blob - pccts1.txt
auto commit for import
[pccts] / pccts1.txt
1
2
3
4 PCCTS(1)                PCCTS Manual Pages               PCCTS(1)
5
6
7 N\bNA\bAM\bME\bE
8        PCCTS - The Purdue Compiler Construction Tool Set
9
10 D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
11        PCCTS is a set of public domain software tools designed to
12        facilitate  the  implementation  of  compilers  and  other
13        translation systems.  These tools currently include _\ba_\bn_\bt_\bl_\br,
14        _\bd_\bl_\bg and support code.  In many ways, PCCTS is similar to a
15        highly integrated version of YACC [Joh78] and LEX [Les75];
16        where _\ba_\bn_\bt_\bl_\br (ANother Tool for Language Recognition) corre-
17        sponds to YACC and _\bd_\bl_\bg (DFA-based Lexical analyzer Genera-
18        tor) functions like LEX.  However, PCCTS  has  many  addi-
19        tional  features  which  make it easier to use for a wider
20        range of translation problems.
21
22        PCCTS grammars contain specifications for lexical and syn-
23        tactic  analysis, intermediate-form construction and error
24        reporting.  Rules may employ  Extended  Backus  Naur  Form
25        (EBNF)  grammar  constructs  and  may  define  parameters,
26        return values and local variables.  Languages described in
27        PCCTS  are recognized via Strong LL(k) parsers constructed
28        in pure, human-readable, C code.  As  a  result,  standard
29        debugging  tools  can  be  used  to  trace and debug PCCTS
30        parsers.  Breakpoints can be set so that parser  execution
31        stops  before  or after grammar fragments of interest have
32        been recognized.
33
34        PCCTS grammars may contain predicates which allow  parsing
35        to  be  a  function of semantics as well as syntax -- con-
36        text-sensitive grammars.  Backtracking can also be  speci-
37        fied  to  recognized non-LL(k) and non-LALR(k) constructs.
38        In addition, PCCTS  supports  intermediate-form  (such  as
39        expression-trees)  construction  via  a flexible Abstract-
40        Syntax Tree (AST) mechanism which allows trees to be built
41        explicitly  or automatically.  The user explicitly creates
42        trees via a LISP-like  tree  constructor  or  directs  the
43        automatic  tree  construction  facility via simple grammar
44        directives.  AST nodes are user-defined and are  generally
45        a  function  of attributes.  A default transformation from
46        attributes ($\b$-variables) to AST nodes  can  be  specified.
47        Alternatively,  each  tree  node can be defined explicitly
48        via an AST node constructor.
49
50 I\bIN\bNS\bST\bTA\bAL\bLL\bLA\bAT\bTI\bIO\bON\bN
51        PCCTS includes a number of different programs and examples
52        in  the  software  release  package--most of which like to
53        live in their own directories.  The  install  script  will
54        build a standard hierarchy.  The PCCTS executables (_\ba_\bn_\bt_\bl_\br,
55        _\bd_\bl_\bg) may be  placed  anywhere  the  user  wishes  but  the
56        install  script  places  them in the bin directory created
57        during installation.
58
59        To begin installation, place the pccts.tar file  into  the
60        directory  where  you  want to place a pccts subdirectory.
61
62
63
64 PCCTS                       April 1994                          1
65
66
67
68
69
70 PCCTS(1)                PCCTS Manual Pages               PCCTS(1)
71
72
73        Untar the file with
74
75             tar xvf pccts.tar
76
77        and cd into it.  To install PCCTS, simply type
78
79             make
80
81        which will build the standard  PCCTS  directory  hierarchy
82        (under the directory where you ran the install script) and
83        build executable versions of antlr and dlg.
84
85        The examples associated with PCCTS have makefile variables
86        called  A\bAN\bNT\bTL\bLR\bR,  D\bDL\bLG\bG  etc... which must be set according to
87        your personal directory structure before  _\bm_\ba_\bk_\be'ing.   Some
88        variables point to the PCCTS executables if the P\bPA\bAT\bTH\bH envi-
89        ronment variable does  not  include  your  b\bbi\bin\bn  directory.
90        Also,  there  are  variables  that  point to PCCTS include
91        directories and must be changed if you  deviate  from  the
92        standard  PCCTS installation hierarchy.  _\ba_\bn_\bt_\bl_\br and _\bd_\bl_\bg can
93        be built without executable versions of themselves  (_\ba_\bn_\bt_\bl_\br
94        and _\bd_\bl_\bg are written in themselves).
95
96 G\bGE\bET\bTT\bTI\bIN\bNG\bG S\bST\bTA\bAR\bRT\bTE\bED\bD
97        A  C  program  called  g\bge\ben\bnm\bmk\bk.\b.c\bc  is  available  in the s\bsu\bup\bp-\b-
98        p\bpo\bor\brt\bt/\b/g\bge\ben\bnm\bmk\bk directory of the PCCTS release.
99
100 S\bSE\bEE\bE A\bAL\bLS\bSO\bO
101        dlg(1), antlr(1)
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130 PCCTS                       April 1994                          2
131
132