File Coverage

blib/lib/Language/Befunge/Ops/GenericFunge98.pm
Criterion Covered Total %
statement 10 10 100.0
branch n/a
condition n/a
subroutine 4 4 100.0
pod 1 1 100.0
total 15 15 100.0


line stmt bran cond sub pod time code
1             #
2             # This file is part of Language::Befunge.
3             # Copyright (c) 2001-2009 Jerome Quelin, all rights reserved.
4             #
5             # This program is free software; you can redistribute it and/or modify
6             # it under the same terms as Perl itself.
7             #
8             #
9              
10             package Language::Befunge::Ops::GenericFunge98;
11             require 5.010;
12              
13 8     8   4726 use strict;
  8         16  
  8         391  
14 8     8   77 use warnings;
  8         17  
  8         258  
15              
16 8     8   750 use Language::Befunge::Ops;
  8         27  
  8         91  
17              
18             sub get_ops_map {
19             return {
20 16     16 1 2806 '0' => \&Language::Befunge::Ops::num_push_number,
21             '1' => \&Language::Befunge::Ops::num_push_number,
22             '2' => \&Language::Befunge::Ops::num_push_number,
23             '3' => \&Language::Befunge::Ops::num_push_number,
24             '4' => \&Language::Befunge::Ops::num_push_number,
25             '5' => \&Language::Befunge::Ops::num_push_number,
26             '6' => \&Language::Befunge::Ops::num_push_number,
27             '7' => \&Language::Befunge::Ops::num_push_number,
28             '8' => \&Language::Befunge::Ops::num_push_number,
29             '9' => \&Language::Befunge::Ops::num_push_number,
30             'a' => \&Language::Befunge::Ops::num_push_number,
31             'b' => \&Language::Befunge::Ops::num_push_number,
32             'c' => \&Language::Befunge::Ops::num_push_number,
33             'd' => \&Language::Befunge::Ops::num_push_number,
34             'e' => \&Language::Befunge::Ops::num_push_number,
35             'f' => \&Language::Befunge::Ops::num_push_number,
36             '"' => \&Language::Befunge::Ops::str_enter_string_mode,
37             "'" => \&Language::Befunge::Ops::str_fetch_char,
38             's' => \&Language::Befunge::Ops::str_store_char,
39             '+' => \&Language::Befunge::Ops::math_addition,
40             '-' => \&Language::Befunge::Ops::math_substraction,
41             '*' => \&Language::Befunge::Ops::math_multiplication,
42             '/' => \&Language::Befunge::Ops::math_division,
43             '%' => \&Language::Befunge::Ops::math_remainder,
44             '>' => \&Language::Befunge::Ops::dir_go_east,
45             '<' => \&Language::Befunge::Ops::dir_go_west,
46             '^' => \&Language::Befunge::Ops::dir_go_north,
47             'v' => \&Language::Befunge::Ops::dir_go_south,
48             'h' => \&Language::Befunge::Ops::dir_go_high,
49             'l' => \&Language::Befunge::Ops::dir_go_low,
50             '?' => \&Language::Befunge::Ops::dir_go_away,
51             '[' => \&Language::Befunge::Ops::dir_turn_left,
52             ']' => \&Language::Befunge::Ops::dir_turn_right,
53             'r' => \&Language::Befunge::Ops::dir_reverse,
54             'x' => \&Language::Befunge::Ops::dir_set_delta,
55             '!' => \&Language::Befunge::Ops::decis_neg,
56             '`' => \&Language::Befunge::Ops::decis_gt,
57             '_' => \&Language::Befunge::Ops::decis_horiz_if,
58             '|' => \&Language::Befunge::Ops::decis_vert_if,
59             'm' => \&Language::Befunge::Ops::decis_z_if,
60             'w' => \&Language::Befunge::Ops::decis_cmp,
61             ' ' => \&Language::Befunge::Ops::flow_space,
62             'z' => \&Language::Befunge::Ops::flow_no_op,
63             ';' => \&Language::Befunge::Ops::flow_comments,
64             '#' => \&Language::Befunge::Ops::flow_trampoline,
65             'j' => \&Language::Befunge::Ops::flow_jump_to,
66             'k' => \&Language::Befunge::Ops::flow_repeat,
67             '@' => \&Language::Befunge::Ops::flow_kill_thread,
68             'q' => \&Language::Befunge::Ops::flow_quit,
69             '$' => \&Language::Befunge::Ops::stack_pop,
70             ':' => \&Language::Befunge::Ops::stack_duplicate,
71             '\\' => \&Language::Befunge::Ops::stack_swap,
72             'n' => \&Language::Befunge::Ops::stack_clear,
73             '{' => \&Language::Befunge::Ops::block_open,
74             '}' => \&Language::Befunge::Ops::block_close,
75             'u' => \&Language::Befunge::Ops::bloc_transfer,
76             'g' => \&Language::Befunge::Ops::store_get,
77             'p' => \&Language::Befunge::Ops::store_put,
78             '.' => \&Language::Befunge::Ops::stdio_out_num,
79             ',' => \&Language::Befunge::Ops::stdio_out_ascii,
80             '&' => \&Language::Befunge::Ops::stdio_in_num,
81             '~' => \&Language::Befunge::Ops::stdio_in_ascii,
82             'i' => \&Language::Befunge::Ops::stdio_in_file,
83             'o' => \&Language::Befunge::Ops::stdio_out_file,
84             '=' => \&Language::Befunge::Ops::stdio_sys_exec,
85             'y' => \&Language::Befunge::Ops::sys_info,
86             't' => \&Language::Befunge::Ops::spawn_ip,
87             '(' => \&Language::Befunge::Ops::lib_load,
88             ')' => \&Language::Befunge::Ops::lib_unload,
89             'A' => \&Language::Befunge::Ops::lib_run_instruction,
90             'B' => \&Language::Befunge::Ops::lib_run_instruction,
91             'C' => \&Language::Befunge::Ops::lib_run_instruction,
92             'D' => \&Language::Befunge::Ops::lib_run_instruction,
93             'E' => \&Language::Befunge::Ops::lib_run_instruction,
94             'F' => \&Language::Befunge::Ops::lib_run_instruction,
95             'G' => \&Language::Befunge::Ops::lib_run_instruction,
96             'H' => \&Language::Befunge::Ops::lib_run_instruction,
97             'I' => \&Language::Befunge::Ops::lib_run_instruction,
98             'J' => \&Language::Befunge::Ops::lib_run_instruction,
99             'K' => \&Language::Befunge::Ops::lib_run_instruction,
100             'L' => \&Language::Befunge::Ops::lib_run_instruction,
101             'M' => \&Language::Befunge::Ops::lib_run_instruction,
102             'N' => \&Language::Befunge::Ops::lib_run_instruction,
103             'O' => \&Language::Befunge::Ops::lib_run_instruction,
104             'P' => \&Language::Befunge::Ops::lib_run_instruction,
105             'Q' => \&Language::Befunge::Ops::lib_run_instruction,
106             'R' => \&Language::Befunge::Ops::lib_run_instruction,
107             'S' => \&Language::Befunge::Ops::lib_run_instruction,
108             'T' => \&Language::Befunge::Ops::lib_run_instruction,
109             'U' => \&Language::Befunge::Ops::lib_run_instruction,
110             'V' => \&Language::Befunge::Ops::lib_run_instruction,
111             'W' => \&Language::Befunge::Ops::lib_run_instruction,
112             'X' => \&Language::Befunge::Ops::lib_run_instruction,
113             'Y' => \&Language::Befunge::Ops::lib_run_instruction,
114             'Z' => \&Language::Befunge::Ops::lib_run_instruction,
115             };
116             }
117              
118             1;
119              
120             __END__