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

Changes between Initial Version and Version 1 of Sysel


Ignore:
Timestamp:
2010-04-10T22:21:53Z (9 years ago)
Author:
Jiri Svoboda
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Sysel

    v1 v1  
     1= Sysel =
     2
     3An effort to design a high-level programming language for writing HelenOS severs and applications.
     4
     5 * [https://launchpad.net/sysel Sysel project at launchpad]
     6
     7== Roadmap ==
     8
     9|| '''Sub-project name'''            || '''Status''' || '''Description''' ||
     10|| Sysel Bootstrap Interpreter (SBI) || In progress  || Interpreter of Sysel written in C. Runs in HelenOS and POSIX. ||
     11|| Sysel Compiler Toolkit (NNPS)     || Not started  || Modular compiler of Sysel written in Sysel itself. To produce C and/or LLVM IR.
     12
     13== SBI ==
     14
     15SBI 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`.
     16
     17You can also run `sbi` without parameters to enter interactive mode.
     18
     19=== Synopsis of current SBI features ===
     20
     21 * Primitive types: bool, char, int, string
     22 * Compound types: class, multi-dimensional array
     23 * Objective features: inheritance, grandfather class, static and non-static method invocation
     24 * Syntactic sugar: variadic functions, accessor methods (named and indexed)
     25 * Arithmetic: big integers, addition, subtraction, multiplication
     26 * Static type checking (mostly), Exception handling
     27 * Bindings: Text file I/O, !WriteLine, Exec
     28
     29=== Missing SBI features ===
     30
     31 * division
     32 * boolean operations (and, or, not)
     33 * structs
     34 * interfaces
     35 * builtin object methods/properties
     36 * auto-boxing
     37 * static/nonstatic checking
     38 * static class variables
     39
     40 * generic types
     41 * method and operator overloading
     42 * packaging