/* * 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 * */ (1) // CORBA3 (1) e // CORBA3 // CORBA3 (1) "import" ";" // CORBA3 (1) // CORBA3 // CORBA3 (1) e (2) ";" ";" ";" ";" ";" ";" ";" // CORBA3 ";" // CORBA3 ";" // CORBA3 ";" // CORBA3 (2) "typeId" // CORBA3 (2) "typePrefix" // CORBA3 (3) "module" "{" "}" (3) (3) e (4) (5) "{" "}" (6) "abstract" "interface" "local" "interface" // CORBA3 "interface" (7) "abstract" "interface" "local" "interface" // CORBA3 "interface" (7) e (8) (8) e (9) ";" ";" ";" ";" ";" ";" // CORBA3 ";" // CORBA3 (10) ":" (10) e "," (12) "::" (12) e "::" (13) (14) "abstract" "valuetype" "valuetype" (15) "valuetype" (16) "abstract" "valuetype" "{" "}" "abstract" "valuetype" "{" "}" (16) e (17) "{" "}" (17) e (18) "custom" "valuetype" "valuetype" "custom" "valuetype" "valuetype" (19) (19) e ":" "truncatable" ":" (19) e "," (19) e "supports" (19) e "," (20) (21) (22) "public" ";" "private" ";" (23) "factory" "(" ")" "factory" "(" ")" (24) "," (25) (26) "in" (27) "const" "=" (28) (29) (30) (30) e "|" (31) (31) e "^" (32) (32) e "&" (33) (33) e ">>" "<<" (34) (34) e "+" "-" (35) (35) e "*" "/" "%" (36) (37) "-" "+" "~" (38) "(" ")" (39) <> <>> <>> <> <> <> <> <> (40) "TRUE" "FALSE" (41) (42) "typedef" "native" (43) (44) (45) (46) (47) (48) (49) (49) e "," (50) (51) (52) (53) "float" "double" "long" "double" (54) (55) "long" "short" "long" "long" // 56-58 omitted (59) "unsigned" // 60-62 omitted (63) "char" (64) "wchar" (65) "boolean" (66) "octet" (67) "any" (68) "Object" (69) "struct" "{" "}" (70) (70) e (71) ";" (72) "union" "switch" "(" ")" "{" "}" (73) (74) (74) e (75) ";" (75) e (76) "case" ":" "default" ":" (77) (78) "enum" "{" "}" (78) e "," // 79 omitted (80) "sequence" "<" (80) "," ">" ">" (81) "string" "string" "<" ">" (82) "wstring" "wstring" "<" ">" (83) (84) "[" "]" (85) // CORBA3 // CORBA3 (85) // CORBA3 (85) "readonly" "attribute" // CORBA3 (85) // CORBA3 // CORBA3 (85) e // CORBA3 // CORBA3 (85) "attribute" // CORBA3 (85) // CORBA3 // CORBA3 (85) // CORBA3 // CORBA3 // CORBA3 (85) "getRaises" // CORBA3 (85) "setRaises" // CORBA3 (85) "(" ")" // CORBA3 (85) e // CORBA3 "," // CORBA3 (86) "exception" "{" "}" (86) e (87) (87) (87) e (88) "oneway" (89) "void" (90) "(" (90) ")" ")" (90) e "," (91) (92) "in" "out" "inout" (93) "raises" "(" ")" (93) e "," (94) "context" "(" ")" (94) e "," (95) (96) "fixed" "<" "," ">" (97) "fixed" (98) "ValueBase" // CORBA3 Component and Home IDL (200) (201) "component" (202) "{" "}" (203) "component" "component" "component" "component" (204) "supports" (204) e "," (205) ":" (206) (206) e (207) ";" ";" ";" ";" ";" ";" (208) "provides" (209) "Object" (210) "uses" "uses" "multiple" (211) "emits" (212) "publishes" (213) "consumes" (214) (215) "home" "manages" "home" "manages" "home" "manages" "home" "manages" (216) ":" (217) "primaryKey" (218) "{" "}" (218) e (219) ";" ";" (220) "factory" "(" ")" "factory" "(" ")" "factory" "(" ")" "factory" "(" ")" (221) "finder" "(" ")" "finder" "(" ")" "finder" "(" ")" "finder" "(" ")" NOTES: - #define id(id, id, ...) token-string is a macro definition. There can be no space between the first id and the left paren. Since id( must be treated as a token and id( can also appear in op_dcl, see that production for the effect of this token.