Lingua-Romana-Perligata

 view release on metacpan or  search on metacpan

lib/Lingua/Romana/Perligata.pm  view on Meta::CPAN


multibless %funcs_t, 'Function', 'SUBNAME_D';
addres %funcs_t, 'Function', 'SUBNAME_D';


# THE FOLLOWING ARE LVALUABLE, SO ARG MUST AGREE IN CASE WITH FUNCTION'S CASE...

for (qw( reperi nomina )) {
    $funcs_t{"${_}mentum"}{lex} = 'SUBNAME_A_ACCUSATIVE';
}

my %funcs_d =
(
    'admeta'    => { perl => 'Lingua::Romana::Perligata::__lastelem__' },
    'inque'     => { perl => 'Lingua::Romana::Perligata::__enquote__' },
    'conscribe' => { perl => 'Lingua::Romana::Perligata::__enlist__' },
    'come'      => { perl => 'Lingua::Romana::Perligata::__beautify__' },
    'priva'     => { perl => 'abs' },
    'angula'    => { perl => 'atan2' },
    'oppone'    => { perl => 'sin' },
    'accuba'    => { perl => 'cos' },
    'decolla'   => { perl => 'int' },
    'succide'   => { perl => 'log' },
    'fode'      => { perl => 'sqrt' },
    'conice'    => { perl => 'rand' },
    'prosemina' => { perl => 'srand' },
    'inde'      => { perl => 'chr' },
    'senidemi'  => { perl => 'hex' },
    'octoni'    => { perl => 'oct' },
    'numera'    => { perl => 'ord' },
    'deminue'   => { perl => 'lc' },
    'minue'     => { perl => 'lcfirst' },
    'amplifica' => { perl => 'uc' },
    'amplia'    => { perl => 'ucfirst' },
    'excipe'    => { perl => 'quotemeta' },
    'huma'      => { perl => 'crypt' },
    'meta'      => { perl => 'length' },
    'convasa'   => { perl => 'pack' },
    'deconvasa' => { perl => 'unpack' },
    'scinde'    => { perl => 'split' },
    'scruta'    => { perl => 'index' },
    'coniunge'  => { perl => 'join' },
    'confirma'  => { perl => 'defined' },
    'secerna'   => { perl => 'scalar' },
    'argue'     => { perl => 'values' },
    'extremus'  => { perl => 'eof' },
    'deside'    => { perl => 'wantarray' },
    'aestima'   => { perl => 'eval' },
    'exi'       => { perl => 'exit' },
    'redde'     => { perl => 'return' },
    'mori'      => { perl => 'die' },
    'mone'      => { perl => 'warn' },
    'coaxa'     => { perl => 'Carp::croak' },
    'carpe'     => { perl => 'Carp::carp' },
    'memora'    => { perl => 'caller' },
    'agnosce'   => { perl => 'ref' },
    'exhibere'  => { perl => 'tied' },
    'require'   => { perl => 'require' },
    'demigrare' => { perl => 'chdir' },
    'permitte'  => { perl => 'chmod' },
    'vende'     => { perl => 'chown' },
    'inveni'    => { perl => 'glob' },
    'copula'    => { perl => 'link' },
    'decopula'  => { perl => 'unlink' },
    'aedifica'  => { perl => 'mkdir' },
    'renomina'  => { perl => 'rename' },
    'excide'    => { perl => 'rmdir' },
    'exprime'   => { perl => 'stat' },
    'terre'     => { perl => 'alarm' },
    'mitte'     => { perl => 'dump' },
    'commuta'   => { perl => 'exec' },
    'furca'     => { perl => 'fork' },
    'interfice' => { perl => 'kill' },
    'dormi'     => { perl => 'sleep' },
    'obsecra'   => { perl => 'system' },
    'dissimula' => { perl => 'umask' },
    'manta'     => { perl => 'wait' },

    'inscribe'  => { perl => ':' }, # SPECIAL: SEE BELOW
    'arcesse'   => { perl => '${' },    # SPECIAL: SEE BELOW

    'sere'      => { perl => 'Lingua::Romana::Perligata::__encatenate__' },
);

multibless %funcs_d, 'Function', 'SUBNAME_A';
addres %funcs_d, 'Function', 'SUBNAME_A';

# 'inscribe' IS SPECIAL: ONLY IMPERATIVE

delete @funcs_d{grep /^inscribement/, keys %funcs_d};

# 'arcesse' IS SPECIAL: NO IMPERATIVE AND EXTRA (PSEUDO-)RESULTATIVES

delete $funcs_d{'arcesse'};

# SCALAR AS NON-TERMINAL INDEX

$funcs_d{'arcessementi'} = { %{$funcs_d{'arcessementum'}},
                 lex => 'SUBNAME_A_GENITIVE' };

# ARRAY DEREFERENCE

$funcs_d{'arcessementa'}{perl}  = '@{';
$funcs_d{'arcessementis'}{perl} = '@{';
$funcs_d{'arcessementorum'} = { %{$funcs_d{'arcessementa'}},
                lex => 'SUBNAME_A_GENITIVE' };

$funcs_d{'arcessementus'}   = { %{$funcs_d{'arcessementa'}}, perl => '%{' };
$funcs_d{'arcessementibus'} = { %{$funcs_d{'arcessementis'}}, perl => '%{' };
$funcs_d{'arcessementuum'}  = { %{$funcs_d{'arcessementus'}},
                 lex => 'SUBNAME_A_GENITIVE'};


my %funcs_dl =
(
    'adi'        => { perl => 'goto' },
    'confectus'  => { perl => 'continue' },
    'domus'      => { perl => 'package' },
    'legatarius' => { perl => 'use base' },
    'ute'        => { perl => 'use' },
);

lib/Lingua/Romana/Perligata.pm  view on Meta::CPAN

        sprintf      rescribe     "rewrite"
        write        subscribe    "write under"
        pipe         inriga       "irrigate"
        tell         enunta       "tell"
        seek         conquire     "to seek out"
        ARGV         parametro    "(from) a parameter"
        DATA         nuntio       "(from) the information"
        STDIN        vestibulo    "(from) the entrance"
        STDOUT       egresso      "(to) the exit"
        STDERR       oraculo      "(to) the place where doom is pronounced"


=head2 Control structures

        {...}        sic...cis                "as follows...to here"
        do           fac                      "do"
        sub {...}    factorem sic...cis       "one who does ...
        eval         aestima                  "evaluate"
        exit         exi                      "exit"
        for          per...in...fac           "for...in...do"
        foreach      per quisque...in...fac   "for each...in...do"
        goto         adi                      "go to"
        <label>:     inscribe <label>         "make a mark"
        return       redde                    "return"
        if           si...fac                 "if"
        unless       nisi...fac               "if not"
        until        donec...fac              "until"
        while        dum...fac                "while"
        wantarray    deside                   "want"
        last         ultimus                  "final"
        next         posterus                 "following"
        redo         reconatus                "trying again"
        continue     confectus                "complete"
        die          mori                     "die"
        warn         mone                     "warn"
        croak        coaxa                    "croak (like a frog)"
        carp         carpe                    "carp at"
        __DATA__     nuntius                  "information"
        __END__      finis                    "a boundary"


=head2 Packages, classes, and modules

        ->           apud         "of the house of"
        ::           intra        "within"
        bless        benedice     "bless"
        caller       memora       "recount a history"
        package      domus        "house of"
        ref          agnosce      "identify"
        tie          liga         "tie"
        tied         exhibe       "display something"
        untie        solve        "to untie"
        require      require      "require"
        use          ute          "use"


=head2 System and filesystem interaction

        chdir        demigrare    "migrate"
        chmod        permitte     "permit"
        chown        vende        "sell"
        fcntl        modera       "control"
        flock        confluee     "flock together"
        glob         inveni       "search"
        ioctl        impera       "command"
        link         copula       "link"
        unlink       decopula     "unlink"
        mkdir        aedifica     "build"
        rename       renomina     "rename"
        rmdir        excide       "raze"
        stat         exprime      "describe"
        truncate     trunca       "shorten"
        alarm        terre        "frighten"
        dump         mitte        "drop"
        exec         commuta      "transform"
        fork         furca        "fork"
        kill         interfice    "kill"
        sleep        dormi        "sleep"
        system       obsecra      "entreat a higher power"
        umask        dissimula    "mask"
        wait         manta        "wait for"


=head2 Documentation

        =pod           ecce explico             "Behold! I explain"
        =for           ecce prosum              "Behold! I am for"
        =begin         ecce incipio             "Behold! I begin"
        =end           ecce finio               "Behold! I end"
        =head1         ecce intitulo primum     "Behold! I primarily entitle"
        =head2         ecce intitulo secundum   "Behold! I secondarily entitle"
        =head3         ecce intitulo tertium    "Behold! I tertiarily entitle"
        =head4         ecce intitulo quartum    "Behold! I quaternarily entitle"
        =head5         ecce intitulo quintum    "Behold! I quinarily entitle"
        =head6         ecce intitulo sextum     "Behold! I senarily entitle"
        =over          ecce ad dextram          "Behold! (I move) to the right"
        =back          ecce ad sinistram        "Behold! (I move) to the left"
        =item *        ecce facio punctum       "Behold! I make a point"
        =item 1.       ecce numero punctum      "Behold! I enumerate a point"
        =item <TERM>   ecce definio <TERM>      "Behold! I define <TERM>"
        =cut           ecce seco                "Behold! I cut"

=head2 Miscellaneous

        ,            tum          "and then"
        .            sere         "conjoin"
        ..           conscribe    "enlist"
        \            ad           "towards"
        =            da           "give"
        #...         adnota       "annotate"
        (...         cum          "with"
        to_roman     come         "beautify"



=head1 DIIUDICATORES

The Lingua::Romana::Perligata module may issue the following diagnostic
messages:

=over 4



( run in 0.543 second using v1.01-cache-2.11-cpan-007c89162af )