view release on metacpan or search on metacpan
lib/CORBA/IDL/Lexer.pm view on Meta::CPAN
s/^(.[\w \t]*)//
and $parser->YYData->{curr_node}->{doc} .= $1,
$flag = 1,
last;
}
}
}
sub _CodeLexer {
my ($parser) = @_;
my $frag = q{};
while (1) {
$parser->YYData->{line}
or $parser->YYData->{line} = readline $parser->YYData->{fh}
or return;
for ($parser->YYData->{line}) {
s/^(\n)//
and $parser->YYData->{lineno} ++,
$frag .= $1,
last;
s/^%\}.*//
and return ('CODE_FRAGMENT', $frag);
s/^(.[^%\n]*)//
and $frag .= $1,
last;
}
}
}
sub _PragmaLexer { # 10.6.5 Pragma Directives for RepositoryId
my ($parser, $line) = @_;
for ($line) {
s/^ID[ \t]+([0-9A-Za-z_:]+)[ \t]+\"([^\s">]+)\"//
lib/CORBA/IDL/Lexer.pm view on Meta::CPAN
last;
s/^\/\*// # multiple line comment
and _CommentLexer($parser),
last;
s/^\/\/.*\n// # single line comment
and $parser->YYData->{lineno} ++,
$parser->YYData->{curr_node} = undef,
last;
s/^%\{// # code fragment
and return _CodeLexer($parser);
if ($parser->YYData->{prop}) {
s/^([A-Za-z][0-9A-Za-z_]*)//
and return ('PROP_KEY', $1);
s/^\(([^\)]+)\)//
and return ('PROP_VALUE', $1);
}
lib/CORBA/IDL/ParserXp.pm view on Meta::CPAN
'TYPEID' => 25,
'MODULE' => -394,
'STRUCT' => -394,
'CONST' => -394,
'ABSTRACT' => -394,
'DECLSPEC' => 29,
'TYPEPREFIX' => 31
},
GOTOS => {
'value_dcl' => 1,
'code_frag' => 2,
'value_box_dcl' => 3,
'definitions' => 18,
'module_header' => 20,
'definition' => 19,
'value_box_header' => 4,
'specification' => 22,
'declspec' => 5,
'except_dcl' => 6,
'value_header' => 7,
'interface' => 8,
lib/CORBA/IDL/ParserXp.pm view on Meta::CPAN
"}" => -7,
'IMPORT' => 21,
'IDENTIFIER' => 12,
'TYPEID' => 25,
'DECLSPEC' => 29,
'TYPEPREFIX' => 31
},
DEFAULT => -394,
GOTOS => {
'value_dcl' => 1,
'code_frag' => 2,
'value_box_dcl' => 3,
'definitions' => 111,
'definition' => 19,
'module_header' => 20,
'value_box_header' => 4,
'declspec' => 5,
'except_dcl' => 6,
'value_header' => 7,
'interface' => 8,
'type_dcl' => 9,
lib/CORBA/IDL/ParserXp.pm view on Meta::CPAN
{#State 26
ACTIONS => {
'IDENTIFIER' => 12,
'TYPEID' => 25,
'DECLSPEC' => 29,
'TYPEPREFIX' => 31
},
DEFAULT => -394,
GOTOS => {
'value_dcl' => 1,
'code_frag' => 2,
'value_box_dcl' => 3,
'definitions' => 124,
'definition' => 19,
'module_header' => 20,
'value_box_header' => 4,
'declspec' => 5,
'except_dcl' => 6,
'value_header' => 7,
'interface' => 8,
'type_dcl' => 9,
lib/CORBA/IDL/ParserXp.pm view on Meta::CPAN
'CONST' => -394,
'READONLY' => -394,
'DECLSPEC' => 29,
'FIXED' => -394,
'TYPEPREFIX' => 31,
'VALUEBASE' => -394
},
GOTOS => {
'op_header' => 188,
'init_header_param' => 189,
'code_frag' => 179,
'readonly_attr_spec' => 180,
'init_header' => 190,
'op_dcl' => 191,
'attr_dcl' => 192,
'declspec' => 181,
'except_dcl' => 182,
'state_member' => 194,
'export' => 183,
'type_dcl' => 184,
'value_elements' => 195,
lib/CORBA/IDL/ParserXp.pm view on Meta::CPAN
'READONLY' => -394,
'DECLSPEC' => 29,
'FIXED' => -394,
'TYPEPREFIX' => 31,
'VALUEBASE' => -394
},
GOTOS => {
'op_header' => 188,
'interface_body' => 202,
'init_header_param' => 189,
'code_frag' => 179,
'readonly_attr_spec' => 180,
'init_header' => 190,
'op_dcl' => 191,
'exports' => 203,
'attr_dcl' => 192,
'declspec' => 181,
'except_dcl' => 182,
'state_member' => 205,
'type_dcl' => 184,
'export' => 200,
lib/CORBA/IDL/ParserXp.pm view on Meta::CPAN
'CONST' => -394,
'READONLY' => -394,
'DECLSPEC' => 29,
'FIXED' => -394,
'TYPEPREFIX' => 31,
'VALUEBASE' => -394
},
GOTOS => {
'op_header' => 188,
'init_header_param' => 189,
'code_frag' => 179,
'readonly_attr_spec' => 180,
'init_header' => 190,
'op_dcl' => 191,
'exports' => 209,
'attr_dcl' => 192,
'declspec' => 181,
'except_dcl' => 182,
'state_member' => 205,
'type_dcl' => 184,
'export' => 200,
lib/CORBA/IDL/ParserXp.pm view on Meta::CPAN
{#State 112
ACTIONS => {
'IDENTIFIER' => 12,
'TYPEID' => 25,
'DECLSPEC' => 29,
'TYPEPREFIX' => 31
},
DEFAULT => -394,
GOTOS => {
'value_dcl' => 1,
'code_frag' => 2,
'value_box_dcl' => 3,
'definitions' => 217,
'definition' => 19,
'module_header' => 20,
'value_box_header' => 4,
'declspec' => 5,
'except_dcl' => 6,
'value_header' => 7,
'interface' => 8,
'type_dcl' => 9,
lib/CORBA/IDL/ParserXp.pm view on Meta::CPAN
'TYPEID' => 25,
'MODULE' => -394,
'STRUCT' => -394,
'CONST' => -394,
'ABSTRACT' => -394,
'DECLSPEC' => 29,
'TYPEPREFIX' => 31
},
GOTOS => {
'value_dcl' => 1,
'code_frag' => 2,
'value_box_dcl' => 3,
'definitions' => 220,
'definition' => 19,
'module_header' => 20,
'value_box_header' => 4,
'declspec' => 5,
'except_dcl' => 6,
'value_header' => 7,
'interface' => 8,
'type_dcl' => 9,
lib/CORBA/IDL/ParserXp.pm view on Meta::CPAN
ACTIONS => {
"}" => -82,
'TYPEID' => 25,
'DECLSPEC' => 29,
'TYPEPREFIX' => 31
},
DEFAULT => -394,
GOTOS => {
'op_header' => 188,
'init_header_param' => 189,
'code_frag' => 179,
'readonly_attr_spec' => 180,
'init_header' => 190,
'op_dcl' => 191,
'attr_dcl' => 192,
'declspec' => 181,
'except_dcl' => 182,
'state_member' => 194,
'export' => 183,
'type_dcl' => 184,
'value_elements' => 302,
lib/CORBA/IDL/ParserXp.pm view on Meta::CPAN
ACTIONS => {
"}" => -41,
'TYPEID' => 25,
'DECLSPEC' => 29,
'TYPEPREFIX' => 31
},
DEFAULT => -394,
GOTOS => {
'op_header' => 188,
'init_header_param' => 189,
'code_frag' => 179,
'readonly_attr_spec' => 180,
'init_header' => 190,
'op_dcl' => 191,
'exports' => 317,
'attr_dcl' => 192,
'declspec' => 181,
'except_dcl' => 182,
'state_member' => 205,
'type_dcl' => 184,
'export' => 200,
lib/CORBA/IDL/ParserXp.pm view on Meta::CPAN
[#Rule 392
'exception_list', 3,
sub
#line 2464 "ParserXp.yp"
{
$_[0]->Error("name expected.\n");
$_[0]->YYErrok();
}
],
[#Rule 393
'code_frag', 2,
sub
#line 2474 "ParserXp.yp"
{
new CORBA::IDL::CodeFragment($_[0],
'declspec' => $_[1],
'value' => $_[2],
);
}
],
[#Rule 394
lib/CORBA/IDL/ParserXp.yp view on Meta::CPAN
| interface check_semicolon
#default action
| module check_semicolon
#default action
| value check_semicolon
#default action
| type_id_dcl check_semicolon
#default action
| type_prefix_dcl check_semicolon
#default action
| code_frag
#default action
| IDENTIFIER error ';'
{
# when IDENTIFIER is a future keyword
$_[0]->Error("'$_[1]' unexpected.\n");
$_[0]->YYErrok();
new CORBA::IDL::Node($_[0],
'idf' => $_[1]
);
}
lib/CORBA/IDL/ParserXp.yp view on Meta::CPAN
| except_dcl check_semicolon
#default action
| attr_dcl check_semicolon
#default action
| op_dcl check_semicolon
#default action
| type_id_dcl check_semicolon
#default action
| type_prefix_dcl check_semicolon
#default action
| code_frag
#default action
;
/* 10 */ /* 3.8.5 Interface Inheritance */
interface_inheritance_spec
: ':' interface_names
{
new CORBA::IDL::InheritanceSpec($_[0],
'list_interface' => $_[2]
);
lib/CORBA/IDL/ParserXp.yp view on Meta::CPAN
}
| '(' error ')'
{
$_[0]->Error("name expected.\n");
$_[0]->YYErrok();
}
;
/* XPIDL */
code_frag
: declspec CODE_FRAGMENT
{
new CORBA::IDL::CodeFragment($_[0],
'declspec' => $_[1],
'value' => $_[2],
);
}
;
declspec