Click here to Skip to main content
15,879,028 members
Articles / Programming Languages / Lua

ObjectScript: A new programming language

Rate me:
Please Sign up or sign in to vote.
4.24/5 (6 votes)
9 Oct 2012MIT9 min read 66.5K   107   21  
The ObjectScript is a new programing language that mixes benefits of JavaScript, Lua, and PHP. The ObjectScript has syntax from JavaScript, multiple results from Lua, OOP from PHP and much more.
[FILE] ../../examples-os/run_os_prog.os
[1] print("10 * (3+2) = ", 10 * (3+2))

begin function
  begin locals, total 2
    0 _E
    1 _G
  end locals
  begin call method
    get local var _E (0 0)
    begin params 3
      push const string "print"
      ,
      push const string "10 * (3+2) = "
      ,
      push const number 50
    end params ret values 3
  end call method ret values 0


[3] bar = {firsname="James", lastname="Bond"}

  begin set env var
    begin object 2
      begin set by name
        push const string "James"
      end set by name: [firsname]
      ,
      begin set by name
        push const string "Bond"
      end set by name: [lastname]
    end object
  end set env var bar


[4] bar.profession = "actor"

  begin set property
    push const string "actor"
    get env var auto create bar
    push const string "profession"
  end set property ret values 0


[5] print bar

  begin call method
    get local var _E (0 0)
    begin params 2
      push const string "print"
      ,
      get env var bar
    end params ret values 2
  end call method ret values 0


[7] print(concat(5, " big differences"))

  begin call method
    get local var _E (0 0)
    begin params 2
      push const string "print"
      ,
      begin call method
        get local var _E (0 0)
        begin params 3
          push const string "concat"
          ,
          push const number 5
          ,
          push const string " big differences"
        end params ret values 3
      end call method ret values 1
    end params ret values 2
  end call method ret values 0

  begin code list
    begin return
      get local var _E (0 0)
    end return values 1
  end code list ret values 0
end function

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The MIT License


Written By
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions