Rc

 view release on metacpan or  search on metacpan

lib/Rc/Csh.pm  view on Meta::CPAN

use strict;
package Rc::Csh;  #sea shell backend
use Carp;
use Rc qw($OutputFH);
use vars qw($level %Local $Backq);
$level = 0;

sub HELP { die "Will a 'csh' expert please step forward?" }

sub indent(&) { local $level = $level + 1; shift->() }
sub nl() { "\n" . ' 'x($level*4) }

sub Rc::Node::csh {
    print $OutputFH shift->chp(). "\n";
}

sub Rc::Node::chp {
    my $n=shift;
    die ref($n)." not implemented yet for 'csh'";
}

lib/Rc/Deparse.pm  view on Meta::CPAN

use strict;
package Rc::Deparse;
use Rc qw($OutputFH);
use vars qw($level);
$level = 0;

# This is a perl implementation of footobar.c!

sub indent(&) { local $level = $level + 1; shift->() }

sub nl() { "\n" . ' 'x($level*4) }

sub Rc::Node::deparse {
    print $OutputFH shift->dp()."\n";
}

sub Rc::Undef::dp { '()' }

sub Rc::Word::dp { shift->string }

lib/Rc/Sh.pm  view on Meta::CPAN

use strict;
package Rc::Sh;  #bourne shell backend
use Carp;
use Rc qw($OutputFH);
use vars qw($level %Local $Backq);
$level = 0;
%Local = (IFS => 1);

sub HELP { die "Will an 'sh' expert please step forward?" }

sub indent(&) { local $level = $level + 1; shift->() }
sub nl() { "\n" . ' 'x($level*4) }

sub Rc::Node::sh {
    print $OutputFH shift->shp(). "\n";
}

sub Rc::Node::shp {
    my $n=shift;
    die ref($n)." not implemented yet for 'sh'";
}

lib/Rc/Terse.pm  view on Meta::CPAN

use Carp;
use vars qw($level);

$level = 0;

sub Rc::Node::terse {
    my $n = shift;
    print $OutputFH $n->terse_str()."\n";
}

sub indent(&) {
    local $level = $level + 1;
    shift->();
}

sub nl() { "\n" . ' 'x$level }

sub Rc::Undef::terse_str { '()' }

sub Rc::WordX::terse_str {
    my $n = shift;



( run in 0.416 second using v1.01-cache-2.11-cpan-49f99fa48dc )