Flick: The Flexible IDL Compiler Kit
Version 2.1

Programmer's Manual

Flux Research Group
Department of Computer Science
University of Utah
http://www.cs.utah.edu/flux/
flick@cs.utah.edu

November 1999

Introduction
Preface
1 Introduction
 1.1 What is Flick?
 1.2 Organization of this Document
2 An Outline of the Source Code
 2.1 Flick Programs, Files, and Libraries
 2.2 Organization of the Source Code
 2.3 Coding Style
 2.4 Summary and Comments
The Intermediate Representations
3 Metadata (META) Representation
 3.1 META Overview
 3.2 META Data Structures
 3.3 The META Library
 3.4 Summary and Comments
4 Abstract Object Interface (AOI) Representation
 4.1 AOI Overview
 4.2 AOI Data Structures
 4.3 The AOI Library
 4.4 aoid, the AOI Printing Utility
 4.5 Summary and Comments
5 Message Interface (MINT) Representation
 5.1 MINT Overview
 5.2 MINT Data Structures
 5.3 The MINT Library
 5.4 Summary and Comments
6 C Abstract Syntax Tree (CAST) Representation
 6.1 CAST Overview
 6.2 CAST Data Structures
 6.3 The CAST Library
 6.4 Summary and Comments
7 Presentation in C/C++ (PRES_ C) Representation
 7.1 PRES_ C Overview
 7.2 PRES_ C Data Structures
 7.3 The PRES_ C Library
 7.4 presd, the PRES_ C Printing Utility
8 Source Code Markup Language (SCML)
 8.1 The Language
 8.2 The SCML interpreter
The Programs and Libraries
9 Libcompiler
 9.1 Errors and Warnings
 9.2 Memory and Strings
 9.3 Files
 9.4 Command Line Arguments
 9.5 Stacks
 9.6 Hash Tables
 9.7 Linked Lists
10 Front Ends
 10.1 Front End Libraries
 10.2 CORBA Front End
 10.3 ONC RPC (Sun) Front End
 10.4 MIG Front End
 10.5 Summary and Comments
11 Presentation Generators
 11.1 Presentation of an Interface
 11.2 AOI to PRES_ C Translation
 11.3 Flick Presentation Generator Architecture
 11.4 Summary and Comments
12 Back Ends
 12.1 The Back End Library
 12.2 Specific Back Ends
 12.3 Summary and Comments
13 Runtime
 13.1 Flick Runtimes
 13.2 Khazana, Fluke
 13.3 The ACE ORB (TAO)
 13.4 Logical Runtime and Header Separation for Flick