Пример #1
0
        private void ToolStripButton_RUN_LOGO_Click(object sender, EventArgs e)
        {
            string InputCode = PROGRAM_TEXTBOX.Text;
            var    logo_PSER = new LogoParser();
            var    outputStr = logo_PSER._Parse(ref InputCode);

            LOGO_TreeView.Nodes.Clear();
            loadLogoTree(ref outputStr);
            LogoTextOut.Text = EXT.FormatJsonOutput(outputStr.ToJson());
            LOGO_ERRORS.Text = "";
            if (logo_PSER.ParserErrors is object)
            {
                if (logo_PSER.ParserErrors.Count > 0)
                {
                    LOGO_ERRORS.Text = "Error in Syntax :" + Constants.vbNewLine;
                    foreach (var item in logo_PSER.ParserErrors)
                    {
                        LOGO_ERRORS.Text += Constants.vbNewLine + item + Constants.vbNewLine;
                    }
                    if (outputStr.Body is object)
                    {
                        foreach (var item in outputStr.Body)
                        {
                            Small_PL_TextboxErrors.ForeColor = Color.Red;
                            LOGO_ERRORS.Text += Constants.vbNewLine + item.ToJson() + Constants.vbNewLine;
                        }
                    }
                    else
                    {
                    }
                }
                else
                {
                    LOGO_ERRORS.ForeColor = Color.Green;
                    LOGO_ERRORS.Text      = "all Passed sucessfully" + Constants.vbNewLine;
                }
            }
        }
Пример #2
0
        public static ICollection <BaseLogoCommand> CreateAndParse(string programText)
        {
            var parser = new LogoParser(new LogoScanner(programText), symbolTable);

            return(parser.ParseLogoProgram());
        }
Пример #3
0
        private static void TestParseProgram(string program)
        {
            var parser = new LogoParser(new LogoScanner(program), symbolTable);

            parser.ParseLogoProgram();
        }