TAO IDL Compiler: Architecture and Evolution - PowerPoint PPT Presentation

1 / 9
About This Presentation
Title:

TAO IDL Compiler: Architecture and Evolution

Description:

Used to generate code for Asynchronous Messaging Invocation (AMI) implementation. ... Abstract Syntax Tree (AST) implied by IDL declaration AMI specification. ... – PowerPoint PPT presentation

Number of Views:119
Avg rating:3.0/5.0
Slides: 10
Provided by: jeffpa
Category:

less

Transcript and Presenter's Notes

Title: TAO IDL Compiler: Architecture and Evolution


1
TAO IDL Compiler Architecture and Evolution
  • Jeff Parsons
  • parsons_at_cs.wustl.edu
  • Center for Distributed Object Computing
  • Department of Computer Science
  • Washington University, St. Louis, MO

2
Early Milestones
  • May 1997
  • Sun implementation (no code generation)
  • January 1998
  • Visitor pattern
  • September 1998
  • Compiled marshaling
  • October 1998
  • Perfect hashing
  • May 1999
  • Partial Object By Value (OBV) support
  • Recursive types

3
Implied IDL
  • module mod
  • interface foo
  • attribute long attr
  • string op (
  • inout float io_arg
  • )
  • September 1999
  • Used to generate code for Asynchronous Messaging
    Invocation (AMI) implementation.
  • Uses strategy pattern instead of branching
    visitor logic.
  • Adds nodes to Abstract Syntax Tree (AST) implied
    by IDL declaration AMI specification.

4
Implied IDL cont.
5
Architecture Evolution - Modularization
  • Context
  • Loading Interface Repository (IFR) from IDL
    files.
  • Problem
  • Adding to IDL compiler is too brittle and
    complex.
  • Solution - modularize the IDL compiler.
  • Front end (FE) library for parsing and AST
    generation only.
  • Pluggable back end (BE) libraries.
  • Top-level executable.

6
Pluggable BEs
  • August 2000
  • tao_idl BE
  • January 2001
  • tao_ifr BE
  • No BE node classes
  • No code generation
  • No context states
  • No visitor factory
  • June 2002
  • nest_idl BE - Network Embedded Software
    Technology (NEST) ORB IDL compiler
  • No BE node classes
  • No visitor factory

7
Expanding OBV Support
  • August 2001
  • valuetypes in sequences
  • March 2002
  • abstract valuetypes
  • typecodes, Any operators
  • valuetype factories
  • July 2002
  • valuetypes in structs, unions, exceptions, arrays
  • forward declared valuetypes, defined in
    non-included IDL file
  • interface support list

8
Latest Features and Current Work
  • Asynchronous Message Handling (AMH)
  • Abstract interfaces
  • Forward declared structs and unions
  • Enum constants
  • CORBA Component Model (CCM) support - in progress
  • IDL extensions
  • IFR to support import
  • Component Implementation Definition Language
    (CIDL) compiler

9
Future Work Extensible Parser?
  • Context
  • NEST ORB IDL compiler uses subset of IDL 2.x.
  • IDL 3.0 and Persistent State Definition Language
    (PSDL) are supersets of IDL 2.x.
  • CIDL is a superset of PSDL and IDL 3.0.
  • Problems
  • Large grammar files
  • Duplicated/unused code
  • Solution
  • Modular extensible parser

CIDL
IDL 3.0
IDL 2.x
NEST IDL
PSDL
Write a Comment
User Comments (0)
About PowerShow.com