游戏编程语言 Squirrel

jopen 13年前
     <p>Squirrel 是一种高层次势在必行/面向对象编程语言,设计是一个强大的脚本工具,适合的大小,内存带宽,实时性要求的应用,如游戏。它具有以下特性:</p>    <ul>     <li>Open Source MIT licence </li>     <li>dynamic typing </li>     <li>delegation </li>     <li>classes & inheritance </li>     <li>higher order functions </li>     <li>lexical scoping </li>     <li>generators </li>     <li>cooperative threads(coroutines)  </li>     <li>tail recursion </li>     <li>exception handling </li>     <li>automatic memory management (CPU bursts free; mixed approach ref counting/GC) </li>     <li>both compiler and virtual machine fit together in about 7k lines of C++ code and add only around 100kb-150kb the executable size. </li>     <li>optional 16bits characters strings</li>     <li>powerful embedding api      <ul>       <li>eg. function/classes can be defined by scripts or in C</li>       <li>eg. objects can fully exist in the VM or be bound to native code</li>       <li>eg. classes created in C can be extended by scripts or vice-versa</li>       <li>and more</li>      </ul> <p>Squirrel is inspired by languages like Python,Javascript and especially Lua(The API is very similar and the table code is based on the Lua one)</p> </li>    </ul>    <p>示例代码</p>    <pre class="brush:javascript; toolbar: true; auto-links: false;">local table = {  a = "10"  subtable = {   array = [1,2,3]  },  [10 + 123] = "expression index" }  local array=[ 1, 2, 3, { a = 10, b = "string" } ];  foreach(i,val in array) {  ::print("the type of val is"+typeof val); }</pre>    <p></p>    <p><strong>项目主页:</strong><a href="http://www.open-open.com/lib/view/home/1326607474515" target="_blank">http://www.open-open.com/lib/view/home/1326607474515</a></p>