4 PCCTS(1) PCCTS Manual Pages PCCTS(1)
8 PCCTS - The Purdue Compiler Construction Tool Set
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.
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
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.
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
59 To begin installation, place the pccts.tar file into the
60 directory where you want to place a pccts subdirectory.
70 PCCTS(1) PCCTS Manual Pages PCCTS(1)
77 and cd into it. To install PCCTS, simply type
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.
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).
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.
100 S
\bSE
\bEE
\bE A
\bAL
\bLS
\bSO
\bO