ultimatepp/reference/EscApp/EscApp.cpp
mdelfede d2b54f7989 changed svn layout
git-svn-id: svn://ultimatepp.org/upp/trunk@281 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2008-06-07 22:31:27 +00:00

41 lines
740 B
C++

#include <Esc/Esc.h>
using namespace Upp;
void SIC_Print(EscEscape& e)
{
if(e[0].IsArray())
Cout() << (String) e[0];
else
if(e[0].IsNumber())
Cout() << e[0].GetNumber();
else
if(!e[0].IsVoid())
e.ThrowError("invalid argument to 'Print'");
}
void SIC_Input(EscEscape& e)
{
e = ReadStdIn();
}
void SIC_InputNumber(EscEscape& e)
{
e = atof(ReadStdIn());
}
CONSOLE_APP_MAIN
{
ArrayMap<String, EscValue> global;
Escape(global, "Print(x)", SIC_Print);
Escape(global, "Input()", SIC_Input);
Escape(global, "InputNumber()", SIC_InputNumber);
StdLib(global);
try {
Scan(global, LoadFile(GetDataFile("script.esc")));
Execute(global, "main", INT_MAX);
}
catch(CParser::Error e) {
Cout() << "ERROR: " << e << "\n";
}
}