Compiled test.osl -> test.oso
test string operations:

Testing abutting string literals: "foobarbaz"

foo\nbar
blah 'foo\nbar
'
blah2 'foo\\'

formtted string: 'P = 0.5 0.5 1'

concat("foo", "bar", "baz") = "foobarbaz"

strlen("") = 0
strlen("abc") = 3

substr("abcdefg", 0) = "abcdefg"
substr("abcdefg", 3) = "defg"
substr("abcdefg", -2) = "fg"
substr("abcdefg", 3, 2) = "de"
substr("abcdefg", 0, 20) = "abcdefg"
substr("abcdefg", 0, -4) = ""

startswith ("abcdef", "abc") = 1
startswith ("abcdef", "def") = 0
startswith ("abcdef", "abcdefghi") = 0
startswith ("abcdef", "") = 1
startswith ("", "abc") = 0
startswith ("", "") = 1
endswith ("abcdef", "abc") = 0
endswith ("abcdef", "def") = 1
endswith ("abcdef", "abcdefghi") = 0
endswith ("abcdef", "ghiabcdef") = 0
endswith ("abcdef", "") = 1
endswith ("", "abc") = 0
endswith ("", "") = 1

stoi("-23") = -23
stof("3.14") = 3.140000

testing split " 2 4	6    8" by "":
	4:  "2" "4" "6" "8"
testing split "3,6,9,12" by ",":
	4:  "3" "6" "9" "12"

regex_match ("foo", "f") = 0
regex_match ("foo", "f[Oo]{2}") = 1
regex_match ("foo", ".*o") = 1
regex_match ("foobar.baz", "bark") = 0
regex_match ("foobar.baz", "bar") = 1
regex_match ("foobar.baz", "[oO]{2}") = 1
regex_match ("foobar.baz", "(f[Oo]{2}).*(.az)") = 1
    results[0] = 0
    results[1] = 10
    results[2] = 0
    results[3] = 3
    results[4] = 7
    results[5] = 10

getchar("Hello World!", 0) = 72
getchar("Hello World!", 11) = 33
getchar("Hello World!", -1) = 0
getchar("Hello World!", 12) = 0

hash("Hello World!") = -16050688
hash("") = 0
strlen newline: param 1 local 1 literal 1

