Fork us on GitHub Follow us on Facebook Follow us on Twitter

Version 1 (modified by Jiri Svoboda, 9 years ago) (diff)

Sysel

An effort to design a high-level programming language for writing HelenOS severs and applications.

Roadmap

Sub-project name Status Description
Sysel Bootstrap Interpreter (SBI) In progress Interpreter of Sysel written in C. Runs in HelenOS and POSIX.
Sysel Compiler Toolkit (NNPS) Not started Modular compiler of Sysel written in Sysel itself. To produce C and/or LLVM IR.

SBI

SBI is an interpreter of Sysel currently in development. It is available stand-alone for POSIX or integrated in HelenOS (only in Bazaar repository, not yet in a stable release). You can run it with the command "sbi source_file.sy". Demos that you can run are available in /src/sysel/demos. Source files comprising the library are in /src/sysel/lib.

You can also run sbi without parameters to enter interactive mode.

Synopsis of current SBI features

  • Primitive types: bool, char, int, string
  • Compound types: class, multi-dimensional array
  • Objective features: inheritance, grandfather class, static and non-static method invocation
  • Syntactic sugar: variadic functions, accessor methods (named and indexed)
  • Arithmetic: big integers, addition, subtraction, multiplication
  • Static type checking (mostly), Exception handling
  • Bindings: Text file I/O, WriteLine, Exec

Missing SBI features

  • division
  • boolean operations (and, or, not)
  • structs
  • interfaces
  • builtin object methods/properties
  • auto-boxing
  • static/nonstatic checking
  • static class variables
  • generic types
  • method and operator overloading
  • packaging