| /* |
| * Copyright (c) 1999, 2009, Oracle and/or its affiliates. All rights reserved. |
| * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
| * |
| * This code is free software; you can redistribute it and/or modify it |
| * under the terms of the GNU General Public License version 2 only, as |
| * published by the Free Software Foundation. Oracle designates this |
| * particular file as subject to the "Classpath" exception as provided |
| * by Oracle in the LICENSE file that accompanied this code. |
| * |
| * This code is distributed in the hope that it will be useful, but WITHOUT |
| * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
| * version 2 for more details (a copy is included in the LICENSE file that |
| * accompanied this code). |
| * |
| * You should have received a copy of the GNU General Public License version |
| * 2 along with this work; if not, write to the Free Software Foundation, |
| * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
| * |
| * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
| * or visit www.oracle.com if you need additional information or have any |
| * questions. |
| */ |
| |
| /* |
| * COMPONENT_NAME: idl.parser |
| * |
| * ORIGINS: 27 |
| * |
| * 5639-D57, (C) COPYRIGHT International Business Machines Corp., 1997, 1998 |
| * |
| */ |
| |
| CORBA IDL |
| --------------- |
| |
| <specification> typedef, struct, union, enum, const, exception, interface, module |
| |
| <specification'> <FOLLOW>, typedef, struct, union, enum, const, exception, interface, module |
| |
| <definition> typedef, struct, union, enum, const, exception, interface, module |
| |
| <module> module |
| |
| <module'> typedef, struct, union, enum, const, exception, interface, module |
| |
| <module''> typedef, struct, union, enum, const, exception, interface, module, <FOLLOW> |
| |
| <interface> interface |
| |
| <interface'> <FOLLOW>, :, { |
| |
| <interface_dcl> :, { |
| |
| <interface_body> typedef, struct, union, enum, const, exception, readonly, attribute, oneway, float, double, long, short, unsigned, char, boolean, octet, any, string, id, ::, void, state |
| |
| <interface_body'> <FOLLOW>, typedef, struct, union, enum, const, exception, readonly, attribute, oneway, float, double, long, short, unsigned, char, boolean, octet, any, string, id, ::, void, state |
| |
| <export> typedef, struct, union, enum, const, exception, readonly, attribute, oneway, float, double, long, short, unsigned, char, boolean, octet, any, string, id, ::, void, state |
| |
| <state_def> state |
| |
| <state_def'> private, protected, public, float, double, long, short, unsigned, char, boolean, octet, any, sequence, string, id, ::, struct, union, enum, <FOLLOW> |
| |
| <state_member> private, protected, public, float, double, long, short, unsigned, char, boolean, octet, any, sequence, string, id, ::, struct, union, enum |
| |
| <state_modifier> private, protected, public |
| |
| <inheritance_spec> : |
| |
| <inheritance_spec'> <FOLLOW>, "," |
| |
| <scoped_name> id, :: |
| |
| <scoped_name'> <FOLLOW>, :: |
| |
| <const_dcl> const |
| |
| <const_type> long, short, unsigned, char, boolean, float, double, string, id, :: |
| |
| <const_exp> -, +, ~, id, ::, literal, ( |
| |
| <or_expr> -, +, ~, id, ::, literal, ( |
| |
| <or_expr'> <FOLLOW>, | |
| |
| <xor_expr> -, +, ~, id, ::, literal, ( |
| |
| <xor_expr'> <FOLLOW>, ^ |
| |
| <and_expr> -, +, ~, id, ::, literal, ( |
| |
| <and_expr'> <FOLLOW>, & |
| |
| <shift_expr> -, +, ~, id, ::, literal, ( |
| |
| <shift_expr'> <FOLLOW>, >>, << |
| |
| <add_expr> -, +, ~, id, ::, literal, ( |
| |
| <add_expr'> <FOLLOW>, +, - |
| |
| <mult_expr> -, +, ~, id, ::, literal, ( |
| |
| <mult_expr'> <FOLLOW>, *, /, % |
| |
| <unary_expr> -, +, ~, id, ::, literal, ( |
| |
| <unary_operator> -, +, ~ |
| |
| <primary_expr> id, ::, literal, ( |
| |
| <literal> literals |
| |
| <positive_int_const> -, +, ~, id, ::, literal, ( |
| |
| <type_dcl> typedef, struct, union, enum |
| |
| <type_declarator> float, double, long, short, unsigned, char, boolean, octet, any, sequence, string, id, ::, struct, union, enum |
| |
| <type_spec> float, double, long, short, unsigned, char, boolean, octet, any, sequence, string, id, ::, struct, union, enum |
| |
| <simple_type_spec> float, double, long, short, unsigned, char, boolean, octet, any, sequence, string, id, :: |
| |
| <base_type_spec> float, double, long, short, unsigned, char, boolean, octet, any |
| |
| <template_type_spec> sequence, string |
| |
| <constr_type_spec> struct, union, enum |
| |
| <declarators> id |
| |
| <declarators'> <FOLLOW>, "," |
| |
| <declarator> id |
| |
| <declarator'> <FOLLOW>, [ |
| |
| <floating_pt_type> float, double |
| |
| <integer_type> long, short, unsigned |
| |
| <signed_int> long, short |
| |
| <unsigned_int> unsigned |
| |
| <char_type> char |
| |
| <boolean_type> boolean |
| |
| <octet_type> octet |
| |
| <any_type> any |
| |
| <struct_type> struct |
| |
| <member_list> float, double, long, short, unsigned, char, boolean, octet, any, sequence, string, id, ::, struct, union, enum |
| |
| <member_list'> <FOLLOW>, float, double, long, short, unsigned, char, boolean, octet, any, sequence, string, id, ::, struct, union, enum |
| |
| <member> float, double, long, short, unsigned, char, boolean, octet, any, sequence, string, id, ::, struct, union, enum |
| |
| <union_type> union |
| |
| <switch_type_spec> long, short, unsigned, char, boolean, enum, id, :: |
| |
| <switch_body> case, default |
| |
| <switch_body'> <FOLLOW>, case, default |
| |
| <case> case, default |
| |
| <case'> <FOLLOW>, case, default |
| |
| <case_label> case, default |
| |
| <element_spec> float, double, long, short, unsigned, char, boolean, octet, any, sequence, string, id, ::, struct, union, enum |
| |
| <enum_type> enum |
| |
| <enum_type'> <FOLLOW>, "," |
| |
| <sequence_type> sequence |
| |
| <sequence_type'> ",", > |
| |
| <string_type> string |
| |
| <string_type'> <FOLLOW>, < |
| |
| <fixed_array_size> [ |
| |
| <attr_dcl> readonly, attribute |
| |
| <attr_dcl'> <FOLLOW>, "," |
| |
| <except_dcl> exception |
| |
| <except_dcl'> <FOLLOW>, float, double, long, short, unsigned, char, boolean, octet, any, sequence, string, id, ::, struct, union, enum |
| |
| <op_dcl> oneway, float, double, long, short, unsigned, char, boolean, octet, any, string, id, ::, void |
| |
| <op_dcl'> id, macroID |
| |
| <op_dcl''> <FOLLOW>, raises, context, ; |
| |
| <op_dcl'''> <FOLLOW>, context |
| |
| <op_attribute> oneway |
| |
| <op_type_spec> float, double, long, short, unsigned, char, boolean, octet, any, string, id, ::, void |
| |
| <parameter_dcls> ( |
| |
| <parameter_dcls'> in, out, inout, ) |
| |
| <parameter_dcls''> <FOLLOW>, "," |
| |
| <param_dcl> in, out, inout |
| |
| <param_attribute> in, out, inout |
| |
| <raises_expr> raises |
| |
| <raises_expr'> <FOLLOW>, "," |
| |
| <context_expr> context |
| |
| <context_expr'> <FOLLOW>, "," |
| |
| <param_type_spec> float, double, long, short, unsigned, char, boolean, octet, any, string, id, :: |
| |