Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site











SourceForge.net Logo

EscApp

 

Using Esc scripting language in U++ application

 

 

EscApp.cpp

 

#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";

    }

}

 

 

 

 

Do you want to contribute?