Icon Introduction

Elevate Web Builder uses an Object Pascal dialect for its core language that is very close to the Object Pascal language used by Embarcadero RAD Studio and Delphi. Object Pascal was chosen as the language because it is a very easy language to learn due to its very English-like keywords, and because it is structured and strongly-typed, allowing the resultant compiled applications to avoid run-time errors that can cause problems for un-typed languages like JavaScript (the target code of the compiler).

The following are the rules governing the basic structure of the language.

Character Set
Elevate Web Builder uses the Unicode character set for all language elements. Please see the Literals and Identifiers sections below for information on the restrictons to the allowed characters for both.

Warning Although all Unicode characters are supported, certain double-wide characters in languages such as Chinese and Japanese cannot be displayed/edited properly in the Elevate Web Builder IDE and code editor.

Case-Sensitivity
Elevate Web Builder's language is not case-sensitive. Identifiers and other language keywords are always compared without considering case.

Whitespace and Line Breaks
Elevate Web Builder ignores any spaces or non-printable characters such as tabs or line feeds between identifiers or literals. Within string literals, any such characters are assumed to be included as part of the string itself. For example, the following code will cause the string literal to include a carriage return and line feed:

var
   MyStringVariable: String;
begin
   MyStringVariable:='This is a string literal with a
 carriage return and line feed included';
end;

Statement Terminator
The semicolon (;) is the code statement terminator character in Elevate Web Builder. It is used to indicate the ending of a statement, even if the statement spans more than one physical line:

begin
   if True then
      ShowMessage('It''s true !!!')
   else
      ShowMessage('It''s false !!!');
end;

In the above case, the extra line breaks are for formatting purposes only. However, you should always strive to format your code according to established formatting rules for the Object Pascal language, and such line breaks are very important for readability of your code.

Comments
Elevate Web Builder supports both single-line comments using two slashes (//) or multi-line comments using left and right braces ({}):

begin
   // This piece of code needs some work
   if (not True) then
      BlowUpTheApplication
   else
      begin
      { Whew, we avoided blowing up the application,
        so let's continue on a more reasonable path }
      HandleTheSpecialCase;
      end;
end;

Literals
Literal values are specified as follows:

Value TypeExample
Numbers100
1200.42
-39.00
BooleanTrue
false
Strings'This is a string literal'
'This is a '+' concatentated '+' string literal'
Characters'a'
#27
Arrays['This','is','a','string','array','literal']
[100,2,45]
Class Instances/Methodsnil

Identifiers
An identifier is the name of any system-declared or user-declared object in an Elevate Web Builder application, such as units, constants, types, variables, or procedures/functions. Identifiers may begin with an underscore (_) or a letter (a-z, A-Z), and may contain an underscore, a letter, or a digit (0-9).

Reserved Words
The following are the list of reserved words in Elevate Web Builder. These words should not be used as identifiers:

abstract
and
array
as
async
begin
break
case
class
const
constructor
contains
continue
default
destructor
div
do
downto
else
end
except
exit
external
finalization
finally
for
function
if
implementation
inherited
initialization
interface
is
mod
not
object
of
on
or
out
override
private
procedure
program
property
protected
public
raise
read
record
repeat
shl
shr
then
to
try
type
unit
until
uses
var
virtual
while
with
write
xor

Syntax Diagrams
In the language reference syntax diagrams, angle brackets (<>) represent a language element and brackets ([]) represent an optional language element.
Image