Example #1
0
 /// <summary>
 /// Logs severity to console.
 /// </summary>
 /// <param name="settings">Settings for interpreter</param>
 /// <param name="exp">The functiona call expression</param>
 public static string Log(LangSettings settings, FunctionCallExpr exp)
 {
     if (!settings.EnableLogging) return string.Empty;
     var funcname = exp.ToQualifiedName();
     var severity =funcname.Substring(funcname.IndexOf(".") + 1);
     var message = BuildMessage(exp.ParamList);
     Console.WriteLine(severity.ToUpper() + " : " + message);
     return message;
 }
Example #2
0
        /// <summary>
        /// Prints to the console.
        /// </summary>
        /// /// <param name="settings">Settings for interpreter</param>
        /// <param name="exp">The functiona call expression</param>
        /// <param name="printline">Whether to print with line or no line</param>
        public static string Print(LangSettings settings, FunctionCallExpr exp, bool printline)
        {
            if (!settings.EnablePrinting) return string.Empty;

            string message = BuildMessage(exp.ParamList);
            if (printline) Console.WriteLine(message);
            else Console.Write(message);
            return message;
        }
Example #3
0
        /// <summary>
        /// Initialize
        /// </summary>
        public Interpreter()
        {            
            _settings = new LangSettings();

            // Initialzie the context.
            _context = new Context();
            _context.Settings = _settings;
            _context.Limits.Init();

            _memory = _context.Memory;
            _parser = new Parser(_context);
            _parser.Settings = _settings;
            InitSystemFunctions();
        }
Example #4
0
 /// <summary>
 /// Runs the compiler hook/function call on the compiler languge binding class.
 /// </summary>
 /// <param name="objectName"></param>
 /// <param name="method"></param>
 /// <param name="settings"></param>
 /// <param name="expr"></param>
 /// <returns></returns>
 private object RunCompilerMethod(string objectName, string method, LangSettings settings, FunctionCallExpr expr)
 {
     var binding = new MetaCompiler();
     binding.Ctx = expr.Ctx;
     binding.ExecuteFunction(method, new object[] {expr});
     return LObjects.Null;
 }