X-Git-Url: https://pd.if.org/git/?p=pccts;a=blobdiff_plain;f=pccts.1;fp=pccts.1;h=0b2aaf3d077f91bc6df11653adc463b357173eff;hp=0000000000000000000000000000000000000000;hb=4d4e65f78c8f851575664a0405091590260c965f;hpb=6d2ac3f332762a7d8fd47331a3a53ab59612c8bd diff --git a/pccts.1 b/pccts.1 new file mode 100755 index 0000000..0b2aaf3 --- /dev/null +++ b/pccts.1 @@ -0,0 +1,77 @@ +.TH PCCTS 1 "April 1994" "PCCTS" "PCCTS Manual Pages" +.SH NAME +PCCTS \- The Purdue Compiler Construction Tool Set +.SH DESCRIPTION +.PP +PCCTS is a set of public domain software tools designed to facilitate +the implementation of compilers and other translation systems. These +tools currently include \fIantlr\fP, \fIdlg\fP and support code. In +many ways, PCCTS is similar to a highly integrated version of YACC +[Joh78] and LEX [Les75]; where \fIantlr\fP (ANother Tool for Language +Recognition) corresponds to YACC and \fIdlg\fP (DFA-based Lexical +analyzer Generator) functions like LEX. However, PCCTS has many +additional features which make it easier to use for a wider range of +translation problems. +.PP +PCCTS grammars contain specifications for lexical and syntactic +analysis, intermediate-form construction and error reporting. Rules +may employ Extended Backus Naur Form (EBNF) grammar constructs and may +define parameters, return values and local variables. Languages +described in PCCTS are recognized via Strong LL(k) parsers constructed +in pure, human-readable, C code. As a result, standard debugging +tools can be used to trace and debug PCCTS parsers. Breakpoints can +be set so that parser execution stops before or after grammar +fragments of interest have been recognized. +.PP +PCCTS grammars may contain predicates which allow parsing to be a +function of semantics as well as syntax\ \(em context-sensitive +grammars. Backtracking can also be specified to recognized non-LL(k) +and non-LALR(k) constructs. In addition, PCCTS supports +intermediate-form (such as expression-trees) construction via a +flexible Abstract-Syntax Tree (AST) mechanism which allows trees to be +built explicitly or automatically. The user explicitly creates trees +via a LISP-like tree constructor or directs the automatic tree +construction facility via simple grammar directives. AST nodes are +user-defined and are generally a function of attributes. A default +transformation from attributes (\fB$\fP-variables) to AST nodes can be +specified. Alternatively, each tree node can be defined explicitly +via an AST node constructor. +.SH INSTALLATION +.PP +PCCTS includes a number of different programs and examples in the +software release package\(emmost of which like to live in their own +directories. The install script will build a standard hierarchy. The +PCCTS executables (\fIantlr\fP, \fIdlg\fP) may be placed anywhere the +user wishes but the install script places them in the bin directory +created during installation. +.PP +To begin installation, place the pccts.tar file into the directory +where you want to place a pccts subdirectory. Untar the file with + + tar xvf pccts.tar + +and cd into it. To install PCCTS, simply type + + make + +which will build the standard PCCTS directory hierarchy (under the +directory where you ran the install script) and build executable +versions of antlr and dlg. +.PP +The examples associated with PCCTS have makefile variables called +\fBANTLR\fP, \fBDLG\fP etc... which must be set according to your +personal directory structure before \fImake\fP'ing. Some variables +point to the PCCTS executables if the \fBPATH\fP environment variable +does not include your \fBbin\fP directory. Also, there are variables +that point to PCCTS include directories and must be changed if you +deviate from the standard PCCTS installation hierarchy. \fIantlr\fP +and \fIdlg\fP can be built without executable versions of themselves +(\fIantlr\fP and \fIdlg\fP are written in themselves). +.SH "GETTING STARTED" +.PP +A C program called \fBgenmk.c\fP is available in the \fBsupport/genmk\fP +directory of the PCCTS release. +.SH "SEE ALSO" +.LP +dlg(1), antlr(1) +