Files
kraken/tests/to_parse.krak

142 lines
4.0 KiB
Plaintext
Raw Normal View History

import to_import: simple_print, simple_println, a, b, string_id
/*
2016-01-30 22:04:37 -05:00
fun something(param: int): Something {
var to_ret.construct_with_param(param): Something
return to_ret
}
obj Something (ObjectTrait) {
var member: int
fun construct(): *Something {
simple_println("Constructing a Something")
member = 1337
return this
}
2016-01-28 20:51:40 -05:00
fun construct_with_param(param: int): *Something {
simple_println("Constructing a Something with a param")
member = param
return this
}
fun copy_construct(old: *Something) {
simple_println("Copy Constructing a Something")
member = old->member
}
fun destruct() {
simple_print("Destructing a Something: ")
simple_println(member)
}
fun method(a: int):int {
return 5+a+member + other_method()
}
fun other_method(): int return 7;
2016-01-24 01:02:56 -05:00
fun return_this(): *Something {
return this;
}
}
2016-01-30 23:59:21 -05:00
fun return_something_p_1(it: Something): Something {
it.member += 11
return it
}
*/
fun id<T>(in: *T): *T return in;
fun id<T>(in: T): T return in;
fun other_id<T>(in: T): T {
var a: T
a = in
simple_println(id<T>(in))
return in;
}
/*
fun some_function(): int return 0;
fun some_other_function(in: bool): float {
return 0.0
}
*/
fun main(): int {
var a = id<int>(7)
simple_println(a)
var b = id<int>(8)
/*var b = id<*char>("Double down time")*/
/*simple_println(b)*/
simple_println(id<char>("Double down time"))
simple_println(other_id<*char>("Triple down time"))
/*var test_methods = something(77)*/
/*var test_methods_param.construct_with_param(10090): Something*/
/*simple_println("Constructing an object and printint its member, copy-constructing it, and printing that out, then letting both be destructed")*/
/*simple_println(test_methods.member)*/
/*simple_println(test_methods_param.member)*/
/*var second_obj = test_methods*/
/*second_obj.member += 5*/
/*simple_println(second_obj.member)*/
/*[>var some = return_something_p_1(second_obj)<]*/
/*simple_println(return_something_p_1(second_obj).member)*/
2016-01-30 22:04:37 -05:00
return 0
/*
var a_declaration:int
simple_print(1 + 2)
var again = 2 + 4 - 1 * 400
simple_print(again)
again = 2 + (4 - 1) * 400
simple_print(again)
var another_declaration: int = 8.0
simple_print(another_declaration)
var yet_another_declaration = "Hello Marcus\n"
simple_print(yet_another_declaration)
simple_print("Hello World!\n")
simple_print(1337)
if (1 + 2 && false) simple_print("its true!")
else simple_print("its false!")
2016-01-24 17:31:41 -05:00
var counter = 10
counter--
--counter
while (counter) simple_print(counter--)
simple_print("\n")
counter = 8
while (counter) {
simple_print(--counter)
if (counter == 2)
break
}
simple_print("\n")
for (var j = 0; j < 10; j++;)
if (j%2) continue
else simple_print(j)
var an_obj: Something
2016-01-21 19:16:29 -05:00
an_obj.member = 20
simple_print(an_obj.member)
simple_print("here is thing")
simple_print(123)
simple_print("\n")
simple_print(an_obj.method(1))
simple_print("\n")
2016-01-24 01:02:56 -05:00
simple_print(string_id("WoooopsEee\n"))
var with_ptr = an_obj.return_this()
simple_print(with_ptr->method(2))
simple_print("\n")
{
defer simple_print("should_be_third\n")
defer simple_print("should_be_second\n")
simple_print("should be first\n")
}
for (var i = 1; i < 10; i++;) {
defer simple_println("OUTER:happens every time, even when breaking or continueing")
{
defer simple_println("INNER:happens every time, even when breaking or continueing")
if (i % 2 == 0)
continue
if (i == 9)
break
simple_println(i)
}
}
defer simple_println("Here is a return defer outer")
{
defer simple_println("Here is a return defer inner")
return 0
}
*/
}