|
Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
/*
* This file:
* http://anggtwu.net/MAXIMA/luatree3.mac.html
* http://anggtwu.net/MAXIMA/luatree3.mac
* (find-angg "MAXIMA/luatree3.mac")
* Author: Eduardo Ochs <eduardoochs@gmail.com>
*
* (defun e () (interactive) (find-angg "MAXIMA/luatree3.mac"))
* (find-es "maxima" "mtree")
* (find-es "maxima" "buildq-lambda")
* (find-es "lisp" "format-recipes")
*/
luatree0_number (o) := string(o);
luatree0_string (o) := format("~s", o);
luatree0_symbol (o) := format("~s", o); /* for $FOO and FOO */
luatree0_symbol (o) := string(o); /* for foo and ?foo */
luatree0_apatom (o) := append([ luatree0(op(o))], map(luatree0, args(o)));
luatree0_apother(o) := append(["ap", luatree0(op(o))], map(luatree0, args(o)));
luatree0_subvarp(o) := append(["[_]", luatree0(op(o))], map(luatree0, args(o)));
luatree0(o) :=
if stringp(o) then luatree0_string (o)
elseif symbolp(o) then luatree0_symbol (o)
elseif numberp(o) then luatree0_symbol (o)
elseif subvarp(o) then luatree0_subvarp(o)
elseif atom(op(o)) then luatree0_apatom(o)
else luatree0_apother(o);
/*
* (eepitch-maxima)
* (eepitch-kill)
* (eepitch-maxima)
load("luatree3.mac");
luatree0_string("foo bar");
luatree0_string("foo \"bar");
luatree0_string("foo \\bar");
luatree0_symbol(foo);
luatree0_symbol(?foo);
luatree0(2);
luatree0("2");
luatree0([2, "2"]);
luatree0(f(a));
luatree0(f(a)(b));
luatree0(a[b]);
luatree0(a[b][c]);
luatree0(lambda([], 2+3));
block([], simp:false, luatree0(lambda([], 2+3)));
foo(o) ::= block([], simp:false, luatree0(lambda([], 2+3)));
"2";
"\"2\"";
*/
/*
* Local Variables:
* coding: utf-8-unix
* End:
*/