This commit is contained in:
llsth 2015-04-13 23:44:17 +02:00
parent 390ff27017
commit f9a09c4bad
25 changed files with 311 additions and 252 deletions

246
Makefile
View File

@ -15,370 +15,370 @@ DEL = rm -f
DELREC = rm -Rf
evaluator.o: app/main/evaluator.cpp
${CC} -O0 -g ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/main/evaluator.cpp
${CC} -O2 ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/main/evaluator.cpp
functions.o: app/main/functions.cpp
${CC} -O0 -g ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/main/functions.cpp
${CC} -O2 ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/main/functions.cpp
graphlist.o: app/main/graphlist.cpp
${CC} -O0 -g ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/main/graphlist.cpp
${CC} -O2 ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/main/graphlist.cpp
lexer.o: app/main/lexer.cpp
${CC} -O0 -g ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/main/lexer.cpp
${CC} -O2 ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/main/lexer.cpp
nodes.o: app/main/nodes.cpp
${CC} -O0 -g ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/main/nodes.cpp
${CC} -O2 ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/main/nodes.cpp
operators.o: app/main/operators.cpp
${CC} -O0 -g ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/main/operators.cpp
${CC} -O2 ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/main/operators.cpp
optimizer.o: app/main/optimizer.cpp
${CC} -O0 -g ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/main/optimizer.cpp
${CC} -O2 ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/main/optimizer.cpp
parser.o: app/main/parser.cpp
${CC} -O0 -g ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/main/parser.cpp
${CC} -O2 ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/main/parser.cpp
statements.o: app/main/statements.cpp
${CC} -O0 -g ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/main/statements.cpp
${CC} -O2 ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/main/statements.cpp
token.o: app/main/token.cpp
${CC} -O0 -g ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/main/token.cpp
${CC} -O2 ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/main/token.cpp
values.o: app/main/values.cpp
${CC} -O0 -g ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/main/values.cpp
${CC} -O2 ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/main/values.cpp
viewer.o: app/main/viewer.cpp
${CC} -O0 -g ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/main/viewer.cpp
${CC} -O2 ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/main/viewer.cpp
console.o: app/system/console.cpp
${CC} -O0 -g ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/console.cpp
${CC} -O2 ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/console.cpp
console_amiga.o: app/system/console_amiga.cpp
${CC} -O0 -g ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/console_amiga.cpp
${CC} -O2 ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/console_amiga.cpp
console_stdc.o: app/system/console_stdc.cpp
${CC} -O0 -g ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/console_stdc.cpp
${CC} -O2 ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/console_stdc.cpp
filesystem_amiga.o: app/system/filesystem_amiga.cpp
${CC} -O0 -g ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/filesystem_amiga.cpp
${CC} -O2 ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/filesystem_amiga.cpp
filesystem_stdc.o: app/system/filesystem_stdc.cpp
${CC} -O0 -g ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/filesystem_stdc.cpp
${CC} -O2 ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/filesystem_stdc.cpp
graph.o: app/system/graph.cpp
${CC} -O0 -g ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/graph.cpp
${CC} -O2 ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/graph.cpp
graph_amiga.o: app/system/graph_amiga.cpp
${CC} -O0 -g ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/graph_amiga.cpp
${CC} -O2 ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/graph_amiga.cpp
graph_gtk.o: app/system/graph_gtk.cpp
${CC} -O0 -g ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/graph_gtk.cpp
${CC} -O2 ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/graph_gtk.cpp
language.o: app/system/language.cpp
${CC} -O0 -g ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/language.cpp
${CC} -O2 ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/language.cpp
language_amiga.o: app/system/language_amiga.cpp
${CC} -O0 -g ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/language_amiga.cpp
${CC} -O2 ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/language_amiga.cpp
language_stdc.o: app/system/language_stdc.cpp
${CC} -O0 -g ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/language_stdc.cpp
${CC} -O2 ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/language_stdc.cpp
preferences.o: app/system/preferences.cpp
${CC} -O0 -g ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/preferences.cpp
${CC} -O2 ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/preferences.cpp
preferences_amiga.o: app/system/preferences_amiga.cpp
${CC} -O0 -g ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/preferences_amiga.cpp
${CC} -O2 ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/preferences_amiga.cpp
preferences_stdc.o: app/system/preferences_stdc.cpp
${CC} -O0 -g ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/preferences_stdc.cpp
${CC} -O2 ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/preferences_stdc.cpp
proc_amiga.o: app/system/proc_amiga.cpp
${CC} -O0 -g ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/proc_amiga.cpp
${CC} -O2 ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/proc_amiga.cpp
program.o: app/system/program.cpp
${CC} -O0 -g ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/program.cpp
${CC} -O2 ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/program.cpp
program_amiga.o: app/system/program_amiga.cpp
${CC} -O0 -g ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/program_amiga.cpp
${CC} -O2 ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/program_amiga.cpp
program_stdc.o: app/system/program_stdc.cpp
${CC} -O0 -g ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/program_stdc.cpp
${CC} -O2 ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/program_stdc.cpp
program_test.o: app/system/program_test.cpp
${CC} -O0 -g ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/program_test.cpp
${CC} -O2 ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/program_test.cpp
task_amiga.o: app/system/task_amiga.cpp
${CC} -O0 -g ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/task_amiga.cpp
${CC} -O2 ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/task_amiga.cpp
task_stdc.o: app/system/task_stdc.cpp
${CC} -O0 -g ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/task_stdc.cpp
${CC} -O2 ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/task_stdc.cpp
window_amiga.o: app/system/window_amiga.cpp
${CC} -O0 -g ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/window_amiga.cpp
${CC} -O2 ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/window_amiga.cpp
io.o: app/system/base/io.cpp
${CC} -O0 -g ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/base/io.cpp
${CC} -O2 ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/system/base/io.cpp
main.o: app/main.cpp
${CC} -O0 -g ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/main.cpp
${CC} -O2 ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/main.cpp
aengine.o: app/lib/aengine.cpp
${CC} -O0 -g ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/lib/aengine.cpp
${CC} -O2 ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/lib/aengine.cpp
charbuf.o: app/lib/charbuf.cpp
${CC} -O0 -g ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/lib/charbuf.cpp
${CC} -O2 ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/lib/charbuf.cpp
cplex.o: app/lib/cplex.cpp
${CC} -O0 -g ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/lib/cplex.cpp
${CC} -O2 ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/lib/cplex.cpp
fgrid.o: app/lib/fgrid.cpp
${CC} -O0 -g ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/lib/fgrid.cpp
${CC} -O2 ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/lib/fgrid.cpp
ntext.o: app/lib/ntext.cpp
${CC} -O0 -g ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/lib/ntext.cpp
${CC} -O2 ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/lib/ntext.cpp
real.o: app/lib/real.cpp
${CC} -O0 -g ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/lib/real.cpp
${CC} -O2 ${CFLAGS} -Ilib -Iapp -Wall -Werror -c app/lib/real.cpp
acos.o: lib/real/acos.c
${CC} -O0 -g -std=c9x -fno-builtin -fno-strict-aliasing -ffloat-store -Wall -Werror -Ilib -Ilib/real -c lib/real/acos.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/real -c lib/real/acos.c
acosh.o: lib/real/acosh.c
${CC} -O0 -g -std=c9x -fno-builtin -fno-strict-aliasing -ffloat-store -Wall -Werror -Ilib -Ilib/real -c lib/real/acosh.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/real -c lib/real/acosh.c
asin.o: lib/real/asin.c
${CC} -O0 -g -std=c9x -fno-builtin -fno-strict-aliasing -ffloat-store -Wall -Werror -Ilib -Ilib/real -c lib/real/asin.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/real -c lib/real/asin.c
asinh.o: lib/real/asinh.c
${CC} -O0 -g -std=c9x -fno-builtin -fno-strict-aliasing -ffloat-store -Wall -Werror -Ilib -Ilib/real -c lib/real/asinh.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/real -c lib/real/asinh.c
atan.o: lib/real/atan.c
${CC} -O0 -g -std=c9x -fno-builtin -fno-strict-aliasing -ffloat-store -Wall -Werror -Ilib -Ilib/real -c lib/real/atan.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/real -c lib/real/atan.c
atan2.o: lib/real/atan2.c
${CC} -O0 -g -std=c9x -fno-builtin -fno-strict-aliasing -ffloat-store -Wall -Werror -Ilib -Ilib/real -c lib/real/atan2.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/real -c lib/real/atan2.c
atanh.o: lib/real/atanh.c
${CC} -O0 -g -std=c9x -fno-builtin -fno-strict-aliasing -ffloat-store -Wall -Werror -Ilib -Ilib/real -c lib/real/atanh.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/real -c lib/real/atanh.c
cbrt.o: lib/real/cbrt.c
${CC} -O0 -g -std=c9x -fno-builtin -fno-strict-aliasing -ffloat-store -Wall -Werror -Ilib -Ilib/real -c lib/real/cbrt.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/real -c lib/real/cbrt.c
ceil.o: lib/real/ceil.c
${CC} -O0 -g -std=c9x -fno-builtin -fno-strict-aliasing -ffloat-store -Wall -Werror -Ilib -Ilib/real -c lib/real/ceil.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/real -c lib/real/ceil.c
copysign.o: lib/real/copysign.c
${CC} -O0 -g -std=c9x -fno-builtin -fno-strict-aliasing -ffloat-store -Wall -Werror -Ilib -Ilib/real -c lib/real/copysign.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/real -c lib/real/copysign.c
cos.o: lib/real/cos.c
${CC} -O0 -g -std=c9x -fno-builtin -fno-strict-aliasing -ffloat-store -Wall -Werror -Ilib -Ilib/real -c lib/real/cos.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/real -c lib/real/cos.c
cosh.o: lib/real/cosh.c
${CC} -O0 -g -std=c9x -fno-builtin -fno-strict-aliasing -ffloat-store -Wall -Werror -Ilib -Ilib/real -c lib/real/cosh.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/real -c lib/real/cosh.c
exp.o: lib/real/exp.c
${CC} -O0 -g -std=c9x -fno-builtin -fno-strict-aliasing -ffloat-store -Wall -Werror -Ilib -Ilib/real -c lib/real/exp.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/real -c lib/real/exp.c
expm1.o: lib/real/expm1.c
${CC} -O0 -g -std=c9x -fno-builtin -fno-strict-aliasing -ffloat-store -Wall -Werror -Ilib -Ilib/real -c lib/real/expm1.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/real -c lib/real/expm1.c
fabs.o: lib/real/fabs.c
${CC} -O0 -g -std=c9x -fno-builtin -fno-strict-aliasing -ffloat-store -Wall -Werror -Ilib -Ilib/real -c lib/real/fabs.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/real -c lib/real/fabs.c
finite.o: lib/real/finite.c
${CC} -O0 -g -std=c9x -fno-builtin -fno-strict-aliasing -ffloat-store -Wall -Werror -Ilib -Ilib/real -c lib/real/finite.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/real -c lib/real/finite.c
floor.o: lib/real/floor.c
${CC} -O0 -g -std=c9x -fno-builtin -fno-strict-aliasing -ffloat-store -Wall -Werror -Ilib -Ilib/real -c lib/real/floor.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/real -c lib/real/floor.c
fmod.o: lib/real/fmod.c
${CC} -O0 -g -std=c9x -fno-builtin -fno-strict-aliasing -ffloat-store -Wall -Werror -Ilib -Ilib/real -c lib/real/fmod.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/real -c lib/real/fmod.c
hypot.o: lib/real/hypot.c
${CC} -O0 -g -std=c9x -fno-builtin -fno-strict-aliasing -ffloat-store -Wall -Werror -Ilib -Ilib/real -c lib/real/hypot.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/real -c lib/real/hypot.c
isnan.o: lib/real/isnan.c
${CC} -O0 -g -std=c9x -fno-builtin -fno-strict-aliasing -ffloat-store -Wall -Werror -Ilib -Ilib/real -c lib/real/isnan.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/real -c lib/real/isnan.c
kcos.o: lib/real/kcos.c
${CC} -O0 -g -std=c9x -fno-builtin -fno-strict-aliasing -ffloat-store -Wall -Werror -Ilib -Ilib/real -c lib/real/kcos.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/real -c lib/real/kcos.c
kremp2.o: lib/real/kremp2.c
${CC} -O0 -g -std=c9x -fno-builtin -fno-strict-aliasing -ffloat-store -Wall -Werror -Ilib -Ilib/real -c lib/real/kremp2.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/real -c lib/real/kremp2.c
ksin.o: lib/real/ksin.c
${CC} -O0 -g -std=c9x -fno-builtin -fno-strict-aliasing -ffloat-store -Wall -Werror -Ilib -Ilib/real -c lib/real/ksin.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/real -c lib/real/ksin.c
ktan.o: lib/real/ktan.c
${CC} -O0 -g -std=c9x -fno-builtin -fno-strict-aliasing -ffloat-store -Wall -Werror -Ilib -Ilib/real -c lib/real/ktan.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/real -c lib/real/ktan.c
log.o: lib/real/log.c
${CC} -O0 -g -std=c9x -fno-builtin -fno-strict-aliasing -ffloat-store -Wall -Werror -Ilib -Ilib/real -c lib/real/log.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/real -c lib/real/log.c
log10.o: lib/real/log10.c
${CC} -O0 -g -std=c9x -fno-builtin -fno-strict-aliasing -ffloat-store -Wall -Werror -Ilib -Ilib/real -c lib/real/log10.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/real -c lib/real/log10.c
log1p.o: lib/real/log1p.c
${CC} -O0 -g -std=c9x -fno-builtin -fno-strict-aliasing -ffloat-store -Wall -Werror -Ilib -Ilib/real -c lib/real/log1p.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/real -c lib/real/log1p.c
pow.o: lib/real/pow.c
${CC} -O0 -g -std=c9x -fno-builtin -fno-strict-aliasing -ffloat-store -Wall -Werror -Ilib -Ilib/real -c lib/real/pow.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/real -c lib/real/pow.c
remp2.o: lib/real/remp2.c
${CC} -O0 -g -std=c9x -fno-builtin -fno-strict-aliasing -ffloat-store -Wall -Werror -Ilib -Ilib/real -c lib/real/remp2.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/real -c lib/real/remp2.c
round.o: lib/real/round.c
${CC} -O0 -g -std=c9x -fno-builtin -fno-strict-aliasing -ffloat-store -Wall -Werror -Ilib -Ilib/real -c lib/real/round.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/real -c lib/real/round.c
scalbn.o: lib/real/scalbn.c
${CC} -O0 -g -std=c9x -fno-builtin -fno-strict-aliasing -ffloat-store -Wall -Werror -Ilib -Ilib/real -c lib/real/scalbn.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/real -c lib/real/scalbn.c
sin.o: lib/real/sin.c
${CC} -O0 -g -std=c9x -fno-builtin -fno-strict-aliasing -ffloat-store -Wall -Werror -Ilib -Ilib/real -c lib/real/sin.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/real -c lib/real/sin.c
sinh.o: lib/real/sinh.c
${CC} -O0 -g -std=c9x -fno-builtin -fno-strict-aliasing -ffloat-store -Wall -Werror -Ilib -Ilib/real -c lib/real/sinh.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/real -c lib/real/sinh.c
sqrt.o: lib/real/sqrt.c
${CC} -O0 -g -std=c9x -fno-builtin -fno-strict-aliasing -ffloat-store -Wall -Werror -Ilib -Ilib/real -c lib/real/sqrt.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/real -c lib/real/sqrt.c
tan.o: lib/real/tan.c
${CC} -O0 -g -std=c9x -fno-builtin -fno-strict-aliasing -ffloat-store -Wall -Werror -Ilib -Ilib/real -c lib/real/tan.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/real -c lib/real/tan.c
tanh.o: lib/real/tanh.c
${CC} -O0 -g -std=c9x -fno-builtin -fno-strict-aliasing -ffloat-store -Wall -Werror -Ilib -Ilib/real -c lib/real/tanh.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/real -c lib/real/tanh.c
trunc.o: lib/real/trunc.c
${CC} -O0 -g -std=c9x -fno-builtin -fno-strict-aliasing -ffloat-store -Wall -Werror -Ilib -Ilib/real -c lib/real/trunc.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/real -c lib/real/trunc.c
cacos.o: lib/cplex/cacos.c
${CC} -O0 -g -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/cacos.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/cacos.c
cacosh.o: lib/cplex/cacosh.c
${CC} -O0 -g -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/cacosh.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/cacosh.c
cacot.o: lib/cplex/cacot.c
${CC} -O0 -g -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/cacot.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/cacot.c
cacoth.o: lib/cplex/cacoth.c
${CC} -O0 -g -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/cacoth.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/cacoth.c
cacsc.o: lib/cplex/cacsc.c
${CC} -O0 -g -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/cacsc.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/cacsc.c
cacsch.o: lib/cplex/cacsch.c
${CC} -O0 -g -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/cacsch.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/cacsch.c
casec.o: lib/cplex/casec.c
${CC} -O0 -g -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/casec.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/casec.c
casech.o: lib/cplex/casech.c
${CC} -O0 -g -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/casech.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/casech.c
casin.o: lib/cplex/casin.c
${CC} -O0 -g -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/casin.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/casin.c
casinh.o: lib/cplex/casinh.c
${CC} -O0 -g -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/casinh.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/casinh.c
catan.o: lib/cplex/catan.c
${CC} -O0 -g -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/catan.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/catan.c
catanh.o: lib/cplex/catanh.c
${CC} -O0 -g -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/catanh.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/catanh.c
ccbrt.o: lib/cplex/ccbrt.c
${CC} -O0 -g -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/ccbrt.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/ccbrt.c
ccos.o: lib/cplex/ccos.c
${CC} -O0 -g -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/ccos.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/ccos.c
ccosh.o: lib/cplex/ccosh.c
${CC} -O0 -g -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/ccosh.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/ccosh.c
ccot.o: lib/cplex/ccot.c
${CC} -O0 -g -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/ccot.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/ccot.c
ccoth.o: lib/cplex/ccoth.c
${CC} -O0 -g -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/ccoth.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/ccoth.c
ccsc.o: lib/cplex/ccsc.c
${CC} -O0 -g -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/ccsc.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/ccsc.c
ccsch.o: lib/cplex/ccsch.c
${CC} -O0 -g -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/ccsch.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/ccsch.c
cexp.o: lib/cplex/cexp.c
${CC} -O0 -g -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/cexp.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/cexp.c
clog.o: lib/cplex/clog.c
${CC} -O0 -g -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/clog.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/clog.c
clog10.o: lib/cplex/clog10.c
${CC} -O0 -g -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/clog10.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/clog10.c
clogb.o: lib/cplex/clogb.c
${CC} -O0 -g -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/clogb.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/clogb.c
cpow.o: lib/cplex/cpow.c
${CC} -O0 -g -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/cpow.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/cpow.c
csec.o: lib/cplex/csec.c
${CC} -O0 -g -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/csec.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/csec.c
csech.o: lib/cplex/csech.c
${CC} -O0 -g -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/csech.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/csech.c
csgn.o: lib/cplex/csgn.c
${CC} -O0 -g -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/csgn.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/csgn.c
csin.o: lib/cplex/csin.c
${CC} -O0 -g -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/csin.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/csin.c
csinh.o: lib/cplex/csinh.c
${CC} -O0 -g -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/csinh.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/csinh.c
csqrt.o: lib/cplex/csqrt.c
${CC} -O0 -g -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/csqrt.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/csqrt.c
ctan.o: lib/cplex/ctan.c
${CC} -O0 -g -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/ctan.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/ctan.c
ctanh.o: lib/cplex/ctanh.c
${CC} -O0 -g -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/ctanh.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/ctanh.c
prim.o: lib/cplex/prim.c
${CC} -O0 -g -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/prim.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -Ilib/cplex -c lib/cplex/prim.c
alloccpy.o: lib/clib/alloccpy.c
${CC} -O0 -g -std=c9x -fno-builtin -Wall -Werror -Ilib -c lib/clib/alloccpy.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -c lib/clib/alloccpy.c
mem.o: lib/clib/mem.c
${CC} -O0 -g -std=c9x -fno-builtin -Wall -Werror -Ilib -c lib/clib/mem.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -c lib/clib/mem.c
memcpy.o: lib/clib/memcpy.c
${CC} -O0 -g -std=c9x -fno-builtin -Wall -Werror -Ilib -c lib/clib/memcpy.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -c lib/clib/memcpy.c
memset.o: lib/clib/memset.c
${CC} -O0 -g -std=c9x -fno-builtin -Wall -Werror -Ilib -c lib/clib/memset.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -c lib/clib/memset.c
strcmp.o: lib/clib/strcmp.c
${CC} -O0 -g -std=c9x -fno-builtin -Wall -Werror -Ilib -c lib/clib/strcmp.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -c lib/clib/strcmp.c
strlen.o: lib/clib/strlen.c
${CC} -O0 -g -std=c9x -fno-builtin -Wall -Werror -Ilib -c lib/clib/strlen.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -c lib/clib/strlen.c
untag.o: lib/clib/untag.c
${CC} -O0 -g -std=c9x -fno-builtin -Wall -Werror -Ilib -c lib/clib/untag.c
${CC} -O3 -std=c9x -fno-builtin -Wall -Werror -Ilib -c lib/clib/untag.c
dragon4.o: lib/dconv/dragon4.cpp
${CC} -O0 -g -fno-builtin -Wall -Werror -Ilib -Ilib/dconv -c lib/dconv/dragon4.cpp
${CC} -O3 -fno-builtin -Wall -Werror -Ilib -Ilib/dconv -c lib/dconv/dragon4.cpp
dmath.o: lib/dconv/dmath.cpp
${CC} -O0 -g -fno-builtin -Wall -Werror -Ilib -Ilib/dconv -c lib/dconv/dmath.cpp
${CC} -O3 -fno-builtin -Wall -Werror -Ilib -Ilib/dconv -c lib/dconv/dmath.cpp
dprint.o: lib/dconv/dprint.cpp
${CC} -O0 -g -fno-builtin -Wall -Werror -Ilib -Ilib/dconv -c lib/dconv/dprint.cpp
${CC} -O3 -fno-builtin -Wall -Werror -Ilib -Ilib/dconv -c lib/dconv/dprint.cpp
libs: libamath libcomplex libcamath libamathapp
@ -405,7 +405,7 @@ libcamath: alloccpy.o mem.o memcpy.o memset.o strcmp.o strlen.o untag.o dragon4
${RANLIB} libcamath.a
app: libs evaluator.o functions.o graphlist.o lexer.o nodes.o operators.o optimizer.o parser.o statements.o token.o values.o viewer.o console.o console_amiga.o console_stdc.o filesystem_amiga.o filesystem_stdc.o graph.o graph_amiga.o graph_gtk.o language.o language_amiga.o language_stdc.o preferences.o preferences_amiga.o preferences_stdc.o proc_amiga.o program.o program_amiga.o program_stdc.o program_test.o task_amiga.o task_stdc.o window_amiga.o io.o main.o
${CC} ${CFLAGS} -L. -o amath evaluator.o functions.o graphlist.o lexer.o nodes.o operators.o optimizer.o parser.o statements.o token.o values.o viewer.o console.o console_amiga.o console_stdc.o filesystem_amiga.o filesystem_stdc.o graph.o graph_amiga.o graph_gtk.o language.o language_amiga.o language_stdc.o preferences.o preferences_amiga.o preferences_stdc.o proc_amiga.o program.o program_amiga.o program_stdc.o program_test.o task_amiga.o task_stdc.o window_amiga.o io.o main.o ${LFLAGS}
${CC} ${CFLAGS} -s -L. -o amath evaluator.o functions.o graphlist.o lexer.o nodes.o operators.o optimizer.o parser.o statements.o token.o values.o viewer.o console.o console_amiga.o console_stdc.o filesystem_amiga.o filesystem_stdc.o graph.o graph_amiga.o graph_gtk.o language.o language_amiga.o language_stdc.o preferences.o preferences_amiga.o preferences_stdc.o proc_amiga.o program.o program_amiga.o program_stdc.o program_test.o task_amiga.o task_stdc.o window_amiga.o io.o main.o ${LFLAGS}
dist: app
${MKDIR} dist

View File

@ -81,7 +81,7 @@ void CharBuffer::ClearAndCopy(const char* source)
{
ClearBuffer();
cursize = AllocAndCopy(&buf, source);
ptr = buf + cursize - 1;
ptr = buf + cursize - sizeof(char);
}
/**
@ -229,6 +229,24 @@ bool CharBuffer::RemoveTrailing(const char c)
return false;
}
bool CharBuffer::RemoveTrailing(const char *string)
{
int len = StrLen(string) * sizeof(char);
char* s = ptr - len;
if (s < buf) {
return false;
}
*ptr = '\0';
if (StrIsEqual(s, string)) {
ptr = s;
return true;
}
return false;
}
char* CharBuffer::GetString()
{
*ptr = '\0';

View File

@ -63,6 +63,7 @@ public:
void DeleteLastChar();
bool RemoveTrailing(const char c);
bool RemoveTrailing(const char *string);
char *GetString();
private:

View File

@ -33,7 +33,7 @@
/**
* @file help.h
* @brief Help texts for statement.
*
*
*/
#include "clib.h"

View File

@ -33,7 +33,7 @@
/**
* @file ident.h
* @brief Help texts for built-in functions.
*
*
*/
#include "clib.h"

View File

@ -93,9 +93,10 @@
# define TXTFPU EMPTYSTRING
#endif
/******************************************************************************/
#define TXTARCH TXTCPU TXTFPU TXTTEST
#define TXTDOSVERSION "\0$VER: amath 1.60 (01-04-2015)" SPACE TXTARCH
#define TXTTITLE "amath version 1.6.0"
#define TXTDOSVERSION "\0$VER: amath 1.60 (01-04-2015)"
#define TXTCOPYRIGHT "(c) 2015 Carsten Sonne Larsen"
#define TXTSTARTMSG TXTTITLE SPACE TXTCPU TXTFPU TXTTEST SPACE TXTCOPYRIGHT
#define TXTSTARTMSG TXTTITLE SPACE TXTCOPYRIGHT SPACE TXTARCH
/******************************************************************************/
#endif

View File

@ -33,7 +33,7 @@
/**
* @file text.h
* @brief Static texts in amath.
*
*
*/
#include "clib.h"
@ -79,7 +79,7 @@ struct textdef {
};
static const textdef textdefs[] = {
{ 0, "#NORMALTEXT##BOLD##STARTMSG##NEWLINE##NORMALTEXT##COLOR02##ITALICS#Type help to show info.#NEWLINE#" }, /* INTROMSG */
{ 0, "#NORMALTEXT##BOLD##STARTMSG##NEWLINE##NORMALTEXT##COLOR02#Type help to show info.#NEWLINE#" }, /* INTROMSG */
{ 1, "Type Name#NEWLINE#-----------------------------------------------#NEWLINE#" }, /* TXTLISTDIRHEADER */
{ 2, "[file]" }, /* TXTLISTDIRTFILE */
{ 3, "[dir]" }, /* TXTLISTDIRTDIR */

View File

@ -24,7 +24,6 @@
*
*/
#include "mem.h"
#include "system/program.h"
#include "system/base/io.h"
@ -33,7 +32,6 @@ int main(int argc, char **argv)
Program = CreateProgram(argc, argv);
Program->Initialize(argc, argv);
Program->Run();
delete Program;
FreeAllSafe();
Cleanup();
return 0;
}

View File

@ -45,34 +45,68 @@
#include "system/preferences_amiga.h"
#include "system/window_amiga.h"
#include "system/graph_amiga.h"
#include "system/base/io.h"
#ifdef AMIGA
#include <exec/types.h>
#include <exec/io.h>
#include <exec/memory.h>
#include <libraries/dos.h>
#include <graphics/gfxbase.h>
#include <intuition/intuition.h>
#include <intuition/intuitionbase.h>
#include <devices/conunit.h>
#include <devices/console.h>
#include <clib/exec_protos.h>
#include <clib/alib_protos.h>
#include <clib/dos_protos.h>
#include <clib/intuition_protos.h>
#include <clib/locale_protos.h>
#endif
class Program *Program;
const char *vers = TXTDOSVERSION;
class Program *Program = NULL;
#ifdef AMIGA
static struct DosBase *DosBase = NULL;
static struct GfxBase *GfxBase = NULL;
static struct LocaleBase *LocaleBase = NULL;
static struct IntuitionBase *IntuitionBase = NULL;
#endif
class Program* CreateProgram(int argc, char **argv) {
class Program* out;
#ifdef WITHTEST
if (argc == 2 && StrIsEqual(argv[1], "test")) {
out = new TestProgram();
return new TestProgram();
} else
#endif
{
#ifdef AMIGA
out = new AmigaProgram();
IntuitionBase = (struct IntuitionBase*)OpenLibrary(INTUITION_NAME, INTUITION_REV);
GfxBase = (struct GfxBase*)OpenLibrary(GRAPHICS_NAME, GRAPHICS_REV);
if (IntuitionBase != NULL && GfxBase != NULL) {
return new AmigaProgram();
} else {
return new StandardProgram();
}
#else
out = new StandardProgram();
return new StandardProgram();
#endif
}
return out;
return NULL;
}
class Language* CreateLanguage()
{
#ifdef AMIGA
return new AmigaLanguage();
#else
return new StandardLanguage();
LocaleBase = (struct LocaleBase*)OpenLibrary(LOCALE_NAME, LOCALE_REV);
if (LocaleBase != NULL) {
return new AmigaLanguage();
} else
#endif
{
return new StandardLanguage();
}
}
class PreferencesBase* CreatePreferences()
@ -87,6 +121,10 @@ class PreferencesBase* CreatePreferences()
class FilesystemBase* CreateFilesystem()
{
#ifdef AMIGA
DosBase = (struct DosBase*)OpenLibrary(AMIGADOS_NAME, AMIGADOS_REV);
if (DosBase == NULL) {
return NULL;
}
return new AmigaFilesystem();
#else
return new StandardFilesystem();
@ -110,4 +148,25 @@ void WriteToShell(const char *out) {
#endif
}
void Cleanup()
{
#ifdef AMIGA
if (DosBase != NULL) {
CloseLibrary((struct Library*)DosBase);
}
if (LocaleBase != NULL) {
CloseLibrary((struct Library*)LocaleBase);
}
if (GfxBase != NULL) {
CloseLibrary((struct Library*)GfxBase);
}
if (IntuitionBase != NULL) {
CloseLibrary((struct Library*)IntuitionBase);
}
#endif
delete Program;
FreeAllSafe();
}

View File

@ -40,33 +40,41 @@
#define CPROCNAME "amath_console"
/******************************************************************************/
#ifdef AOS3
#define DEVCONSOLE "console.device"
#define AMIGADOS_NAME "dos.library"
#define AMIGADOS_REV 33L
#define INTUITION_REV 37L
#define INTUITION_NAME "intuition.library"
#define GRAPHICS_REV 37L
#define GRAPHICS_NAME "graphics.library"
#define LOCALE_REV 38L
#define LOCALE_NAME "locale.library"
#define DEVCONSOLE "console.device"
#define PORTCR "RKM.console.read"
#define PORTCW "RKM.console.write"
#endif
/******************************************************************************/
#ifdef AOS_PROTO
#define DEVCONSOLE (UBYTE*)"console.device"
#define INTUITION_REV 37L
#define INTUITION_NAME (UBYTE*)"intuition.library"
#define GRAPHICS_REV 37L
#define GRAPHICS_NAME (UBYTE*)"graphics.library"
#define PORTCR "RKM.console.read"
#define PORTCW "RKM.console.write"
#define CATALOG_HELP "amath-help.catalog"
#define CATALOG_IDEN "amath-ident.catalog"
#define CATALOG_TEXT "amath-text.catalog"
#define CATALOG_KEYW "amath-keyword.catalog"
#define CATALOG_DEF OC_BuiltInLanguage, "english"
#endif
/******************************************************************************/
#if defined(AROS) || defined(MORPHOS) || defined(AOS4)
#define DEVCONSOLE "console.device"
#define AMIGADOS_NAME "dos.library"
#define AMIGADOS_REV 33L
#define INTUITION_REV 37L
#define INTUITION_NAME "intuition.library"
#define GRAPHICS_REV 37L
#define GRAPHICS_NAME "graphics.library"
#define PORTCR (STRPTR)"RKM.console.read"
#define PORTCW (STRPTR)"RKM.console.write"
#define LOCALE_REV 38L
#define LOCALE_NAME "locale.library"
#define DEVCONSOLE "console.device"
#define PORTCR "RKM.console.read"
#define PORTCW "RKM.console.write"
#define CATALOG_HELP "amath-help.catalog"
#define CATALOG_IDEN "amath-ident.catalog"
#define CATALOG_TEXT "amath-text.catalog"
#define CATALOG_KEYW "amath-keyword.catalog"
#define CATALOG_DEF OC_BuiltInLanguage, "english"
#endif
/******************************************************************************/
extern const char *vers;
@ -77,5 +85,6 @@ class PreferencesBase* CreatePreferences();
class FilesystemBase* CreateFilesystem();
class GraphWindow* CreateGraphWindow();
void WriteToShell(const char*);
void Cleanup();
/******************************************************************************/
#endif

View File

@ -25,8 +25,6 @@
*/
#include "clib.h"
#ifndef AMIGA
#include <stdio.h>
#include "main/nodes.h"
#include "main/evaluator.h"
@ -116,5 +114,3 @@ void StandardConsole::SetPrompt(const char* string)
ConsoleBase::SetPrompt(string);
proc->SetPrompt(string);
}
#endif

View File

@ -34,8 +34,6 @@
*/
#include "clib.h"
#ifndef AMIGA
#include "lib/aengine.h"
#include "system/console.h"
@ -62,4 +60,3 @@ private:
};
#endif
#endif

View File

@ -32,6 +32,7 @@
#include "localize/kword.h"
#include "localize/tags.h"
#include "system/program.h"
#include "system/base/io.h"
#include "system/language_amiga.h"
#ifdef AMIGA
@ -49,50 +50,58 @@ AmigaLanguage::AmigaLanguage()
identcount = sizeof(identtexts) / sizeof(identhelpdef);
helpcount = sizeof(helptexts) / sizeof(helptextdef);
// OpenCatalog searches for files in the following locations:
// PROGDIR:Catalogs/languageName/name
// LOCALE:Catalogs/languageName/name
base = (struct LocaleBase*)OpenLibrary("locale.library", 38L);
locale = OpenLocale(NULL);
helpcatalog = OpenCatalog(locale, "amath-help.catalog",
OC_BuiltInLanguage,"english",
TAG_DONE);
identcatalog = OpenCatalog(locale, "amath-ident.catalog",
OC_BuiltInLanguage,"english",
TAG_DONE);
textcatalog = OpenCatalog(locale, "amath-text.catalog",
OC_BuiltInLanguage,"english",
TAG_DONE);
keywordcatalog = OpenCatalog(locale, "amath-keyword.catalog",
OC_BuiltInLanguage,"english",
TAG_DONE);
helpcatalog = OpenCatalog(locale, CATALOG_HELP, CATALOG_DEF, TAG_DONE);
identcatalog = OpenCatalog(locale, CATALOG_IDEN, CATALOG_DEF, TAG_DONE);
textcatalog = OpenCatalog(locale, CATALOG_TEXT, CATALOG_DEF, TAG_DONE);
keywordcatalog = OpenCatalog(locale, CATALOG_KEYW, CATALOG_DEF, TAG_DONE);
keywordsloc = new keyworddef[keywordcount];
for (unsigned int j = 0; j < keywordcount; j++) {
keywordsloc[j].id = j;
keywordsloc[j].name = GetCatalogStr(keywordcatalog, j, NULL);
keywordsloc[j].symbol = keywords[j].symbol;
if (keywordcatalog != NULL) {
keywordsloc = new keyworddef[keywordcount];
for (unsigned int j = 0; j < keywordcount; j++) {
keywordsloc[j].id = j;
keywordsloc[j].name = GetCatalogStr(keywordcatalog, j, NULL);
keywordsloc[j].symbol = keywords[j].symbol;
}
} else {
keywordcatalog = NULL;
}
}
AmigaLanguage::~AmigaLanguage()
{
CloseCatalog(helpcatalog);
CloseCatalog(identcatalog);
CloseCatalog(textcatalog);
CloseCatalog(keywordcatalog);
CloseLocale(locale);
CloseLibrary((struct Library*)base);
delete [] keywordsloc;
if (helpcatalog != NULL) {
CloseCatalog(helpcatalog);
}
if (identcatalog != NULL) {
CloseCatalog(identcatalog);
}
if (textcatalog != NULL) {
CloseCatalog(textcatalog);
}
if (keywordcatalog != NULL) {
CloseCatalog(keywordcatalog);
}
if (locale != NULL) {
CloseLocale(locale);
}
if (keywordsloc != NULL) {
delete [] keywordsloc;
}
}
Symbol AmigaLanguage::FindKeyword(const char* ident)
{
for (unsigned int i = 0; i < keywordcount; i++) {
if (
Program->Language->StrIsEqualLoc(keywords[i].name, ident) ||
Program->Language->StrIsEqualLoc(keywordsloc[i].name, ident)) {
Program->Language->StrIsEqualLoc(keywords[i].name, ident) || (keywordsloc != NULL &&
Program->Language->StrIsEqualLoc(keywordsloc[i].name, ident))) {
return keywords[i].symbol;
}
}

View File

@ -51,7 +51,6 @@ public:
Symbol FindKeyword(const char *ident);
private:
struct LocaleBase* base;
struct Locale* locale;
struct Catalog *helpcatalog;
struct Catalog *identcatalog;

View File

@ -34,8 +34,6 @@
#include "system/program.h"
#include "system/language_stdc.h"
#ifndef AMIGA
StandardLanguage::StandardLanguage()
{ }
@ -138,5 +136,3 @@ bool StandardLanguage::StrIsEqualLoc(const char* s1, const char* s2)
{
return StrIsEqual(s1, s2);
}
#endif

View File

@ -68,7 +68,7 @@ char* PreferencesBase::GetDescription()
buf->EnsureSize(
StrLen(promptkw) + sizeof(SPACE) + sizeof(promptq) +
StrLen(prompt) + sizeof(promptq) + sizeof(delimiter) +
StrLen(digitkw) + sizeof(SPACE) + StrLen(dtext) + sizeof(delimiter) + 1);
StrLen(digitkw) + sizeof(SPACE) + StrLen(dtext) + sizeof(delimiter) + sizeof(char));
buf->Append(promptkw);
buf->Append(SPACE);

View File

@ -33,8 +33,13 @@
#include <stdio.h>
#include <stdlib.h>
#ifdef UNIX
static const char *tempname = "/tmp/amath.prefs";
static const char *permname = "/usr/local/etc/amath.conf";
#else
static const char *tempname = "amath.prefs";
static const char *permname = "amath.conf";
#endif
bool StandardPreferences::Load()
{

View File

@ -34,8 +34,6 @@
#include "system/preferences_stdc.h"
#include "system/base/io.h"
#ifndef AMIGA
StandardProgram::StandardProgram()
: Program()
{
@ -97,5 +95,3 @@ void StandardProgram::Exit()
{
Console->Exit();
}
#endif

View File

@ -46,12 +46,12 @@ void TestProgram::Run()
RunTests();
if (fail == 0) {
printf("All tests passed (%i).\n", pass);
printf("All tests passed (%i)." NEWLINE, pass);
} else {
printf("Something went wrong ...\n");
printf("Something went wrong ..." NEWLINE);
debug = true;
RunTests();
printf("Passed: %i, failed: %i\n", pass, fail);
printf("Passed: %i, failed: %i" NEWLINE, pass, fail);
}
}
@ -93,18 +93,18 @@ void TestProgram::PerformTest(const char* input, const char* result, bool show)
CharBuffer *buf = new CharBuffer();
buf->ClearAndCopy(res);
buf->RemoveTrailing('\n');
buf->RemoveTrailing(NEWLINE);
delete evaluator;
if (buf->Is(result)) {
pass++;
if (!debug) {
printf("PASS: %s\n", show ? result : input);
if (debug) {
printf("PASS: %s" NEWLINE, show ? result : input);
}
} else {
fail++;
if (debug) {
printf("FAIL: %s Expected |%s| Got |%s|\n", input, result, buf->GetString());
printf("FAIL: %s Expected |%s| Got |%s|" NEWLINE, input, result, buf->GetString());
}
}

View File

@ -32,21 +32,6 @@
#include "system/base/io.h"
#ifdef AMIGA
#include <exec/types.h>
#include <exec/io.h>
#include <exec/memory.h>
#include <libraries/dos.h>
#include <graphics/gfxbase.h>
#include <intuition/intuition.h>
#include <intuition/intuitionbase.h>
#include <devices/conunit.h>
#include <devices/console.h>
#include <clib/exec_protos.h>
#include <clib/alib_protos.h>
#include <clib/dos_protos.h>
#include <clib/intuition_protos.h>
struct GfxBase *GfxBase;
struct IntuitionBase *IntuitionBase;
AmigaWindow::AmigaWindow(const char *prompt) :
ConsoleBase(prompt)
@ -60,25 +45,11 @@ AmigaWindow::AmigaWindow(const char *prompt) :
readport = NULL;
succeed = false;
openconsole = false;
intuitionBase = (struct IntuitionBase*)OpenLibrary(INTUITION_NAME, INTUITION_REV);
IntuitionBase = intuitionBase;
gfxBase = (struct GfxBase*)OpenLibrary(GRAPHICS_NAME, GRAPHICS_REV);
GfxBase = gfxBase;
}
AmigaWindow::~AmigaWindow()
{
Cleanup();
if (gfxBase) {
CloseLibrary((Library*)gfxBase);
}
if (intuitionBase) {
CloseLibrary((Library*)intuitionBase);
}
delete proc;
}
@ -109,7 +80,7 @@ void AmigaWindow::Create()
WBENCHSCREEN // open on workbench screen
};
succeed = intuitionBase != NULL && gfxBase != NULL;
succeed = true;
succeed = succeed && (writeport = CreatePort(PORTCR, 0)) != 0;
succeed = succeed && (readport = CreatePort(PORTCW, 0)) != 0;
succeed = succeed && (writereq.st = CreateExtIO(writeport, sizeof(IOStdReq))) != 0;

View File

@ -95,9 +95,6 @@ private:
unsigned char ReadChar(STRequest request);
void Cleanup();
GfxBase *gfxBase;
IntuitionBase *intuitionBase;
Window *window;
MsgPort *writeport;
MsgPort *readport;

View File

@ -30,7 +30,7 @@
; flexcat catalog/text.cd catalog/english/amath-text.ct CATALOG catalog/english/amath-text.catalog
; #############################################################################
INTROMSG
#NORMALTEXT##BOLD##STARTMSG##NEWLINE##NORMALTEXT##COLOR02##ITALICS#Type help to show info.#NEWLINE#
#NORMALTEXT##BOLD##STARTMSG##NEWLINE##NORMALTEXT##COLOR02#Type help to show info.#NEWLINE#
TXTLISTDIRHEADER
Type Name#NEWLINE#-----------------------------------------------#NEWLINE#
TXTLISTDIRTFILE

3
configure vendored
View File

@ -229,7 +229,8 @@ if $VALID ; then
fi
# Use under certain circumstances when GCC is causing problems with FPU
nff="-fno-strict-aliasing -ffloat-store "
#nff="-fno-strict-aliasing -ffloat-store "
nff=" "
(
echo "# Portable Makefile generated by configure"

View File

@ -32,8 +32,15 @@
#define EMPTYSTRING ""
#define SPACE " "
#ifdef _WIN32
#define NEWLINE "\r\n"
#else
#define NEWLINE "\n"
#endif
#define NOMEM 0
#define LONG_BIT 32
#define wsize sizeof(unsigned int)
#define wmask (wsize - 1)
@ -85,6 +92,8 @@ typedef int bool;
# include <clib/alib_protos.h>
# include <clib/exec_protos.h>
# include <clib/dos_protos.h>
# include <devices/console.h>
# include <devices/conunit.h>
#endif
// Check weather an POSIX compatible API is available
@ -100,14 +109,12 @@ typedef int bool;
# include <termios.h>
#endif
/* STDC */
#ifndef AMIGA
#if !defined(AMIGA) && defined(__STDC__)
# include <stdio.h>
# include <stdint.h>
# include <stdlib.h>
#endif
/* GCC 4.x & AROS API */
#ifdef AROS
# include <stdint.h>
# include <sys/types.h>
@ -148,9 +155,8 @@ inline void operator delete[] (void* ptr) {
#endif
#endif
#ifdef __cplusplus
#if (__GNUC__ > 2)
#if (__GNUC__ > 2) || defined (_WIN32)
#include <new>
inline void* operator new (size_t size) throw(std::bad_alloc) {
return AllocMemSafe(size);

View File

@ -33,7 +33,7 @@
; ## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
; ###################################################################################
INTROMSG (/4/)
#NORMALTEXT##BOLD##STARTMSG##NEWLINE##NORMALTEXT##COLOR02##ITALICS#Type help to show info.#NEWLINE#
#NORMALTEXT##BOLD##STARTMSG##NEWLINE##NORMALTEXT##COLOR02#Type help to show info.#NEWLINE#
TXTLISTDIRHEADER (/4/)
Type Name#NEWLINE#-----------------------------------------------#NEWLINE#
TXTLISTDIRTFILE (/4/)