MarpaX-Languages-PowerBuilder

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

      },
      "configure" : {
         "requires" : {
            "ExtUtils::MakeMaker" : "0"
         }
      },
      "runtime" : {
         "requires" : {
            "Data::Dumper" : "0",
            "Encode" : "0",
            "File::BOM" : "0",
            "File::Basename" : "0",
            "Marpa::R2" : "0",
            "constant" : "0",
            "perl" : "5.010000"
         }
      }
   },
   "release_status" : "stable",
   "version" : "0.01"
}

META.yml  view on Meta::CPAN

  url: http://module-build.sourceforge.net/META-spec-v1.4.html
  version: '1.4'
name: MarpaX-Languages-PowerBuilder
no_index:
  directory:
    - t
    - inc
requires:
  Data::Dumper: '0'
  Encode: '0'
  File::BOM: '0'
  File::Basename: '0'
  Marpa::R2: '0'
  constant: '0'
  perl: '5.010000'
version: '0.01'

Makefile.PL  view on Meta::CPAN

    MIN_PERL_VERSION => 5.10.0,
    CONFIGURE_REQUIRES => {
        'ExtUtils::MakeMaker' => 0,
    },
    BUILD_REQUIRES => {
        'Test::More' => 0,
    },
    PREREQ_PM => {
        'Marpa::R2' => 0,
        'File::Basename' => 0,
        'File::BOM' => 0,
        'Data::Dumper' => 0,        #may be removed
        #~ 'unref' => 0,               #https://github.com/xlat/unref.git
        'Encode' => 0,
        'constant' => 0,
    },
    dist  => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', },
    clean => { FILES => 'MarpaX-Languages-PowerBuilder-*' },
);

lib/MarpaX/Languages/PowerBuilder/base.pm  view on Meta::CPAN

package MarpaX::Languages::PowerBuilder::base;
use strict;
use warnings;
use File::BOM qw(open_bom);
use Encode qw(decode);
use File::Basename qw(dirname basename);
use Marpa::R2;
use Data::Dumper;

our $AUTO_DECODE = 1;	#used to auto decode input passed to the parse method

sub slurp{
	my $input = shift;
	local $/;
	open my $IN, '<:via(File::BOM)', $input;
	my $data = <$IN>;
	close $IN;
	$data;
}

sub new{
	my $class = shift;
	
	my $self = bless {}, $class;
		

lib/MarpaX/Languages/PowerBuilder/base.pm  view on Meta::CPAN

	return $self;
}

sub parse{
	my $self = shift;
	die "forget to call new() ?" unless ref($self) && $self->can('grammar');
    my $input = shift;
    my $opts  = shift;
    #3 ways to pass inputs: glob, file-name, full-string
    if(ref $input eq 'GLOB'){
		$input = File::BOM::decode_from_bom( do{ local $/=undef; <$input> } );
    }
    elsif($input!~/\n/ && -f $input){
        $input = slurp $input;
    }
	
	if($AUTO_DECODE and $input=~/^\s*HA\$/i){
		$input = $self->hexascii_decode( $input );
	}
    	
    my $recce = Marpa::R2::Scanless::R->new({ 



( run in 0.401 second using v1.01-cache-2.11-cpan-e9daa2b36ef )