├── .gitignore ├── .gitmodules ├── .travis.yml ├── Dockerfile ├── LICENSE ├── README.md ├── TODO ├── bin ├── pecan ├── sat_minimize └── try_postprocess ├── examples ├── arith_props.pn ├── chicken_mcnugget.pn ├── collatz.pn ├── continuity.pn ├── cse-infinite-loop-regression0.pn ├── fa19-brochure.pn ├── fa19-poster-session.pn ├── fractal.pn ├── free-var-regression-0.pn ├── praline_constant_mul.pn ├── praline_match_pecan.pn ├── redundant_var_optimize.pn ├── test_annotations.pn ├── test_arith.pn ├── test_bin.pn ├── test_bounded_ostrowski_2.pn ├── test_constraints.pn ├── test_converter.pn ├── test_cse.pn ├── test_div.pn ├── test_even.pn ├── test_finite_aut.pn ├── test_function_expression.pn ├── test_import.pn ├── test_imported.pn ├── test_inf_function.pn ├── test_integers.pn ├── test_load_aut.pn ├── test_max_function.pn ├── test_min_function.pn ├── test_parse_not_precedence.pn ├── test_praline_accepting_word.pn ├── test_praline_builtins.pn ├── test_praline_comparison.pn ├── test_praline_compose.pn ├── test_praline_define_aut.pn ├── test_praline_do.pn ├── test_praline_emit.pn ├── test_praline_examples.pn ├── test_praline_file_io.pn ├── test_praline_graphing.pn ├── test_praline_list.pn ├── test_praline_match.pn ├── test_praline_match_syntax.pn ├── test_praline_operators.pn ├── test_praline_pecan_interop.pn ├── test_praline_real_format.pn ├── test_praline_simple.pn ├── test_praline_split.pn ├── test_praline_split_on.pn ├── test_quant.pn ├── test_quant_multiple_vars.pn ├── test_quant_restricted.pn ├── test_real.pn ├── test_restrict_is.pn ├── test_scope.pn ├── test_stdlib_imported.pn ├── test_sturmian.pn ├── test_sup_function.pn ├── test_type_infer_arguments.pn ├── test_types.pn ├── test_word_indexing.pn ├── test_word_syntax.pn ├── test_zeckendorf.pn ├── testio.pn ├── thue_morse_periods.pn ├── thue_morse_props.pn ├── tutorial.pn ├── urs-symposium-sp2020-examples.pn ├── website_tests.pn └── word.pn ├── library ├── automata │ ├── all_ones.aut │ ├── all_ones.txt │ ├── bin_add.aut │ ├── bin_add.fsa │ ├── bin_equal.fsa │ ├── bin_less.aut │ ├── bin_less.fsa │ ├── binary.fsa │ ├── cantor-3-ary.txt │ ├── cantor-dust-3-ary.txt │ ├── fractal │ │ ├── cantor-3-self-similar.txt │ │ ├── cantor-distance-hmm.txt │ │ ├── cantor-distance.txt │ │ ├── cantor-dust-3-self-similar.txt │ │ ├── hilbert.txt │ │ ├── menger-3-self-similar.txt │ │ ├── pascal-mod-2-3d.txt │ │ ├── pascal-mod-2.txt │ │ ├── pascal-mod-3.txt │ │ ├── peano.txt │ │ ├── sierpinski-3-self-similar.txt │ │ └── sierpinski-5-self-similar.txt │ ├── has_zeros.aut │ ├── has_zeros.txt │ ├── integer │ │ ├── default_abs.txt │ │ ├── negate.txt │ │ ├── negative_one.txt │ │ └── positive.txt │ ├── menger-3-ary.txt │ ├── mult_inp_dumb.txt │ ├── not_buchi.txt │ ├── odd_ones.aut │ ├── odd_ones.txt │ ├── ostrowski │ │ ├── add_2.txt │ │ ├── all_ones_2.txt │ │ ├── lt_2.txt │ │ └── recog_2.txt │ ├── real │ │ ├── msd_bin_less.aut │ │ ├── msd_bin_less.txt │ │ ├── real_add.aut │ │ ├── real_add_same_sign.txt │ │ └── real_equal.txt │ ├── sierpinski-3-ary.txt │ ├── sierpinski-5-ary.txt │ ├── sturmian2.txt │ └── sturmian_bin.txt ├── integers.pn ├── reals.pn ├── scalar_mul.pn └── std.pn ├── pecan-docker ├── pecan-lang.tex ├── pecan-manual.pdf ├── pecan.py ├── pecan.vim ├── pecan ├── __init__.py ├── automata │ ├── automaton.py │ ├── buchi.py │ └── finite.py ├── lang │ ├── __init__.py │ ├── ast │ │ ├── __init__.py │ │ ├── annotation.py │ │ ├── arith.py │ │ ├── base.py │ │ ├── bool.py │ │ ├── directives.py │ │ ├── praline.py │ │ ├── prog.py │ │ ├── quant.py │ │ └── words.py │ ├── ast_substitution.py │ ├── ast_to_ir.py │ ├── ast_transformer.py │ ├── ir │ │ ├── __init__.py │ │ ├── annotation.py │ │ ├── arith.py │ │ ├── base.py │ │ ├── bool.py │ │ ├── directives.py │ │ ├── praline.py │ │ ├── prog.py │ │ ├── quant.py │ │ └── words.py │ ├── ir_substitution.py │ ├── ir_transformer.py │ ├── lark │ │ ├── parser.py │ │ └── pecan_grammar.lark │ ├── optimizer │ │ ├── arithmetic.py │ │ ├── basic_optimizer.py │ │ ├── boolean.py │ │ ├── cse.py │ │ ├── optimizer.py │ │ ├── redundant_variable_optimizer.py │ │ ├── tools.py │ │ └── unused_variable_optimizer.py │ ├── parser.py │ ├── praline_to_pecan.py │ ├── predicate_expander.py │ ├── type_inference.py │ └── typed_ir_lowering.py ├── lib │ ├── plot.py │ └── praline │ │ └── builtins.py ├── program.py ├── settings.py ├── tools │ ├── __init__.py │ ├── finite_loader.py │ ├── hoa_loader.py │ ├── labeled_aut_converter.py │ ├── shuffle_automata.py │ ├── theorem_generator.py │ └── walnut_converter.py └── utility.py ├── requirements.txt ├── scripts ├── build-dockerfile.sh ├── gen-parser.sh └── install-spot.sh ├── setup.py └── test ├── __init__.py ├── test_general.py ├── test_no_optimizer.py ├── test_optimizer_tools.py ├── test_praline.py └── test_regression.py /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/.gitmodules -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/.travis.yml -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/README.md -------------------------------------------------------------------------------- /TODO: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/TODO -------------------------------------------------------------------------------- /bin/pecan: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/bin/pecan -------------------------------------------------------------------------------- /bin/sat_minimize: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/bin/sat_minimize -------------------------------------------------------------------------------- /bin/try_postprocess: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/bin/try_postprocess -------------------------------------------------------------------------------- /examples/arith_props.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/arith_props.pn -------------------------------------------------------------------------------- /examples/chicken_mcnugget.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/chicken_mcnugget.pn -------------------------------------------------------------------------------- /examples/collatz.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/collatz.pn -------------------------------------------------------------------------------- /examples/continuity.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/continuity.pn -------------------------------------------------------------------------------- /examples/cse-infinite-loop-regression0.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/cse-infinite-loop-regression0.pn -------------------------------------------------------------------------------- /examples/fa19-brochure.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/fa19-brochure.pn -------------------------------------------------------------------------------- /examples/fa19-poster-session.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/fa19-poster-session.pn -------------------------------------------------------------------------------- /examples/fractal.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/fractal.pn -------------------------------------------------------------------------------- /examples/free-var-regression-0.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/free-var-regression-0.pn -------------------------------------------------------------------------------- /examples/praline_constant_mul.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/praline_constant_mul.pn -------------------------------------------------------------------------------- /examples/praline_match_pecan.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/praline_match_pecan.pn -------------------------------------------------------------------------------- /examples/redundant_var_optimize.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/redundant_var_optimize.pn -------------------------------------------------------------------------------- /examples/test_annotations.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_annotations.pn -------------------------------------------------------------------------------- /examples/test_arith.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_arith.pn -------------------------------------------------------------------------------- /examples/test_bin.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_bin.pn -------------------------------------------------------------------------------- /examples/test_bounded_ostrowski_2.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_bounded_ostrowski_2.pn -------------------------------------------------------------------------------- /examples/test_constraints.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_constraints.pn -------------------------------------------------------------------------------- /examples/test_converter.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_converter.pn -------------------------------------------------------------------------------- /examples/test_cse.pn: -------------------------------------------------------------------------------- 1 | Restrict x, y, z are nat. 2 | 3 | test(z) := 2*(x + y) = z 4 | 5 | -------------------------------------------------------------------------------- /examples/test_div.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_div.pn -------------------------------------------------------------------------------- /examples/test_even.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_even.pn -------------------------------------------------------------------------------- /examples/test_finite_aut.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_finite_aut.pn -------------------------------------------------------------------------------- /examples/test_function_expression.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_function_expression.pn -------------------------------------------------------------------------------- /examples/test_import.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_import.pn -------------------------------------------------------------------------------- /examples/test_imported.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_imported.pn -------------------------------------------------------------------------------- /examples/test_inf_function.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_inf_function.pn -------------------------------------------------------------------------------- /examples/test_integers.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_integers.pn -------------------------------------------------------------------------------- /examples/test_load_aut.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_load_aut.pn -------------------------------------------------------------------------------- /examples/test_max_function.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_max_function.pn -------------------------------------------------------------------------------- /examples/test_min_function.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_min_function.pn -------------------------------------------------------------------------------- /examples/test_parse_not_precedence.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_parse_not_precedence.pn -------------------------------------------------------------------------------- /examples/test_praline_accepting_word.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_praline_accepting_word.pn -------------------------------------------------------------------------------- /examples/test_praline_builtins.pn: -------------------------------------------------------------------------------- 1 | Display strLength "testing". 2 | 3 | -------------------------------------------------------------------------------- /examples/test_praline_comparison.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_praline_comparison.pn -------------------------------------------------------------------------------- /examples/test_praline_compose.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_praline_compose.pn -------------------------------------------------------------------------------- /examples/test_praline_define_aut.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_praline_define_aut.pn -------------------------------------------------------------------------------- /examples/test_praline_do.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_praline_do.pn -------------------------------------------------------------------------------- /examples/test_praline_emit.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_praline_emit.pn -------------------------------------------------------------------------------- /examples/test_praline_examples.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_praline_examples.pn -------------------------------------------------------------------------------- /examples/test_praline_file_io.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_praline_file_io.pn -------------------------------------------------------------------------------- /examples/test_praline_graphing.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_praline_graphing.pn -------------------------------------------------------------------------------- /examples/test_praline_list.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_praline_list.pn -------------------------------------------------------------------------------- /examples/test_praline_match.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_praline_match.pn -------------------------------------------------------------------------------- /examples/test_praline_match_syntax.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_praline_match_syntax.pn -------------------------------------------------------------------------------- /examples/test_praline_operators.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_praline_operators.pn -------------------------------------------------------------------------------- /examples/test_praline_pecan_interop.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_praline_pecan_interop.pn -------------------------------------------------------------------------------- /examples/test_praline_real_format.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_praline_real_format.pn -------------------------------------------------------------------------------- /examples/test_praline_simple.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_praline_simple.pn -------------------------------------------------------------------------------- /examples/test_praline_split.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_praline_split.pn -------------------------------------------------------------------------------- /examples/test_praline_split_on.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_praline_split_on.pn -------------------------------------------------------------------------------- /examples/test_quant.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_quant.pn -------------------------------------------------------------------------------- /examples/test_quant_multiple_vars.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_quant_multiple_vars.pn -------------------------------------------------------------------------------- /examples/test_quant_restricted.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_quant_restricted.pn -------------------------------------------------------------------------------- /examples/test_real.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_real.pn -------------------------------------------------------------------------------- /examples/test_restrict_is.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_restrict_is.pn -------------------------------------------------------------------------------- /examples/test_scope.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_scope.pn -------------------------------------------------------------------------------- /examples/test_stdlib_imported.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_stdlib_imported.pn -------------------------------------------------------------------------------- /examples/test_sturmian.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_sturmian.pn -------------------------------------------------------------------------------- /examples/test_sup_function.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_sup_function.pn -------------------------------------------------------------------------------- /examples/test_type_infer_arguments.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_type_infer_arguments.pn -------------------------------------------------------------------------------- /examples/test_types.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_types.pn -------------------------------------------------------------------------------- /examples/test_word_indexing.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_word_indexing.pn -------------------------------------------------------------------------------- /examples/test_word_syntax.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_word_syntax.pn -------------------------------------------------------------------------------- /examples/test_zeckendorf.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/test_zeckendorf.pn -------------------------------------------------------------------------------- /examples/testio.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/testio.pn -------------------------------------------------------------------------------- /examples/thue_morse_periods.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/thue_morse_periods.pn -------------------------------------------------------------------------------- /examples/thue_morse_props.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/thue_morse_props.pn -------------------------------------------------------------------------------- /examples/tutorial.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/tutorial.pn -------------------------------------------------------------------------------- /examples/urs-symposium-sp2020-examples.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/urs-symposium-sp2020-examples.pn -------------------------------------------------------------------------------- /examples/website_tests.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/website_tests.pn -------------------------------------------------------------------------------- /examples/word.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/examples/word.pn -------------------------------------------------------------------------------- /library/automata/all_ones.aut: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/automata/all_ones.aut -------------------------------------------------------------------------------- /library/automata/all_ones.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/automata/all_ones.txt -------------------------------------------------------------------------------- /library/automata/bin_add.aut: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/automata/bin_add.aut -------------------------------------------------------------------------------- /library/automata/bin_add.fsa: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/automata/bin_add.fsa -------------------------------------------------------------------------------- /library/automata/bin_equal.fsa: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/automata/bin_equal.fsa -------------------------------------------------------------------------------- /library/automata/bin_less.aut: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/automata/bin_less.aut -------------------------------------------------------------------------------- /library/automata/bin_less.fsa: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/automata/bin_less.fsa -------------------------------------------------------------------------------- /library/automata/binary.fsa: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/automata/binary.fsa -------------------------------------------------------------------------------- /library/automata/cantor-3-ary.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/automata/cantor-3-ary.txt -------------------------------------------------------------------------------- /library/automata/cantor-dust-3-ary.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/automata/cantor-dust-3-ary.txt -------------------------------------------------------------------------------- /library/automata/fractal/cantor-3-self-similar.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/automata/fractal/cantor-3-self-similar.txt -------------------------------------------------------------------------------- /library/automata/fractal/cantor-distance-hmm.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/automata/fractal/cantor-distance-hmm.txt -------------------------------------------------------------------------------- /library/automata/fractal/cantor-distance.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/automata/fractal/cantor-distance.txt -------------------------------------------------------------------------------- /library/automata/fractal/cantor-dust-3-self-similar.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/automata/fractal/cantor-dust-3-self-similar.txt -------------------------------------------------------------------------------- /library/automata/fractal/hilbert.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/automata/fractal/hilbert.txt -------------------------------------------------------------------------------- /library/automata/fractal/menger-3-self-similar.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/automata/fractal/menger-3-self-similar.txt -------------------------------------------------------------------------------- /library/automata/fractal/pascal-mod-2-3d.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/automata/fractal/pascal-mod-2-3d.txt -------------------------------------------------------------------------------- /library/automata/fractal/pascal-mod-2.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/automata/fractal/pascal-mod-2.txt -------------------------------------------------------------------------------- /library/automata/fractal/pascal-mod-3.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/automata/fractal/pascal-mod-3.txt -------------------------------------------------------------------------------- /library/automata/fractal/peano.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/automata/fractal/peano.txt -------------------------------------------------------------------------------- /library/automata/fractal/sierpinski-3-self-similar.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/automata/fractal/sierpinski-3-self-similar.txt -------------------------------------------------------------------------------- /library/automata/fractal/sierpinski-5-self-similar.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/automata/fractal/sierpinski-5-self-similar.txt -------------------------------------------------------------------------------- /library/automata/has_zeros.aut: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/automata/has_zeros.aut -------------------------------------------------------------------------------- /library/automata/has_zeros.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/automata/has_zeros.txt -------------------------------------------------------------------------------- /library/automata/integer/default_abs.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/automata/integer/default_abs.txt -------------------------------------------------------------------------------- /library/automata/integer/negate.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/automata/integer/negate.txt -------------------------------------------------------------------------------- /library/automata/integer/negative_one.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/automata/integer/negative_one.txt -------------------------------------------------------------------------------- /library/automata/integer/positive.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/automata/integer/positive.txt -------------------------------------------------------------------------------- /library/automata/menger-3-ary.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/automata/menger-3-ary.txt -------------------------------------------------------------------------------- /library/automata/mult_inp_dumb.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/automata/mult_inp_dumb.txt -------------------------------------------------------------------------------- /library/automata/not_buchi.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/automata/not_buchi.txt -------------------------------------------------------------------------------- /library/automata/odd_ones.aut: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/automata/odd_ones.aut -------------------------------------------------------------------------------- /library/automata/odd_ones.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/automata/odd_ones.txt -------------------------------------------------------------------------------- /library/automata/ostrowski/add_2.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/automata/ostrowski/add_2.txt -------------------------------------------------------------------------------- /library/automata/ostrowski/all_ones_2.txt: -------------------------------------------------------------------------------- 1 | {0,1,2} 2 | 0 1 3 | 1 -> 0 4 | 5 | -------------------------------------------------------------------------------- /library/automata/ostrowski/lt_2.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/automata/ostrowski/lt_2.txt -------------------------------------------------------------------------------- /library/automata/ostrowski/recog_2.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/automata/ostrowski/recog_2.txt -------------------------------------------------------------------------------- /library/automata/real/msd_bin_less.aut: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/automata/real/msd_bin_less.aut -------------------------------------------------------------------------------- /library/automata/real/msd_bin_less.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/automata/real/msd_bin_less.txt -------------------------------------------------------------------------------- /library/automata/real/real_add.aut: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/automata/real/real_add.aut -------------------------------------------------------------------------------- /library/automata/real/real_add_same_sign.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/automata/real/real_add_same_sign.txt -------------------------------------------------------------------------------- /library/automata/real/real_equal.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/automata/real/real_equal.txt -------------------------------------------------------------------------------- /library/automata/sierpinski-3-ary.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/automata/sierpinski-3-ary.txt -------------------------------------------------------------------------------- /library/automata/sierpinski-5-ary.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/automata/sierpinski-5-ary.txt -------------------------------------------------------------------------------- /library/automata/sturmian2.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/automata/sturmian2.txt -------------------------------------------------------------------------------- /library/automata/sturmian_bin.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/automata/sturmian_bin.txt -------------------------------------------------------------------------------- /library/integers.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/integers.pn -------------------------------------------------------------------------------- /library/reals.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/reals.pn -------------------------------------------------------------------------------- /library/scalar_mul.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/scalar_mul.pn -------------------------------------------------------------------------------- /library/std.pn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/library/std.pn -------------------------------------------------------------------------------- /pecan-docker: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan-docker -------------------------------------------------------------------------------- /pecan-lang.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan-lang.tex -------------------------------------------------------------------------------- /pecan-manual.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan-manual.pdf -------------------------------------------------------------------------------- /pecan.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan.py -------------------------------------------------------------------------------- /pecan.vim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan.vim -------------------------------------------------------------------------------- /pecan/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pecan/automata/automaton.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/automata/automaton.py -------------------------------------------------------------------------------- /pecan/automata/buchi.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/automata/buchi.py -------------------------------------------------------------------------------- /pecan/automata/finite.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/automata/finite.py -------------------------------------------------------------------------------- /pecan/lang/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pecan/lang/ast/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/lang/ast/__init__.py -------------------------------------------------------------------------------- /pecan/lang/ast/annotation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/lang/ast/annotation.py -------------------------------------------------------------------------------- /pecan/lang/ast/arith.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/lang/ast/arith.py -------------------------------------------------------------------------------- /pecan/lang/ast/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/lang/ast/base.py -------------------------------------------------------------------------------- /pecan/lang/ast/bool.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/lang/ast/bool.py -------------------------------------------------------------------------------- /pecan/lang/ast/directives.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/lang/ast/directives.py -------------------------------------------------------------------------------- /pecan/lang/ast/praline.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/lang/ast/praline.py -------------------------------------------------------------------------------- /pecan/lang/ast/prog.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/lang/ast/prog.py -------------------------------------------------------------------------------- /pecan/lang/ast/quant.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/lang/ast/quant.py -------------------------------------------------------------------------------- /pecan/lang/ast/words.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/lang/ast/words.py -------------------------------------------------------------------------------- /pecan/lang/ast_substitution.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/lang/ast_substitution.py -------------------------------------------------------------------------------- /pecan/lang/ast_to_ir.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/lang/ast_to_ir.py -------------------------------------------------------------------------------- /pecan/lang/ast_transformer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/lang/ast_transformer.py -------------------------------------------------------------------------------- /pecan/lang/ir/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/lang/ir/__init__.py -------------------------------------------------------------------------------- /pecan/lang/ir/annotation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/lang/ir/annotation.py -------------------------------------------------------------------------------- /pecan/lang/ir/arith.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/lang/ir/arith.py -------------------------------------------------------------------------------- /pecan/lang/ir/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/lang/ir/base.py -------------------------------------------------------------------------------- /pecan/lang/ir/bool.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/lang/ir/bool.py -------------------------------------------------------------------------------- /pecan/lang/ir/directives.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/lang/ir/directives.py -------------------------------------------------------------------------------- /pecan/lang/ir/praline.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/lang/ir/praline.py -------------------------------------------------------------------------------- /pecan/lang/ir/prog.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/lang/ir/prog.py -------------------------------------------------------------------------------- /pecan/lang/ir/quant.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/lang/ir/quant.py -------------------------------------------------------------------------------- /pecan/lang/ir/words.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/lang/ir/words.py -------------------------------------------------------------------------------- /pecan/lang/ir_substitution.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/lang/ir_substitution.py -------------------------------------------------------------------------------- /pecan/lang/ir_transformer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/lang/ir_transformer.py -------------------------------------------------------------------------------- /pecan/lang/lark/parser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/lang/lark/parser.py -------------------------------------------------------------------------------- /pecan/lang/lark/pecan_grammar.lark: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/lang/lark/pecan_grammar.lark -------------------------------------------------------------------------------- /pecan/lang/optimizer/arithmetic.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/lang/optimizer/arithmetic.py -------------------------------------------------------------------------------- /pecan/lang/optimizer/basic_optimizer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/lang/optimizer/basic_optimizer.py -------------------------------------------------------------------------------- /pecan/lang/optimizer/boolean.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/lang/optimizer/boolean.py -------------------------------------------------------------------------------- /pecan/lang/optimizer/cse.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/lang/optimizer/cse.py -------------------------------------------------------------------------------- /pecan/lang/optimizer/optimizer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/lang/optimizer/optimizer.py -------------------------------------------------------------------------------- /pecan/lang/optimizer/redundant_variable_optimizer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/lang/optimizer/redundant_variable_optimizer.py -------------------------------------------------------------------------------- /pecan/lang/optimizer/tools.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/lang/optimizer/tools.py -------------------------------------------------------------------------------- /pecan/lang/optimizer/unused_variable_optimizer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/lang/optimizer/unused_variable_optimizer.py -------------------------------------------------------------------------------- /pecan/lang/parser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/lang/parser.py -------------------------------------------------------------------------------- /pecan/lang/praline_to_pecan.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/lang/praline_to_pecan.py -------------------------------------------------------------------------------- /pecan/lang/predicate_expander.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/lang/predicate_expander.py -------------------------------------------------------------------------------- /pecan/lang/type_inference.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/lang/type_inference.py -------------------------------------------------------------------------------- /pecan/lang/typed_ir_lowering.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/lang/typed_ir_lowering.py -------------------------------------------------------------------------------- /pecan/lib/plot.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/lib/plot.py -------------------------------------------------------------------------------- /pecan/lib/praline/builtins.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/lib/praline/builtins.py -------------------------------------------------------------------------------- /pecan/program.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/program.py -------------------------------------------------------------------------------- /pecan/settings.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/settings.py -------------------------------------------------------------------------------- /pecan/tools/__init__.py: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /pecan/tools/finite_loader.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/tools/finite_loader.py -------------------------------------------------------------------------------- /pecan/tools/hoa_loader.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/tools/hoa_loader.py -------------------------------------------------------------------------------- /pecan/tools/labeled_aut_converter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/tools/labeled_aut_converter.py -------------------------------------------------------------------------------- /pecan/tools/shuffle_automata.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/tools/shuffle_automata.py -------------------------------------------------------------------------------- /pecan/tools/theorem_generator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/tools/theorem_generator.py -------------------------------------------------------------------------------- /pecan/tools/walnut_converter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/tools/walnut_converter.py -------------------------------------------------------------------------------- /pecan/utility.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/pecan/utility.py -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/requirements.txt -------------------------------------------------------------------------------- /scripts/build-dockerfile.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/scripts/build-dockerfile.sh -------------------------------------------------------------------------------- /scripts/gen-parser.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/scripts/gen-parser.sh -------------------------------------------------------------------------------- /scripts/install-spot.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/scripts/install-spot.sh -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/setup.py -------------------------------------------------------------------------------- /test/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/test_general.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/test/test_general.py -------------------------------------------------------------------------------- /test/test_no_optimizer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/test/test_no_optimizer.py -------------------------------------------------------------------------------- /test/test_optimizer_tools.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/test/test_optimizer_tools.py -------------------------------------------------------------------------------- /test/test_praline.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/test/test_praline.py -------------------------------------------------------------------------------- /test/test_regression.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReedOei/Pecan/HEAD/test/test_regression.py --------------------------------------------------------------------------------