Features and missing features

Top  Previous  Next

Features

 

- Multi-language architecture allows you to use a number of languages (at present moment  PascalScript, C++Script, BasicScript, JScript). You can add any procedural language (language grammar is stored in XML format).

- Standard language set: variables, constants, procedures, functions (nested functions allowed) with var/const/default parameters, all the standard operators and statements (including case, try/finally/except, with), types (int, float, bool, char, string, multi-dimensional array, enum, variant), classes (with methods, events, properties, indices and default properties).

- Types compatibility checking.

- Access to any object inside your application. Standard libraries for the access to  the base classes, controls, forms and BD. Easily expandable library architecture.

- Small footprint - 90-150Kb depending on used modules.

- Can be used in multi-thread environment.

Missing features

 

- No type declarations (records, classes) in the  script; no records, no pointers, no sets (but you can use 'IN' operator - "a in ['a'..'c','d']"), no shortstrings, no GOTO statement.

- C++Script: no octal constants; no 'break' in the SWITCH operator (SWITCH works like Pascal CASE); '++' and '--' operators are possible only after the variables, that is '++i' is not allowed; '--', '++' and '=' operators do not return a value, that is 'if(i++)' is not allowed; all the identifiers are case-insensitive; NULL constant is the Pascal Null - use nil instead of NULL.

- JScript and BasicScript: see syntax diagrams.

Converted from CHM to HTML with chm2web Standard 2.85 (unicode)