Port many tests and fix small bugs revealed in Kalypso (passes 24/72) - tests have also revealed more extensive features not yet implemented, and I seem to have messed up a test or two so that the C++ version also fails a couple more (it's at 59/71 now). Will investigate
This commit is contained in:
@@ -22,6 +22,10 @@ fun println(to_print: double) {
|
||||
print(to_print)
|
||||
print("\n")
|
||||
}
|
||||
fun println(to_print: bool) {
|
||||
print(to_print)
|
||||
print("\n")
|
||||
}
|
||||
fun print(to_print: *char) {
|
||||
__if_comp__ __C__ simple_passthrough(to_print::) """
|
||||
printf("%s", to_print);
|
||||
@@ -48,4 +52,8 @@ fun print(to_print: double) {
|
||||
printf("%f", to_print);
|
||||
"""
|
||||
}
|
||||
fun print(to_print: bool) {
|
||||
if (to_print) print("true")
|
||||
else print("false")
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import io:*;
|
||||
import simple_print:*;
|
||||
|
||||
fun fibanacci(num: int): int {
|
||||
if (num < 2)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import io:*
|
||||
import simple_print:*
|
||||
|
||||
fun retVoid() {
|
||||
println("Woooo")
|
||||
|
||||
@@ -5,5 +5,4 @@ Spam
|
||||
We'll find out.
|
||||
34
|
||||
woo not
|
||||
true
|
||||
false
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
import io:*
|
||||
import string:*
|
||||
import simple_print:*
|
||||
|
||||
fun main(): int {
|
||||
io::println("Spam");
|
||||
simple_print::println("Spam");
|
||||
var x: int = 4;
|
||||
x += 3;
|
||||
x++;
|
||||
@@ -11,15 +10,14 @@ fun main(): int {
|
||||
var q :int = z+z;
|
||||
var q2:int = z*3;
|
||||
var q3:int = y + y;
|
||||
io::println(q3);
|
||||
io::println(z);
|
||||
io::println(q);
|
||||
simple_print::println(q3);
|
||||
simple_print::println(z);
|
||||
simple_print::println(q);
|
||||
for (var i:int = 0; i < 20; i++;) z++;
|
||||
if (z > 20) io::println("We'll find out.");
|
||||
io::println(z);
|
||||
if (z > 20) simple_print::println("We'll find out.");
|
||||
simple_print::println(z);
|
||||
var boolean = false
|
||||
if ( z > 20 && !boolean)
|
||||
io::println("woo not")
|
||||
io::println(string("ab")[0] == 'a')
|
||||
io::println('b' == 'a')
|
||||
simple_print::println("woo not")
|
||||
simple_print::println('b' == 'a')
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import io:*
|
||||
import simple_print:*
|
||||
|
||||
obj BracketAssign {
|
||||
fun operator[]=(index:int, rhs:int) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import io:*
|
||||
import simple_print:*
|
||||
|
||||
fun main():int {
|
||||
for (var i = 1; i < 10; i++;) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*here*/
|
||||
/*here*/import /*here*/io/*here*/:/*here*/*/*here*/
|
||||
/*here*/import /*here*/simple_print/*here*/:/*here*/*/*here*/
|
||||
/*here*/
|
||||
/*here*/fun/*here*/ main/*here*/(/*here*/)/*here*/:/*here*/ int/*here*/ {/*here*/
|
||||
/*here*/ println/*here*/( /*here*/1 /*here*/ )/*here*/
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import io:*
|
||||
import simple_print:*
|
||||
import vector:*
|
||||
|
||||
fun onlyMatch(vec: vector<int>, matchWith: int): vector<int> {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import vector:*;
|
||||
import io:*;
|
||||
import simple_print:*;
|
||||
|
||||
fun test<T>(a: vector<T>): T {
|
||||
return a.at(0);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* Comment first! */
|
||||
import io:*;
|
||||
import simple_print:*;
|
||||
|
||||
fun main(): int {
|
||||
println(1337) /*how bout now*/
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import io:*
|
||||
import simple_print:*
|
||||
|
||||
obj wDestructor {
|
||||
var data: *char
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import io:*;
|
||||
import simple_print:*;
|
||||
|
||||
|
||||
fun main(): int {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import io:*;
|
||||
import simple_print:*;
|
||||
|
||||
fun ret1(): int {
|
||||
return ret2() / 2;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import io:*
|
||||
import simple_print:*
|
||||
|
||||
obj Traited(Traits) {}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import io:*
|
||||
import simple_print:*
|
||||
|
||||
fun do_num(it: int) {
|
||||
print("int: ")
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import io:*;
|
||||
import simple_print:*;
|
||||
|
||||
obj firstObject {
|
||||
var objectNum: int;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import io:*
|
||||
import simple_print:*
|
||||
|
||||
fun main():int {
|
||||
println("multi
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import io:*;
|
||||
import simple_print:*;
|
||||
|
||||
|
||||
fun main(): int {
|
||||
|
||||
@@ -1,32 +1,32 @@
|
||||
import io;
|
||||
import simple_print;
|
||||
import scopeQualified;
|
||||
import scopeUnqualified : * ;
|
||||
|
||||
fun main(): int {
|
||||
io::println("Qualified io!");
|
||||
simple_print::println("Qualified simple_print!");
|
||||
|
||||
// Defined in scopeQualified
|
||||
io::println(scopeQualified::qualified_variable);
|
||||
io::println(scopeQualified::qualified_func());
|
||||
simple_print::println(scopeQualified::qualified_variable);
|
||||
simple_print::println(scopeQualified::qualified_func());
|
||||
var qClass.construct(11): scopeQualified::qualified_class;
|
||||
io::println(qClass.get());
|
||||
simple_print::println(qClass.get());
|
||||
|
||||
var sayQualified.construct("Qualified Container!"): scopeQualified::qualified_container<*char>;
|
||||
io::println(sayQualified.get());
|
||||
io::println(scopeQualified::qualified_id<*char>("Even template functions qualified!"));
|
||||
simple_print::println(sayQualified.get());
|
||||
simple_print::println(scopeQualified::qualified_id<*char>("Even template functsimple_printns qualified!"));
|
||||
|
||||
io::println();
|
||||
simple_print::println();
|
||||
|
||||
io::println("Unqualified io!");
|
||||
simple_print::println("Unqualified simple_print!");
|
||||
// Defined in scopeUnqualified
|
||||
io::println(unqualifed_variable);
|
||||
io::println(unqualified_func());
|
||||
simple_print::println(unqualifed_variable);
|
||||
simple_print::println(unqualified_func());
|
||||
var uqClass.construct(12): unqualified_class;
|
||||
io::println(uqClass.get());
|
||||
simple_print::println(uqClass.get());
|
||||
|
||||
var sayUnqualified.construct("Unqualified Container!"): unqualified_container<*char>;
|
||||
io::println(sayUnqualified.get());
|
||||
io::println(unqualified_id<*char>("Even template functions unqualified!"));
|
||||
simple_print::println(sayUnqualified.get());
|
||||
simple_print::println(unqualified_id<*char>("Even template functsimple_printns unqualified!"));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import io:*
|
||||
import simple_print:*
|
||||
|
||||
fun main(): int {
|
||||
println("no semicolons!")
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import io:*;
|
||||
import simple_print:*;
|
||||
|
||||
obj objectA {
|
||||
var a: int;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import io:*
|
||||
import simple_print:*
|
||||
|
||||
fun oneLine1():void println(7)
|
||||
fun oneLine2():int return 8
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import io:*
|
||||
import simple_print:*
|
||||
|
||||
obj test_cons(Object) {
|
||||
fun construct(): *test_cons {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import io:*
|
||||
import simple_print:*
|
||||
import sameNameOne
|
||||
import sameNameTwo
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import io:*
|
||||
import simple_print:*
|
||||
|
||||
fun is_true():bool {
|
||||
return true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import io;
|
||||
import simple_print;
|
||||
|
||||
|
||||
obj TemplateTest<T,J> {
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import io;
|
||||
import simple_print;
|
||||
|
||||
obj FirstObject {
|
||||
var objectNum: int;
|
||||
fun PrintSelf(a: int): void {
|
||||
io::print(objectNum);
|
||||
io::print(a);
|
||||
simple_print::print(objectNum);
|
||||
simple_print::print(a);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -12,6 +12,6 @@ fun main(): int {
|
||||
var wooObject: FirstObject;
|
||||
wooObject.objectNum = 5;
|
||||
wooObject.PrintSelf(7);
|
||||
io::print("\n");
|
||||
simple_print::print("\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import io:*
|
||||
import simple_print:*
|
||||
|
||||
obj templd<T> {
|
||||
var data: T
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import io:*;
|
||||
import simple_print:*;
|
||||
import trivial_container:*;
|
||||
|
||||
obj TemplateTest<T> {
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import io:*;
|
||||
import mem:*;
|
||||
import simple_print:*;
|
||||
|
||||
fun main(): int {
|
||||
var b: int;
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import io;
|
||||
import simple_print;
|
||||
|
||||
var a: int = 42;
|
||||
var b = "hi";
|
||||
|
||||
fun main(): int {
|
||||
io::println(a);
|
||||
io::println(b);
|
||||
simple_print::println(a);
|
||||
simple_print::println(b);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import io:*;
|
||||
import simple_print:*;
|
||||
import math:*;
|
||||
|
||||
fun main(): int
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import io;
|
||||
import simple_print;
|
||||
|
||||
obj ClassWithConstructor {
|
||||
var data: int;
|
||||
@@ -7,7 +7,7 @@ obj ClassWithConstructor {
|
||||
return this;
|
||||
}
|
||||
fun printData(): void {
|
||||
io::println(data);
|
||||
simple_print::println(data);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -15,6 +15,6 @@ fun main(): int {
|
||||
var object.construct(4): ClassWithConstructor;
|
||||
object.printData();
|
||||
var a :int = 8;
|
||||
io::println(a);
|
||||
simple_print::println(a);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import util:*
|
||||
import io:*
|
||||
import simple_print:*
|
||||
|
||||
obj test(Object) {
|
||||
var counter:int
|
||||
|
||||
Reference in New Issue
Block a user