Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

import version 2.04 from backpan

  • Loading branch information...
commit b8b7c310637091894b136887dcdfa80e146a981d 1 parent b8b240a
@fperrad authored
Showing with 33 additions and 11 deletions.
  1. +4 −0 Changes
  2. +7 −4 lexer.pm
  3. +22 −7 node.pm
View
4 Changes
@@ -1,5 +1,9 @@
Revision history for Perl extension CORBA::IDL.
+2.04 Mon Sep 22 12:30:00 2003
+ - support cpp GCC 3.2.3
+ - bug : value inheritance
+
2.03 Mon Aug 11 12:30:00 2003
- add extra rules in grammar
View
11 lexer.pm
@@ -1,5 +1,5 @@
#
-# Interface Definition Language (OMG IDL CORBA v2.4)
+# Interface Definition Language (OMG IDL CORBA v3.0)
#
# Lexer module
#
@@ -364,20 +364,23 @@ sub _Lexer {
}
for ($parser->YYData->{INPUT}) {
- s/^#\s+([\d]+)\s+["<]([^\s">]+)[">]\s+([\d]+)\s*\n// # cccp
+ s/^#\s+[\d]+\s+"<[^>]+>"\s*\n// # cpp 3.2.3 ("<build-in>", "<command line>")
+ and last;
+
+ s/^#\s+([\d]+)\s+["<]([^\s">]+)[">]\s+([\d]+)\s*\n// # cpp
and $parser->YYData->{lineno} = $1,
$parser->YYData->{filename} = $2,
$parser->YYData->{doc} = '',
$parser->YYData->{curr_node} = undef,
last;
- s/^#\s+([\d]+)\s+["<]([^\s">]+)[">]\s*\n// # cccp
+ s/^#\s+([\d]+)\s+["<]([^\s">]+)[">]\s*\n// # cpp
and $parser->YYData->{lineno} = $1,
$parser->YYData->{filename} = $2,
$parser->YYData->{doc} = '',
$parser->YYData->{curr_node} = undef,
last;
- s/^#\s*line\s+([\d]+)\s+["<]([^\s">]+)[">]\s*\n// # CL.EXE Microsoft VC
+ s/^#\s*line\s+([\d]+)\s+["<]([^\s">]+)[">]\s*\n// # CL.EXE Microsoft VC
and $parser->YYData->{lineno} = $1,
$parser->YYData->{filename} = $2,
$parser->YYData->{doc} = '',
View
29 node.pm
@@ -7,7 +7,7 @@ use UNIVERSAL;
package node;
use vars qw($VERSION);
-$VERSION = '2.03';
+$VERSION = '2.04';
sub _Build {
my $proto = shift;
@@ -516,6 +516,21 @@ sub _CheckInheritance {
}
}
+#sub Configure {
+# my $self = shift;
+# my $parser = shift;
+# $self->SUPER::Configure($parser,@_);
+# my @list;
+# foreach my $value_element (@{$self->{list_decl}}) {
+# next unless (ref $value_element eq 'StateMembers');
+# foreach (@{$value_element->{list_decl}}) {
+# push @list, $_;
+# }
+# }
+# $self->configure(list_value => \@list); # list of 'StateMember'
+# return $self;
+#}
+
sub _CheckLocal {
# A local type may be used as a parameter, attribute, return type, or exception
# declaration of a local interface or of a valuetype.
@@ -577,7 +592,7 @@ sub _Init {
my ($parser) = @_;
$parser->YYData->{symbtab}->Insert($self);
if (defined $parser->YYData->{curr_itf}) {
- $parser->YYData->{curr_itf}->{hash_attribute_operation}{$self->{idf}} = $self;
+ $parser->YYData->{curr_itf}->{hash_attribute_operation}{$self->{idf}} = $self->{full}
} else {
$parser->Error(__PACKAGE__ . "::new ERROR_INTERNAL.\n");
}
@@ -603,7 +618,7 @@ sub _Init {
$parser->YYData->{unnamed_symbtab} = new UnnamedSymbtab($parser);
if (defined $parser->YYData->{curr_itf}) {
$self->{itf} = $parser->YYData->{curr_itf}->{full};
- $parser->YYData->{curr_itf}->{hash_attribute_operation}{$self->{idf}} = $self;
+ $parser->YYData->{curr_itf}->{hash_attribute_operation}{$self->{idf}} = $self->{full}
} else {
$parser->Error(__PACKAGE__ . "::new ERROR_INTERNAL.\n");
}
@@ -1218,7 +1233,7 @@ sub visit {
if($visitor->can($func)) {
$visitor->$func($self,@_);
} else {
- $visitor->visitLiteral($self);
+ $visitor->visitLiteral($self,@_);
}
}
@@ -1428,7 +1443,7 @@ sub visit {
if($visitor->can($func)) {
$visitor->$func($self,@_);
} else {
- $visitor->visitBasicType($self);
+ $visitor->visitBasicType($self,@_);
}
}
@@ -2280,7 +2295,7 @@ sub _Init {
$parser->YYData->{unnamed_symbtab} = new UnnamedSymbtab($parser);
if (defined $parser->YYData->{curr_itf}) {
$self->{itf} = $parser->YYData->{curr_itf}->{full};
- $parser->YYData->{curr_itf}->{hash_attribute_operation}{$self->{idf}} = $self;
+ $parser->YYData->{curr_itf}->{hash_attribute_operation}{$self->{idf}} = $self->{full}
} else {
$parser->Error(__PACKAGE__ . "::new ERROR_INTERNAL.\n");
}
@@ -2318,7 +2333,7 @@ sub _Init {
$parser->YYData->{unnamed_symbtab} = new UnnamedSymbtab($parser);
if (defined $parser->YYData->{curr_itf}) {
$self->{itf} = $parser->YYData->{curr_itf}->{full};
- $parser->YYData->{curr_itf}->{hash_attribute_operation}{$self->{idf}} = $self;
+ $parser->YYData->{curr_itf}->{hash_attribute_operation}{$self->{idf}} = $self->{full}
} else {
$parser->Error(__PACKAGE__,"::new ERROR_INTERNAL.\n");
}
Please sign in to comment.
Something went wrong with that request. Please try again.