コード例 #1
0
        Calc TestMethods(string code)
        {
            var mi = new ArduinoTestMachineInfo();
            var c  = new Calc();

            mi.AddGlobalMethods(c);
            Run("void main() { " + code.Replace("c.", "") + "}", mi);
            return(c);
        }
コード例 #2
0
        Calc TestReference(string code)
        {
            var mi = new ArduinoTestMachineInfo();
            var c  = new Calc();

            mi.AddGlobalReference("c", c);
            Run("void main() { " + code + "}", mi);
            return(c);
        }
コード例 #3
0
        ArduinoTestMachineInfo.TestArduino Run(string code)
        {
            var machine  = new ArduinoTestMachineInfo();
            var fullCode = code + "\n\nvoid main() { __cinit(); setup(); while(1){loop();}}";
            var i        = CLanguageService.CreateInterpreter(fullCode, machine, new TestPrinter());

            i.Reset("main");
            i.Step();
            return(machine.Arduino);
        }
コード例 #4
0
ファイル: IntegerTests.cs プロジェクト: optimax/CLanguage
        public void ArduinoPromote()
        {
            var mi = new ArduinoTestMachineInfo();

            TestPromote(mi, "unsigned char", 2, Signedness.Signed);
            TestPromote(mi, "char", 2, Signedness.Signed);
            TestPromote(mi, "short", 2, Signedness.Signed);
            TestPromote(mi, "unsigned short", 2, Signedness.Unsigned);
            TestPromote(mi, "int", 2, Signedness.Signed);
            TestPromote(mi, "unsigned int", 2, Signedness.Unsigned);
            TestPromote(mi, "long", 4, Signedness.Signed);
            TestPromote(mi, "unsigned long", 4, Signedness.Unsigned);
        }
コード例 #5
0
ファイル: IntegerTests.cs プロジェクト: optimax/CLanguage
        public void ArduinoArithmatic()
        {
            var mi = new ArduinoTestMachineInfo();

            TestArithmetic(mi, "char", "char", CBasicType.SignedInt);
            TestArithmetic(mi, "char", "unsigned char", CBasicType.SignedInt);
            TestArithmetic(mi, "char", "short", CBasicType.SignedInt);
            TestArithmetic(mi, "char", "unsigned short", CBasicType.UnsignedInt);
            TestArithmetic(mi, "char", "int", CBasicType.SignedInt);
            TestArithmetic(mi, "char", "unsigned int", CBasicType.UnsignedInt);
            TestArithmetic(mi, "char", "long", CBasicType.SignedLongInt);
            TestArithmetic(mi, "char", "unsigned long", CBasicType.UnsignedLongInt);

            TestArithmetic(mi, "unsigned char", "char", CBasicType.SignedInt);
            TestArithmetic(mi, "unsigned char", "unsigned char", CBasicType.SignedInt);
            TestArithmetic(mi, "unsigned char", "short", CBasicType.SignedInt);
            TestArithmetic(mi, "unsigned char", "unsigned short", CBasicType.UnsignedInt);
            TestArithmetic(mi, "unsigned char", "int", CBasicType.SignedInt);
            TestArithmetic(mi, "unsigned char", "unsigned int", CBasicType.UnsignedInt);
            TestArithmetic(mi, "unsigned char", "long", CBasicType.SignedLongInt);
            TestArithmetic(mi, "unsigned char", "unsigned long", CBasicType.UnsignedLongInt);

            TestArithmetic(mi, "short", "char", CBasicType.SignedInt);
            TestArithmetic(mi, "short", "unsigned char", CBasicType.SignedInt);
            TestArithmetic(mi, "short", "short", CBasicType.SignedInt);
            TestArithmetic(mi, "short", "unsigned short", CBasicType.UnsignedInt);
            TestArithmetic(mi, "short", "int", CBasicType.SignedInt);
            TestArithmetic(mi, "short", "unsigned int", CBasicType.UnsignedInt);
            TestArithmetic(mi, "short", "long", CBasicType.SignedLongInt);
            TestArithmetic(mi, "short", "unsigned long", CBasicType.UnsignedLongInt);

            TestArithmetic(mi, "unsigned short", "char", CBasicType.UnsignedInt);
            TestArithmetic(mi, "unsigned short", "unsigned char", CBasicType.UnsignedInt);
            TestArithmetic(mi, "unsigned short", "short", CBasicType.UnsignedInt);
            TestArithmetic(mi, "unsigned short", "unsigned short", CBasicType.UnsignedInt);
            TestArithmetic(mi, "unsigned short", "int", CBasicType.UnsignedInt);
            TestArithmetic(mi, "unsigned short", "unsigned int", CBasicType.UnsignedInt);
            TestArithmetic(mi, "unsigned short", "long", CBasicType.SignedLongInt);
            TestArithmetic(mi, "unsigned short", "unsigned long", CBasicType.UnsignedLongInt);

            TestArithmetic(mi, "int", "char", CBasicType.SignedInt);
            TestArithmetic(mi, "int", "unsigned char", CBasicType.SignedInt);
            TestArithmetic(mi, "int", "short", CBasicType.SignedInt);
            TestArithmetic(mi, "int", "unsigned short", CBasicType.UnsignedInt);
            TestArithmetic(mi, "int", "int", CBasicType.SignedInt);
            TestArithmetic(mi, "int", "unsigned int", CBasicType.UnsignedInt);
            TestArithmetic(mi, "int", "long", CBasicType.SignedLongInt);
            TestArithmetic(mi, "int", "unsigned long", CBasicType.UnsignedLongInt);

            TestArithmetic(mi, "unsigned int", "char", CBasicType.UnsignedInt);
            TestArithmetic(mi, "unsigned int", "unsigned char", CBasicType.UnsignedInt);
            TestArithmetic(mi, "unsigned int", "short", CBasicType.UnsignedInt);
            TestArithmetic(mi, "unsigned int", "unsigned short", CBasicType.UnsignedInt);
            TestArithmetic(mi, "unsigned int", "int", CBasicType.UnsignedInt);
            TestArithmetic(mi, "unsigned int", "unsigned int", CBasicType.UnsignedInt);
            TestArithmetic(mi, "unsigned int", "long", CBasicType.SignedLongInt);
            TestArithmetic(mi, "unsigned int", "unsigned long", CBasicType.UnsignedLongInt);

            TestArithmetic(mi, "long", "char", CBasicType.SignedLongInt);
            TestArithmetic(mi, "long", "unsigned char", CBasicType.SignedLongInt);
            TestArithmetic(mi, "long", "short", CBasicType.SignedLongInt);
            TestArithmetic(mi, "long", "unsigned short", CBasicType.SignedLongInt);
            TestArithmetic(mi, "long", "int", CBasicType.SignedLongInt);
            TestArithmetic(mi, "long", "unsigned int", CBasicType.SignedLongInt);
            TestArithmetic(mi, "long", "long", CBasicType.SignedLongInt);
            TestArithmetic(mi, "long", "unsigned long", CBasicType.UnsignedLongInt);

            TestArithmetic(mi, "unsigned long", "char", CBasicType.UnsignedLongInt);
            TestArithmetic(mi, "unsigned long", "unsigned char", CBasicType.UnsignedLongInt);
            TestArithmetic(mi, "unsigned long", "short", CBasicType.UnsignedLongInt);
            TestArithmetic(mi, "unsigned long", "unsigned short", CBasicType.UnsignedLongInt);
            TestArithmetic(mi, "unsigned long", "int", CBasicType.UnsignedLongInt);
            TestArithmetic(mi, "unsigned long", "unsigned int", CBasicType.UnsignedLongInt);
            TestArithmetic(mi, "unsigned long", "long", CBasicType.UnsignedLongInt);
            TestArithmetic(mi, "unsigned long", "unsigned long", CBasicType.UnsignedLongInt);
        }