Esempio n. 1
0
        /// <summary>
        /// Return a parser for the DS code.
        /// </summary>
        /// <param name="code"></param>
        /// <param name="core"></param>
        /// <param name="hasBuiltInLoaded"></param>
        /// <returns></returns>
        public static DesignScriptParser.Parser CreateParser(string code, ProtoCore.Core core)
        {
            byte[] buffer     = System.Text.Encoding.UTF8.GetBytes(code);
            byte[] utf8Buffer = new byte[buffer.Length + 3];

            // Add UTF-8 BOM - Coco/R requires UTF-8 stream should contain BOM
            utf8Buffer[0] = (byte)0xEF;
            utf8Buffer[1] = (byte)0xBB;
            utf8Buffer[2] = (byte)0xBF;
            Array.Copy(buffer, 0, utf8Buffer, 3, buffer.Length);

            System.IO.MemoryStream     memstream = new System.IO.MemoryStream(utf8Buffer);
            DesignScriptParser.Scanner scanner   = new DesignScriptParser.Scanner(memstream);
            DesignScriptParser.Parser  parser    = new DesignScriptParser.Parser(scanner, core, core.builtInsLoaded);
            return(parser);
        }
Esempio n. 2
0
        /// <summary>
        /// Return a parser for the DS code.
        /// </summary>
        /// <param name="code"></param>
        /// <param name="core"></param>
        /// <param name="hasBuiltInLoaded"></param>
        /// <returns></returns>
        public static DesignScriptParser.Parser CreateParser(string code, ProtoCore.Core core)
        {
            byte[] buffer = System.Text.Encoding.UTF8.GetBytes(code);
            byte[] utf8Buffer = new byte[buffer.Length + 3];

            // Add UTF-8 BOM - Coco/R requires UTF-8 stream should contain BOM
            utf8Buffer[0] = (byte)0xEF;
            utf8Buffer[1] = (byte)0xBB;
            utf8Buffer[2] = (byte)0xBF;
            Array.Copy(buffer, 0, utf8Buffer, 3, buffer.Length);

            System.IO.MemoryStream memstream = new System.IO.MemoryStream(utf8Buffer);
            DesignScriptParser.Scanner scanner = new DesignScriptParser.Scanner(memstream);
            DesignScriptParser.Parser parser = new DesignScriptParser.Parser(scanner, core, core.builtInsLoaded);
            return parser;
        }