pccts.1
上传用户:itx_2006
上传日期:2007-01-06
资源大小:493k
文件大小:4k
源码类别:

编译器/解释器

开发平台:

Others

  1. .TH PCCTS 1 "April 1994" "PCCTS" "PCCTS Manual Pages"
  2. .SH NAME
  3. PCCTS - The Purdue Compiler Construction Tool Set
  4. .SH DESCRIPTION
  5. .PP
  6. PCCTS is a set of public domain software tools designed to facilitate
  7. the implementation of compilers and other translation systems.  These
  8. tools currently include fIantlrfP, fIdlgfP and support code.  In
  9. many ways, PCCTS is similar to a highly integrated version of YACC
  10. [Joh78] and LEX [Les75]; where fIantlrfP (ANother Tool for Language
  11. Recognition) corresponds to YACC and fIdlgfP (DFA-based Lexical
  12. analyzer Generator) functions like LEX.  However, PCCTS has many
  13. additional features which make it easier to use for a wider range of
  14. translation problems.
  15. .PP
  16. PCCTS grammars contain specifications for lexical and syntactic
  17. analysis, intermediate-form construction and error reporting.  Rules
  18. may employ Extended Backus Naur Form (EBNF) grammar constructs and may
  19. define parameters, return values and local variables.  Languages
  20. described in PCCTS are recognized via Strong LL(k) parsers constructed
  21. in pure, human-readable, C code.  As a result, standard debugging
  22. tools can be used to trace and debug PCCTS parsers.  Breakpoints can
  23. be set so that parser execution stops before or after grammar
  24. fragments of interest have been recognized.
  25. .PP
  26. PCCTS grammars may contain predicates which allow parsing to be a
  27. function of semantics as well as syntax (em context-sensitive
  28. grammars.  Backtracking can also be specified to recognized non-LL(k)
  29. and non-LALR(k) constructs.  In addition, PCCTS supports
  30. intermediate-form (such as expression-trees) construction via a
  31. flexible Abstract-Syntax Tree (AST) mechanism which allows trees to be
  32. built explicitly or automatically.  The user explicitly creates trees
  33. via a LISP-like tree constructor or directs the automatic tree
  34. construction facility via simple grammar directives.  AST nodes are
  35. user-defined and are generally a function of attributes.  A default
  36. transformation from attributes (fB$fP-variables) to AST nodes can be
  37. specified.  Alternatively, each tree node can be defined explicitly
  38. via an AST node constructor.
  39. .SH INSTALLATION
  40. .PP
  41. PCCTS includes a number of different programs and examples in the
  42. software release package(emmost of which like to live in their own
  43. directories.  The install script will build a standard hierarchy.  The
  44. PCCTS executables (fIantlrfP, fIdlgfP) may be placed anywhere the
  45. user wishes but the install script places them in the bin directory
  46. created during installation.
  47. .PP
  48. To begin installation, place the pccts.tar file into the directory
  49. where you want to place a pccts subdirectory.  Untar the file with
  50.      tar xvf pccts.tar
  51. and cd into it.  To install PCCTS, simply type
  52.  
  53.      make
  54. which will build the standard PCCTS directory hierarchy (under the
  55. directory where you ran the install script) and build executable
  56. versions of antlr and dlg.
  57. .PP
  58. The examples associated with PCCTS have makefile variables called
  59. fBANTLRfP, fBDLGfP etc... which must be set according to your
  60. personal directory structure before fImakefP'ing.  Some variables
  61. point to the PCCTS executables if the fBPATHfP environment variable
  62. does not include your fBbinfP directory.  Also, there are variables
  63. that point to PCCTS include directories and must be changed if you
  64. deviate from the standard PCCTS installation hierarchy.  fIantlrfP
  65. and fIdlgfP can be built without executable versions of themselves
  66. (fIantlrfP and fIdlgfP are written in themselves).
  67. .SH "GETTING STARTED"
  68. .PP
  69. A C program called fBgenmk.cfP is available in the fBsupport/genmkfP
  70. directory of the PCCTS release.
  71. .SH "SEE ALSO"
  72. .LP
  73. dlg(1), antlr(1)