NAME
Language::MinCaml - MinCaml Interpreter
SYNOPSIS
use Language::MinCaml;
# interpret a string
Language::MinCaml->interpret_string(<<EOC);
let rec gcd m n =
if m = 0 then n else
if m <= n then gcd m (n - m) else
gcd n (m - n) in
print_int (gcd 100 125)
EOC
# or, interpret a source file
Language::MinCaml->interpret_file('/path/to/source.ml');
DESCRIPTION
Language::MinCaml is an interpreter of MinCaml which is a subset of programming language ML.
MinCaml was originally defined by Eijiro Sumii, and he implemented the MinCaml compiler with OCaml for educational purposes.
FUNCTIONS
- interpret_string($string)
-
Interpret a string representing a MinCaml code.
- interpret_file($file_path)
-
Interpret a MinCaml code in a file pointed to by $file_path.
TODO
Support skipping comment lines '(* .. *)'.
Support other built-in functions (Now only print_int and print_float).
Improve error messages.
AUTHOR
Yu Nejigane <nejigane@cpan.org>
LICENSE
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
SEE ALSO
This module is dependent on Parse::Yapp module for parsing. Parse::Yapp