org.openorb.compiler.parser
Class IdlGrammar

java.lang.Object
  |
  +--org.openorb.compiler.parser.IdlGrammar

public class IdlGrammar
extends java.lang.Object

Cette classe represente la grammaire IDL

Version:
$Revision: 1.9 $ $Date: 2002/08/21 08:19:24 $
Author:
Jerome Daniel

Field Summary
 IdlParser parser
          Permet d'acceder au parser pour parcourir le fichier IDL
 
Constructor Summary
IdlGrammar(IdlParser p)
          Construit une nouvelle class pour la gestion de la grammaire IDL
 
Method Summary
 void addNativeMap(IdlObject current)
          Respond to #pragma javaNativeMap
 void attr_dcl(IdlObject obj)
          (70) Analyse la definition d'un attribut
 void changeId(IdlObject current)
          Change l'ID d'un objet CORBA
 void changePackage()
          Change le prefixe des IDs des objets CORBA
 void changePrefix()
          Change le prefixe des IDs des objets CORBA
 void changeVersion(IdlObject current)
          Change la version d'un ID d'un objet CORBA
 boolean checkPrefix(java.lang.String pref)
          Check the pragma prefix string.
 void const_dcl(IdlObject obj)
          (12) Analyse la definition d'une constante ::= 'const' '='
 long const_exp(StringContainer str, IdlObject obj, DoubleContainer fv)
          (14) Analyse une expression constante
 void const_type(IdlObject obj)
          (13) Analyse un type de constante
 void constr_type_spec(IdlObject obj)
          (33) Ananlyse un type de donnee construit
 void context_expr(IdlOp obj)
          (79) Analyse l'expression "context" d'une operation
 void convertToDecimal()
          Cette fonction convertie un nombre hexadecimal en nombre decimal Le nombre est stocke dans ctx.value sous forme d'une chaine.
 void declarators(IdlObject obj)
          (34) Analyse une declaration de membre
 void echo()
          Change le prefixe des IDs des objets CORBA
 void enum_dcl(IdlObject obj)
          (63) Analyse une enumeration
 void except_dcl(IdlObject obj)
          (71) Analyse la definition d'une exception
 void export_dcl(IdlObject obj)
          (9) Analyse les membres d'une interface
 IdlObject final_type(IdlObject obj)
          Returns the final definition of a data type
 void fixed_const_dcl(IdlObject obj)
          (82) Analyse la definition d'un type fixed constant
 void fixed_dcl(IdlObject obj)
          (82) Analyse la definition d'un type fixed
 void forward_dcl(IdlInterface obj)
          (6) Analyse une definition forward d'une interface
 void full_value_dcl(IdlObject obj)
           
 java.lang.String fullname(IdlObject obj)
          Retourne le nom complet d'un objet CORBA
 int hexaToDec(char hexa)
          Cette fonction retourne la valeur decimale d'un symbole hexadecimal
 void idl_definition(IdlObject obj)
          (1) Analyse une definition IDL ::= ';' | ';' | ';' | ';' | ';'
 void idl_specification(IdlObject obj)
          Premiere regle de la grammaire
 void import_dcl(IdlObject obj)
          Include external description
 void inheritance_spec(IdlInterface obj)
          (10) Analyse les declarations d'heritages d'une interface
 void init_dcl(IdlObject obj)
           
 void init_param_decls(IdlObject obj)
           
 void interface_body(IdlInterface obj)
          (8) Analyse le corps d'une interface
 void interface_dcl(IdlInterface obj)
          (5) Analyse la declaration d'une interface
 void interface_type(IdlObject obj)
          (4) Analyse la definition d'une interface
 java.lang.String inversedPrefix(java.lang.String prefix)
          Inverse l'ordre d'un prefixe : omg.org -> org.omg
 void member_list(IdlObject obj)
          (55) Analyse les membres d'une structure
 void member(IdlObject obj, java.util.Hashtable list)
          (56) Analyse un membre d'une structure
 void module_dcl(IdlObject obj)
          (3) Analyse un module
 void native_dcl(IdlObject obj)
          Analyse la definition d'un type natif
 void op_dcl(IdlObject obj)
          (72) Analyse la definition d'une operation
 void op_type_spec(IdlOp obj)
          (74) Analyse le type de retour d'une operation
 void param_attribute(IdlParam obj)
          (77) Analyse l'attribut d'un parametre
 void param_dcl(IdlOp obj)
          (76) Analyse la definition d'un parametre d'une operation
 void param_type_spec(IdlObject obj)
          (80) Analyse le type d'un parametre
 void parameter_dcls(IdlOp obj)
          (75) Analyse les parametres d'une operation
 int positive_int_const(IdlObject obj)
          (26) Analyse une expression entiere constante
 void pragma_dcl(IdlObject obj)
          Analyse les clauses pragma
 long primary_exp(StringContainer str, IdlObject obj, DoubleContainer fv)
          (23) Analyse une expression constante
 void raises_expr(IdlObject obj)
          (78) Analyse l'expression "raises" d'une operation
 java.lang.String scoped_name()
          (11) Analyse un nom eventuellement compose
 void sequence_dcl(IdlObject obj)
          (65) Analyse la definition d'une sequence
 void simple_type_spec(IdlObject obj)
          (30) Analyse un type de donnee simple
 void state_member_dcl(IdlObject obj)
           
 void string_dcl(IdlObject obj)
          (66) Analyse la definition d'une chaine de caracteres
 void struct_dcl(IdlObject obj)
          (54) Analyse la definition d'une structure
 void switch_body(IdlObject obj)
          (59) Analyse le contenu d'une union
 int switch_case(IdlObject obj, BooleanContainer asNext, java.util.Hashtable list)
          (60) Analyse un des cas d'une union
 void switch_type_spec(IdlObject obj)
          (58) Analyse un type de donnee de discriminant d'union
 void type_dcl(IdlObject obj)
          (27) Analyse la definition d'un nouveau type de donnee
 void type_id_dcl(IdlObject obj)
          Set a repository ID
 void type_prefix_dcl(IdlObject obj)
          Set repository IDs prefix
 void type_spec(IdlObject obj)
          (29) Ananlyse un type de donnee
 long unary_exp(StringContainer str, IdlObject obj, DoubleContainer fv)
          (22) Ananlyse une expression constante
 void union_dcl(IdlObject obj)
          (57) Analyse la definition d'une union
 void value_abs_dcl(IdlObject obj, java.lang.String name)
           
 void value_box_dcl(IdlObject obj, java.lang.String name)
           
 void value_dcl(IdlObject obj, java.lang.String name, boolean custom)
           
 void value_forward_dcl(IdlObject obj, java.lang.String name, boolean abstract_value)
           
 void value_inheritance_spec(IdlObject obj, boolean custom, boolean statefull)
           
 void value_inheritance(IdlObject obj, boolean custom, boolean statefull)
           
 void wstring_dcl(IdlObject obj)
          (67) Analyse la definition d'une chaine de caracteres larges
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

parser

public IdlParser parser
Permet d'acceder au parser pour parcourir le fichier IDL
Constructor Detail

IdlGrammar

public IdlGrammar(IdlParser p)
Construit une nouvelle class pour la gestion de la grammaire IDL
Method Detail

hexaToDec

public int hexaToDec(char hexa)
Cette fonction retourne la valeur decimale d'un symbole hexadecimal
Parameters:
hexa - le symbole hexadecimal
Returns:
la valeur decimale correspondante

convertToDecimal

public void convertToDecimal()
Cette fonction convertie un nombre hexadecimal en nombre decimal Le nombre est stocke dans ctx.value sous forme d'une chaine.

inversedPrefix

public java.lang.String inversedPrefix(java.lang.String prefix)
Inverse l'ordre d'un prefixe : omg.org -> org.omg
Parameters:
prefix - le prefixe a inverser
Returns:
le prefixe inverse

fullname

public java.lang.String fullname(IdlObject obj)
Retourne le nom complet d'un objet CORBA
Parameters:
obj - l'objet dont on doit trouver le nom complet
Returns:
le nom complet

scoped_name

public java.lang.String scoped_name()
(11) Analyse un nom eventuellement compose

primary_exp

public long primary_exp(StringContainer str,
                        IdlObject obj,
                        DoubleContainer fv)
(23) Analyse une expression constante

unary_exp

public long unary_exp(StringContainer str,
                      IdlObject obj,
                      DoubleContainer fv)
(22) Ananlyse une expression constante

const_exp

public long const_exp(StringContainer str,
                      IdlObject obj,
                      DoubleContainer fv)
(14) Analyse une expression constante

positive_int_const

public int positive_int_const(IdlObject obj)
(26) Analyse une expression entiere constante

fixed_dcl

public void fixed_dcl(IdlObject obj)
(82) Analyse la definition d'un type fixed

fixed_const_dcl

public void fixed_const_dcl(IdlObject obj)
(82) Analyse la definition d'un type fixed constant

wstring_dcl

public void wstring_dcl(IdlObject obj)
(67) Analyse la definition d'une chaine de caracteres larges

string_dcl

public void string_dcl(IdlObject obj)
(66) Analyse la definition d'une chaine de caracteres

sequence_dcl

public void sequence_dcl(IdlObject obj)
(65) Analyse la definition d'une sequence

const_type

public void const_type(IdlObject obj)
(13) Analyse un type de constante

const_dcl

public void const_dcl(IdlObject obj)
(12) Analyse la definition d'une constante ::= 'const' '='

constr_type_spec

public void constr_type_spec(IdlObject obj)
(33) Ananlyse un type de donnee construit

simple_type_spec

public void simple_type_spec(IdlObject obj)
(30) Analyse un type de donnee simple

type_spec

public void type_spec(IdlObject obj)
(29) Ananlyse un type de donnee

declarators

public void declarators(IdlObject obj)
(34) Analyse une declaration de membre

member

public void member(IdlObject obj,
                   java.util.Hashtable list)
(56) Analyse un membre d'une structure

member_list

public void member_list(IdlObject obj)
(55) Analyse les membres d'une structure

struct_dcl

public void struct_dcl(IdlObject obj)
(54) Analyse la definition d'une structure

switch_type_spec

public void switch_type_spec(IdlObject obj)
(58) Analyse un type de donnee de discriminant d'union

switch_case

public int switch_case(IdlObject obj,
                       BooleanContainer asNext,
                       java.util.Hashtable list)
(60) Analyse un des cas d'une union

switch_body

public void switch_body(IdlObject obj)
(59) Analyse le contenu d'une union

union_dcl

public void union_dcl(IdlObject obj)
(57) Analyse la definition d'une union

enum_dcl

public void enum_dcl(IdlObject obj)
(63) Analyse une enumeration

type_dcl

public void type_dcl(IdlObject obj)
(27) Analyse la definition d'un nouveau type de donnee

except_dcl

public void except_dcl(IdlObject obj)
(71) Analyse la definition d'une exception

module_dcl

public void module_dcl(IdlObject obj)
(3) Analyse un module

final_type

public IdlObject final_type(IdlObject obj)
Returns the final definition of a data type
Parameters:
obj - the object
Returns:
the final definition

param_type_spec

public void param_type_spec(IdlObject obj)
(80) Analyse le type d'un parametre

attr_dcl

public void attr_dcl(IdlObject obj)
(70) Analyse la definition d'un attribut

op_type_spec

public void op_type_spec(IdlOp obj)
(74) Analyse le type de retour d'une operation

param_attribute

public void param_attribute(IdlParam obj)
(77) Analyse l'attribut d'un parametre

param_dcl

public void param_dcl(IdlOp obj)
(76) Analyse la definition d'un parametre d'une operation

parameter_dcls

public void parameter_dcls(IdlOp obj)
(75) Analyse les parametres d'une operation

raises_expr

public void raises_expr(IdlObject obj)
(78) Analyse l'expression "raises" d'une operation

context_expr

public void context_expr(IdlOp obj)
(79) Analyse l'expression "context" d'une operation

op_dcl

public void op_dcl(IdlObject obj)
(72) Analyse la definition d'une operation

export_dcl

public void export_dcl(IdlObject obj)
(9) Analyse les membres d'une interface

interface_body

public void interface_body(IdlInterface obj)
(8) Analyse le corps d'une interface

inheritance_spec

public void inheritance_spec(IdlInterface obj)
(10) Analyse les declarations d'heritages d'une interface

interface_dcl

public void interface_dcl(IdlInterface obj)
(5) Analyse la declaration d'une interface

forward_dcl

public void forward_dcl(IdlInterface obj)
(6) Analyse une definition forward d'une interface

interface_type

public void interface_type(IdlObject obj)
(4) Analyse la definition d'une interface

native_dcl

public void native_dcl(IdlObject obj)
Analyse la definition d'un type natif

value_forward_dcl

public void value_forward_dcl(IdlObject obj,
                              java.lang.String name,
                              boolean abstract_value)

value_box_dcl

public void value_box_dcl(IdlObject obj,
                          java.lang.String name)

value_inheritance

public void value_inheritance(IdlObject obj,
                              boolean custom,
                              boolean statefull)

value_inheritance_spec

public void value_inheritance_spec(IdlObject obj,
                                   boolean custom,
                                   boolean statefull)

value_abs_dcl

public void value_abs_dcl(IdlObject obj,
                          java.lang.String name)

state_member_dcl

public void state_member_dcl(IdlObject obj)

init_param_decls

public void init_param_decls(IdlObject obj)

init_dcl

public void init_dcl(IdlObject obj)

value_dcl

public void value_dcl(IdlObject obj,
                      java.lang.String name,
                      boolean custom)

full_value_dcl

public void full_value_dcl(IdlObject obj)

changeId

public void changeId(IdlObject current)
Change l'ID d'un objet CORBA

changeVersion

public void changeVersion(IdlObject current)
Change la version d'un ID d'un objet CORBA

changePrefix

public void changePrefix()
Change le prefixe des IDs des objets CORBA

checkPrefix

public boolean checkPrefix(java.lang.String pref)
Check the pragma prefix string. Any occurence of the ':' and the '/' character is illegal. From CORBA 2.4.2, 10.6.1 The second component is a list of identifiers, separated by '/' characters. These identifiers are arbitrarily long sequences of alphabetic, digit, underscore ('_'), hyphen ('-'), and period ('.') characters. Typically, the first identifier is a unique prefix, and the rest are the OMG IDL Identifiers that make up the scoped name of the definition. Added by Olivier Modica, 4/11/2001

echo

public void echo()
Change le prefixe des IDs des objets CORBA

changePackage

public void changePackage()
Change le prefixe des IDs des objets CORBA

addNativeMap

public void addNativeMap(IdlObject current)
Respond to #pragma javaNativeMap

pragma_dcl

public void pragma_dcl(IdlObject obj)
Analyse les clauses pragma

type_id_dcl

public void type_id_dcl(IdlObject obj)
Set a repository ID

type_prefix_dcl

public void type_prefix_dcl(IdlObject obj)
Set repository IDs prefix

idl_definition

public void idl_definition(IdlObject obj)
(1) Analyse une definition IDL ::= ';' | ';' | ';' | ';' | ';'

import_dcl

public void import_dcl(IdlObject obj)
Include external description

idl_specification

public void idl_specification(IdlObject obj)
Premiere regle de la grammaire
Parameters:
obj - objet a partir duquel la compilation s'effectue