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

Server-side Rules

  • 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