Using, Maintaining and Enhancing COBOL for the GNU Compiler Collection (GCC) (original) (raw)
- 1. Compiler Overview
- 2. COBOL Overview
- 3. Invoking
- 3.1 COBOL Editing mode for emacs - cobol.el
- 3.2 ASCII to EBCDIC Conversion coba2e
- 3.3 EBCDIC to ASCII Conversion cobe2a
- 3.4 DOS text to Unix text Conversion cobd2u
- 3.5 Unix text to DOS text Conversion cobu2d
- 3.6 Fixed Length to Variable Length Records cobf2v
- 3.7 COBOL Preprocessor cobpre
- 3.8 Main COBOL Compiler cobcc1
- 4. Installing the COBOL Compiler
- 5. Syntax of COBOL programs
- 5.1 Reference Format
- 5.2 Preprocessor
* 5.2.1 COPY Verb
* 5.2.1.1 COPY Verb Examples
* 5.2.1.2 COPY Verb Syntax
* 5.2.1.3 COPY Verb Restrictions
* 5.2.1.4 COPY Verb Processing
* 5.2.2 REPLACE Verb
* 5.2.2.1 REPLACE Verb Examples
* 5.2.2.2 REPLACE Verb Syntax
* 5.2.2.3 REPLACE Verb Processing - 5.3 Definitions of syntactic elements and terms.
- 6. Extensions Supported in the COBOL Compiler
- 7. Implementation defined values and behaviours
- 8. Implementation Limits
- 9. Known Causes of Trouble with COBOL for GCC
- 10. Known Bugs in COBOL for GCC
- 11. How To Get Help with COBOL for GCC
- 12. Contributing to COBOL for GCC Development
- 13. How COBOL for GCC Works
- 14. Writing a Compiler Front End
- 14.1 Background
- 14.2 Introduction
- 14.3 Overview of the GCC Compiler back end
* 14.3.1 GCC Construction Overview
* 14.3.1.1 Code size analysis
* 14.3.1.2 Separation of Language and Common Part
* 14.3.1.3 Modularity
* 14.3.1.4 Extension of the tree Structure
* 14.3.2 Compiler Driver
* 14.3.2.1 Translation Process
* 14.3.2.2 Two Principal Possibilities
* 14.3.2.3 Translation into RTL
* 14.3.2.4 Constructs Supported by the Tree Format
* 14.3.2.5 Control Structures
* 14.3.2.6 Additional Constructs
* 14.3.2.7 Calling Up of Optimization and Code Creation
* 14.3.3 Modules of Interest
* 14.3.3.1 Top Level Module
* 14.3.3.2 Output of Debugging Information in Various Formats
* 14.3.3.3 Creation of syntax trees for expressions and more
* 14.3.3.4 Storage Management
* 14.3.3.5 Storage Management
* 14.3.3.6 Data Formats
* 14.3.3.7 Initialization functions
* 14.3.3.8 Access Macros
* 14.3.3.9 TREE_CODE Constants
* 14.3.3.10 Creation of RTL code for Control Structures
* 14.3.3.11 Creation of RTL code for Routines
* 14.3.3.12 Processing of Type Declarations
* 14.3.3.13 Simplification of Constant Expressions
* 14.3.3.14 Creation of External Declarations
* 14.3.3.15 Tree Debugging Information
* 14.3.3.16 Modules for Creation of of RTL Code
* 14.3.3.17 Transformation of RTL code
* 14.3.3.18 Machine Independence
* 14.3.3.19 Conclusion
* 14.3.4 Symbol Table
* 14.3.5 Callback
* 14.3.5.1 Top Level Variables - tree nodes
* 14.3.5.2 Other Variables - tree nodes
* 14.3.5.3 Functions for Types
* 14.3.5.4 Back end Access to Symbol Table
* 14.3.5.5 Initialization and Cleanup
* 14.3.5.6 Language Specific Initialization
* 14.3.5.7 Accounting
* 14.3.5.8 Debugging Help
* 14.3.5.9 Input - 14.4 Creating Your Own GNU Compiler
* 14.4.1 The Official GNU Way
* 14.4.2 A Possible Alternative
* 14.4.3 Driver Program
* 14.4.4 Modifying toplev.c
* 14.4.5 Makefile and Configuration - 14.5 Generating RTL from the syntax tree
* 14.5.1 Memory Management
* 14.5.1.1 Storage for enduring objects
* 14.5.1.2 Storage for short-lasting objects
* 14.5.2 Calls Common to All Tree Nodes
* 14.5.3 Routines
* 14.5.4 Scope
* 14.5.5 Types
* 14.5.5.1 Basic Types
* 14.5.5.2 Integral Types
* 14.5.5.3 Array Types
* 14.5.5.4 Function Types
* 14.5.5.5 Record Types
* 14.5.5.6 Pointer Types
* 14.5.5.7 Variants of Types
* 14.5.5.8 Other Types
* 14.5.6 Declarations
* 14.5.6.1 Variables
* 14.5.6.2 Formal Parameters
* 14.5.6.3 Field Declarations for Record Types
* 14.5.6.4 Declarations for Routines
* 14.5.6.5 Declarations for Jump Labels
* 14.5.6.6 Declarations for Symbolic Constants
* 14.5.6.7 Declarations for Named Types
* 14.5.7 Building Expressions
* 14.5.7.1 Logical Expressions
* 14.5.7.2 Arithmetic Expressions
* 14.5.7.3 Comparison Expressions
* 14.5.7.4 Constant Expressions
* 14.5.7.5 Function Call Expressions
* 14.5.7.6 Conversion Expressions
* 14.5.7.7 Storage Access Expressions
* 14.5.7.8 Control Structures for Functional Programs
* 14.5.7.9 Other Expressions
* 14.5.8 Code for Control Structures
* 14.5.8.1 Conditional Statements
* 14.5.8.2 Looping Statements
* 14.5.8.3 Multibranch Statements
* 14.5.8.4 Jump Statements
* 14.5.8.5 Other Jump Statements
* 14.5.9 Other Statements
* 14.5.9.1 Calls and Assignments
* 14.5.9.2 Return from Routines - 14.6 Tree Summary and Overview
- 14.7 GCC Internals Information
- 14.8 Tree Changes
- 14.9 Tree Examples
* 14.9.1 Introduction to the Tree Examples
* 14.9.2 Tree Example Code - exa
* 14.9.3 Tree Example Code - toy
- 15. GNU
- Index
This document was generated on 24 January 2001 usingtexi2html 1.56k.