All Projects → mingodad → squilu

mingodad / squilu

Licence: other
A scripting language that accepts a subset of javascript and C/C++

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language
Squirrel
32 projects
Roff
2310 projects
javascript
184084 projects - #8 most used programming language
Objective-C++
1391 projects

Projects that are alternatives of or similar to squilu

tipi
Tipi - the All-in-one Web Server for Ruby Apps
Stars: ✭ 214 (+210.14%)
Mutual labels:  http-server
wordvector be
Web服务:使用腾讯 800 万词向量模型和 spotify annoy 引擎得到相似关键词
Stars: ✭ 92 (+33.33%)
Mutual labels:  http-server
backend-server
📠 The backend of the Fairfield Programming Association website.
Stars: ✭ 26 (-62.32%)
Mutual labels:  http-server
go-sse
Fully featured, spec-compliant HTML5 server-sent events library
Stars: ✭ 165 (+139.13%)
Mutual labels:  http-server
matador
Take your appclication by the horns
Stars: ✭ 59 (-14.49%)
Mutual labels:  http-server
HttpServerLite
TCP-based simple HTTP and HTTPS server, written in C#.
Stars: ✭ 44 (-36.23%)
Mutual labels:  http-server
lua-fltk4lua
Lua binding to the Fast Light Tool Kit (FLTK)
Stars: ✭ 51 (-26.09%)
Mutual labels:  fltk
quiki
a file-based web engine and server featuring a productive source language, markdown, image generation, categories, templates, and revision tracking
Stars: ✭ 20 (-71.01%)
Mutual labels:  http-server
edap
No description or website provided.
Stars: ✭ 22 (-68.12%)
Mutual labels:  http-server
Jarvis
APL-based web service framework supporting JSON or REST
Stars: ✭ 17 (-75.36%)
Mutual labels:  http-server
http-server
A Java HTTP server in 35MB Docker image
Stars: ✭ 17 (-75.36%)
Mutual labels:  http-server
cpp-rest-api
RESTFul Web service by C++, implemented basic REST endpoints and RESTVerbs (GET,POST,PUT,DELETE).
Stars: ✭ 13 (-81.16%)
Mutual labels:  http-server
heart
A high performance Lua web server with a simple, powerful API
Stars: ✭ 78 (+13.04%)
Mutual labels:  http-server
pycameresp
Motion detection with image notification for Esp32CAM and Esp32 flasher with GUI based on esptool.py.
Stars: ✭ 40 (-42.03%)
Mutual labels:  http-server
mirror-http-server
A dummy HTTP server that responds whatever you told it to
Stars: ✭ 35 (-49.28%)
Mutual labels:  http-server
open-rest-es6-boilerplate
open-rest boilerplate project with es6
Stars: ✭ 24 (-65.22%)
Mutual labels:  http-server
wine
A lightweight and flexible framework to help build elegant web API
Stars: ✭ 39 (-43.48%)
Mutual labels:  http-server
libmicrohttpd-http2
HTTP/2 support for libmicrohttpd
Stars: ✭ 21 (-69.57%)
Mutual labels:  http-server
phorklift
Phorklift is an HTTP server and proxy daemon, with clear, powerful and dynamic configuration.
Stars: ✭ 43 (-37.68%)
Mutual labels:  http-server
WebServer
High-performance multi-threaded tcp network server in c++11
Stars: ✭ 58 (-15.94%)
Mutual labels:  http-server

The [http://www.squirrel-lang.org/ squirrel scripting language] seeks to address some problems of lua language and offer a C like syntax with some god extras but it lacks a source code repository and some facilities provided by default in lua like string.gsub, string.gmatch, io.lines, modules, ..., this project try to solve it and extend the language to make it even more useful.

This project is not endorsed by Squirrel or Lua authors, it's an independent effort, and it will try to cooperate with both.

Some modules, third party code, or sample code can have different licenses !!!

It is the base of a cross platform application server (windows, macosx, linux, android, wince, http/javascript, ...)

A preview of the application server running on an Android phone (Huawei U8105 IDEOS on an ADSL line) can be seem here:

Also you'll find several changes and additions to the original Squirrel 3.0.4:

Changes to the Squirrel syntax:

  • Accepts "->" as alias for "."
  • Accepts "var"/"auto" as alias for "local"
  • Accepts lua literal string delimiters "[===[" and "]===]", also "{==={" and "}===}" or "(===(" and ")===)"
  • The "new" keyword is ignored so lines like in C++/Javascript are accepted " var obj = new {{{MyClass();}}}"
  • Local scope for "const/enum", checking for redeclaration on the same compilation unit.

New functions

  • Exposed delegates for string, class, array, numbers.
  • Added new function "array.concat" with similar functionality of lua table.concat.
  • Added "write" and "read" functions to streams (only works with ascii/utf8).
  • Blob now can be used as stringbuffer.
  • Script functions "getstacktop", "get_last_stackinfo" to help debug extensions.
  • Script function print renamed to "print1" and a new "print" that behaves like the Lua print function.
  • Script function "str_from_chars" to allow construct a string from a list of integers like the Lua function "string.chars".
  • New method "concat" for array that behave like the Lua table.concat.
  • New method "bsearch" for array (only work on sorted arrays).
  • New method "get(key, default_value)" for tables that allows to query table keys and return a default value when the key doesn't exists.
  • ...

Internals:

  • Incompatibility the vargv array allways has the script filenanme at index 0 and allways will have "len()" at minimum equal 1 (2013-02-26).

  • Has a modification that allows release hook handlers access the vm normally, in fact a pointer to the vm is passed to then.

  • Added a new member to SQRegFunction that indicates if a method is static.

  • Implemented detection of local variable redeclaration on the same scope.

  • Implemented compiler warnings for local redeclarations on nested scopes, also assignments inside expressions (if/while/do-while,...)

  • Implemented command line "-s" to generate a squilu code representing the generated bytecode.

  • Function parameters and function return type can be specified like in typescript, the compiler is not enforcing it yet but accepts and discards for now. {{{ function Add(left: number, right: number): number { return left + right; } }}}

  • Class fields can be specified like in typescript, the compiler is not enforcing it yet but accepts and discards for now. {{{ class Person { public name: string; private age: number; postcode: string; address = null;

    constructor(name: string, age: number) { this.name = name; this.age = age; postcode = "none"; address = "unknown"; }

    function asString(): string { return this.name + " (" + this.age + ")"; } } }}}

  • ...

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].