The Raincode TIALAA Compiler
The AppBuilder compiler for .NET and .NET Core
The Raincode TIALAA (There Is A Life After AppBuilder) Compiler supports AppBuilder raw language in its current form (rules, sets, views) and compiles and deploys it without any additional proprietary component.
Applications can be migrated seamlessly and the Visual Studio® plug-in provides a comfortable and productive development environment.
The Raincode TIALAA Compiler facilitates new development in C# and eliminates the burden of AppBuilder licensing costs.
Generate fully verified MSIL using Microsoft Roslyn Framework
Visual Studio plug-in that allows source-level debugging
The compiler handles the SQL dialect and passes the properly-bound query to the DBMS
Panels can be converted to XAML files and maintained directly from Visual Studio. The compiler then handles the GUI events and connects them to converse constructions in the rules
Raincode TIALAA compiler functionality
Handles AB rules without changes
Handles AB bind files for views/sets/…
Handles AB MMRef files for sets
Compiles each rule, view, set to a signed DLL
Produces efficient native .NET code (IL)
Provides multi-language support
Supports embedded SQL calls
Supports calling external components
Provides an interface to call rules from C# or VB
Syntax highlighting for rules in VS
Debugging across languages
All AppBuilder rule language constructs supported including MAP, OVERLAY, USE, DCL blocks with LIKE, VIEW CONTAINS, etc…
Library functions such as CHAR, SUBSTR, and DELETE are redefinable.
Views are compiled from a Nebula bind file and become native .NET classes
USE COMPONENT can call COBOL components, C# components, or anything with a known interface
SQL ASIS can execute per client customer SQL commands
Rules work similarly to server-side rules
Panels are migrated once with each panel becoming a native XAML file; no more HpsPanel
MLS through a proper .NET resource dictionary created by collecting panel definitions
Event handling compiler generates and connects handlers
Data binding using pure XAML; no “magic” with TwoWay-connecting to observable fields
Code can manipulate GUI objects with “GUI Bridge”, serving as a replacement for “ObjectSpeak”
System components reimplemented