aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ic/src/icparse.yrl
diff options
context:
space:
mode:
authorErlang/OTP <[email protected]>2010-12-16 14:34:26 +0100
committerErlang/OTP <[email protected]>2010-12-16 14:34:26 +0100
commit73205a499c16781ecd064ec2446d502b3c0d01b6 (patch)
tree260a1805f06a1ecef92d03d29853dbddb0bbd803 /lib/ic/src/icparse.yrl
parent99e34bba1a60b262e24496cc9288b549360c6377 (diff)
parent98a66242abe688d852ec46f4298a364fc0124995 (diff)
downloadotp-73205a499c16781ecd064ec2446d502b3c0d01b6.tar.gz
otp-73205a499c16781ecd064ec2446d502b3c0d01b6.tar.bz2
otp-73205a499c16781ecd064ec2446d502b3c0d01b6.zip
Merge branch 'nick/orber/recursive_types/OTP-8868' into maint-r14
* nick/orber/recursive_types/OTP-8868: Support for recursive unions and structs. Break loop if recursive TypeCode. Added basic tests for recursive uinions and structs. Removed test code. Added partial support for recursive IDL types. Conflicts: lib/ic/doc/src/notes.xml lib/ic/vsn.mk lib/orber/vsn.mk
Diffstat (limited to 'lib/ic/src/icparse.yrl')
-rw-r--r--lib/ic/src/icparse.yrl22
1 files changed, 13 insertions, 9 deletions
diff --git a/lib/ic/src/icparse.yrl b/lib/ic/src/icparse.yrl
index 25b0f452e7..d0dd6cde4c 100644
--- a/lib/ic/src/icparse.yrl
+++ b/lib/ic/src/icparse.yrl
@@ -1,21 +1,20 @@
-%%<copyright>
-%% <year>1997-2007</year>
-%% <holder>Ericsson AB, All Rights Reserved</holder>
-%%</copyright>
-%%<legalnotice>
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
-%% The Initial Developer of the Original Code is Ericsson AB.
-%%</legalnotice>
+%%
+%% %CopyrightEnd%
%%
%%------------------------------------------------------------
%% Yecc spec for IDL
@@ -150,6 +149,7 @@ Nonterminals
'ZorM_<integer_literal>'
'<fixed_pt_type>'
'<fixed_pt_const_type>'
+ '<constr_forward_decl>'
.
@@ -473,6 +473,7 @@ OE_preproc -> '#' '<integer_literal>' '<string_literal>'
'<type_dcl>' -> '<struct_type>' : '$1' .
'<type_dcl>' -> '<union_type>' : '$1' .
'<type_dcl>' -> '<enum_type>' : '$1' .
+'<type_dcl>' -> '<constr_forward_decl>' : '$1' .
%% (28) NIY multiple declarators (FIXED)
'<type_declarator>' -> '<type_spec>' '<declarators>'
@@ -832,6 +833,9 @@ OE_preproc -> '#' '<integer_literal>' '<string_literal>'
'<fixed_pt_type>' -> 'fixed' '<' '<positive_int_const>' ',' '<positive_int_const>' '>'
: #fixed{digits='$3',scale='$5'} .
+%% (99)
+'<constr_forward_decl>' -> 'struct' '<identifier>' : #constr_forward{id='$2', tk=tk_struct} .
+'<constr_forward_decl>' -> 'union' '<identifier>' : #constr_forward{id='$2', tk=tk_union} .
%% Added clause
'ZorM_<string_literal>' -> '$empty' : [] .