Пример #1
0
        static void Main(string[] args)
        {
            Parser p = new Parser();

            string[]           codeLines = p.readFile("code.ivaron"); //Read code
            LinkedList <Token> list      = new LinkedList <Token>();

            try {
                list = Tokenizer.tokenize(codeLines); //Tokenize code
            } catch (CompilerException e) {
                foreach (string error in e.Errors)
                {
                    Console.WriteLine(error);
                }
            }

            if (list.Count > 0)
            {
                LinkedListNode <Token> token = list.First;
                while (token != null)
                {
                    Console.Write(token.Value.value + " ");
                    if (token.Value.value == "{" || token.Value.value == ";")
                    {
                        Console.Write("\n");
                    }
                    token = token.Next;
                }
            }

            if (list.Count > 0)
            {
                LinkedListNode <Token> token = list.First;
                while (token != null)
                {
                    Console.Write(token.Value.type + " ");
                    if (token.Value.value == "{" || token.Value.value == ";")
                    {
                        Console.Write("\n");
                    }
                    token = token.Next;
                }
            }


            NodeLinkedList nll = TheCompiler.compile(list.First);

            VirtualMachine vm = new VirtualMachine();

            vm.Run(nll);

            // Keep the console window open in debug mode.
            Console.WriteLine("Press return key to exit.");
            System.Console.ReadKey();
        }
Пример #2
0
 private void regeneratePrecompiledHeadersToolStripMenuItem_Click(object sender, EventArgs e)
 {
     TheCompiler.GeneratePrecompiledHeaders();
 }
Пример #3
0
        void CreateMenus()
        {
            MenuItem m = new MenuItem("File");

            m.Submenu = fileMenu;
            mainMenu.Append(m);

            m            = new MenuItem("New");
            m.Activated += (s, e) => Application.Quit();
            fileMenu.Append(m);
            m            = new MenuItem("Open");
            m.Activated += (s, e) => Application.Quit();
            fileMenu.Append(m);
            m            = new MenuItem("Save");
            m.Activated += (s, e) => Application.Quit();
            fileMenu.Append(m);
            m            = new MenuItem("Save As...");
            m.Activated += (s, e) => Application.Quit();
            fileMenu.Append(m);
            fileMenu.Append(new SeparatorMenuItem());
            m            = new MenuItem("Quit");
            m.Activated += (s, e) => Application.Quit();
            fileMenu.Append(m);

            m         = new MenuItem("Edit");
            m.Submenu = editMenu;
            mainMenu.Append(m);

            m            = new MenuItem("Copy");
            m.Activated += (s, e) => Application.Quit();
            editMenu.Append(m);
            m            = new MenuItem("Cut");
            m.Activated += (s, e) => Application.Quit();
            editMenu.Append(m);
            m            = new MenuItem("Paste");
            m.Activated += (s, e) => Application.Quit();
            editMenu.Append(m);
            //fileMenu.Append(new SeparatorMenuItem());
            m            = new MenuItem("Copy with picture environment");
            m.Activated += (s, e) => Application.Quit();
            editMenu.Append(m);


            m         = new MenuItem("Compilation");
            m.Submenu = compileMenu;
            mainMenu.Append(m);

            m            = new MenuItem("Compile");
            m.Activated += (s, e) => TheVM.TheDocument.Recompile();
            compileMenu.Append(m);
            m            = abortCompilationToolStripMenuItem = new MenuItem("Abort Compilation");
            m.Activated += (s, e) => TheCompiler.Instance.AbortCompilation();
            compileMenu.Append(m);
            m            = new MenuItem("Regenerate precompiled headers");
            m.Activated += (s, e) => TheCompiler.GeneratePrecompiledHeaders();
            compileMenu.Append(m);
            //fileMenu.Append(new SeparatorMenuItem());
            m            = new MenuItem("Recompile snippets");
            m.Activated += (s, e) => { }; // todo
            compileMenu.Append(m);


            m         = new MenuItem("Settings");
            m.Submenu = settingsMenu;
            mainMenu.Append(m);


            m            = new MenuItem("Options");
            m.Activated += (s, e) => Application.Quit();
            settingsMenu.Append(m);


            m         = new MenuItem("?");
            m.Submenu = helpMenu;
            mainMenu.Append(m);

            m            = new MenuItem("Help");
            m.Activated += (s, e) => Application.Quit();
            helpMenu.Append(m);
        }