    #i am macro

    library "a"

    function myfunc ( foo as Integer , bar as Float = 3.5 ) as Void
    end function

    sub mysub ( foo as Integer , bar as Float = 3.5 ) as Void
    end sub

    ' my comment

    Function MyCamelCaseFunction()
        lvalue = rvalue
    a=5
    a=5!
    a=5#
    a=5%
    a=5&

    a$=5
    a!=5
    a#=5
    a%=5
    a&=5

    a=a$
    a=a!
    a=a#
    a=a%
    a=a&

    foo()
    a.foo()
    a=a.foo()

    eval=5
    eval()
    a.eval()

    a=eval
    a=eval()
    a=a.eval()

    sleep=5
    sleep()
    a.sleep()

    a=sleep
    a=sleep()
    a=a.sleep()

    if a=b c=d
    if a foo()
    if a then foo()

    if a
    end if

    if a then
    end if

    if a
    else if
    else
    end if

    if a
    elseif
    endif

    for each a in b
    end for

    for a=1 to 10 step 2
    endFor

    for each a in b
    next

    while a
    end while

    while a
    endWhile

    a [ "a" , 1, foo() ] = 1
    a.foo()[1]=1

    a = {
        a : 1
        b : "2"
        c : function() : end function
    }

    b.foo("string",1,{a:b},1.5,[1,2,3])
    a = b.foo("string",1,{a:b},1.5,[1,2,3])

    unnamed_function = function ( a as Integer ) as Float

    a = +-b
    a = &h42abcdef
    c = var@attr
    end function

    unnamed_sub = sub ( a as Integer ) as Void
    end sub
    endFunction

    sub exceptions()
    	try=1
    	try()
    	try.foo
    	try foo

    	catch=1
    	catch()
    	catch.foo
    	catch foo

    	try
    	catch foo
    	end try

    	try ' comment
    	endtry

    	throw {a: "abc"}
    end sub

    sub inline_lambda()
    	a(a, "string")(a, "string")

    	a = sub()
    	end sub(a, "string", [a, foo("string")])

    	b = function()
    	end function(a, "string")

    	c = sub()
    	end sub
    end sub