Beispiel #1
0
        public void CanParseFullInstruction()
        {
            WooComputer.Assembler.AssemblerAnalyzer analyzer = new WooComputer.Assembler.AssemblerAnalyzer();
            WooComputer.Assembler a = new WooComputer.Assembler(16,
                @"
                    (GO)
                        @variable1
                        @variable2
                        D=D+1

                    (Stop)
                        @variable3
                        D=D+1

                ", analyzer);

            var output = a.GetOutput();
            Assert.IsTrue(output.Count() == 3);
            var variables = analyzer.GetVariableTable();
            Assert.IsTrue(variables.Count() == 3);
            Assert.IsTrue(variables.ContainsKey("variable1"));
            Assert.IsTrue(variables.ContainsKey("variable2"));
            Assert.IsTrue(variables.ContainsKey("variable3"));

            Assert.IsTrue(variables["variable1"] == 16);
            Assert.IsTrue(variables["variable2"] == 17);
            Assert.IsTrue(variables["variable3"] == 18);

            var labels = analyzer.GetLabelTable();
            Assert.IsTrue(labels.Count() == 2);
            Assert.IsTrue(labels.ContainsKey("GO"));
            Assert.IsTrue(labels.ContainsKey("Stop"));
        }
Beispiel #2
0
        public void CanParseLabel()
        {
            WooComputer.Assembler.AssemblerAnalyzer  analyzer = new WooComputer.Assembler.AssemblerAnalyzer();
            WooComputer.Assembler a = new WooComputer.Assembler(16,
                @"
                    (GO)
                        D=D+1
                        whatever
                        do stuff

                    (Stop)
                        labelstarthere
                        stuff
                         xxxx

                ",analyzer);

            var output = a.GetOutput();
            var symbols = analyzer.GetLabelTable();
            Assert.IsTrue(symbols.Count() == 2);
            Assert.IsTrue(symbols.ContainsKey("GO"));
            Assert.IsTrue(symbols.ContainsKey("Stop"));
        }
Beispiel #3
0
        public void CanParseVariable()
        {
            WooComputer.Assembler.AssemblerAnalyzer analyzer = new WooComputer.Assembler.AssemblerAnalyzer();
            WooComputer.Assembler a = new WooComputer.Assembler(16,
                @"
                    (GO)
                        @variable1
                        @variable2
                        do stuff

                    (Stop)
                        @variable3
                         xxxx

                ", analyzer);

            var output = a.GetOutput();
            Assert.IsTrue(output.Count() == 3);
            var variables = analyzer.GetVariableTable();
            Assert.IsTrue(variables.Count() == 3);
            Assert.IsTrue(variables.ContainsKey("variable1"));
            Assert.IsTrue(variables.ContainsKey("variable2"));
            Assert.IsTrue(variables.ContainsKey("variable3"));

            Assert.IsTrue(variables["variable1"] == 16);
            Assert.IsTrue(variables["variable2"] == 17);
            Assert.IsTrue(variables["variable3"] == 18);
        }