예제 #1
0
파일: Form1.cs 프로젝트: Northcode/NXCODE
        private void buildToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (name != null)
            {
                GetCode();
                Scanner s = new Scanner(code);
                s.Scan();
                tokens = s.Tokens.ToArray();
                TokenList t = new TokenList();
                foreach (Token tk in tokens)
                {
                    t.listBox1.Items.Add(tk.type.ToString() + " : " + tk.val.ToString());
                }
                t.MdiParent = this;
                t.Show();
                if (tokens != null)
                {
                    Parser p = new Parser(tokens);
                    p.Parse();
                    stmts = p.Result;

                    AST_Viewer a = new AST_Viewer();

                    foreach (ISTMT st in stmts)
                    {
                        a.treeView1.Nodes.Add(st.ToNode());
                    }

                    a.MdiParent = this;
                    a.Show();
                }
                StringBuilder asmb = new StringBuilder();
                asmb.AppendLine("call main\n\r");
                asmb.AppendLine("terminate\n\r");
                foreach (ISTMT st in stmts)
                {
                    asmb.Append(st.ToAssembly());
                }
                asmcode = asmb.ToString();
                CodeViewer v = new CodeViewer();
                v.textBox1.Text = asmcode;
                v.MdiParent = this;
                v.Show();
                NXCODE.Assembler asm = new NXCODE.Assembler(name, Environment.UserName, asmcode);
                asm.Assemble();
                asm.Save(name + ".nxe");
            }
        }
예제 #2
0
        private void buildToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (name != null)
            {
                GetCode();
                Scanner s = new Scanner(code);
                s.Scan();
                tokens = s.Tokens.ToArray();
                TokenList t = new TokenList();
                foreach (Token tk in tokens)
                {
                    t.listBox1.Items.Add(tk.type.ToString() + " : " + tk.val.ToString());
                }
                t.MdiParent = this;
                t.Show();
                if (tokens != null)
                {
                    Parser p = new Parser(tokens);
                    p.Parse();
                    stmts = p.Result;

                    AST_Viewer a = new AST_Viewer();

                    foreach (ISTMT st in stmts)
                    {
                        a.treeView1.Nodes.Add(st.ToNode());
                    }

                    a.MdiParent = this;
                    a.Show();
                }
                StringBuilder asmb = new StringBuilder();
                asmb.AppendLine("call main\n\r");
                asmb.AppendLine("terminate\n\r");
                foreach (ISTMT st in stmts)
                {
                    asmb.Append(st.ToAssembly());
                }
                asmcode = asmb.ToString();
                CodeViewer v = new CodeViewer();
                v.textBox1.Text = asmcode;
                v.MdiParent     = this;
                v.Show();
                NXCODE.Assembler asm = new NXCODE.Assembler(name, Environment.UserName, asmcode);
                asm.Assemble();
                asm.Save(name + ".nxe");
            }
        }
예제 #3
0
        private void parseToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (tokens != null)
            {
                Parser p = new Parser(tokens);
                p.Parse();
                stmts = p.Result;

                AST_Viewer a = new AST_Viewer();

                foreach (ISTMT s in stmts)
                {
                    a.treeView1.Nodes.Add(s.ToNode());
                }

                a.MdiParent = this;
                a.Show();
            }
        }
예제 #4
0
파일: Form1.cs 프로젝트: Northcode/NXCODE
        private void parseToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (tokens != null)
            {
                Parser p = new Parser(tokens);
                p.Parse();
                stmts = p.Result;

                AST_Viewer a = new AST_Viewer();

                foreach (ISTMT s in stmts)
                {
                    a.treeView1.Nodes.Add(s.ToNode());
                }

                a.MdiParent = this;
                a.Show();
            }
        }