Main Features Download Documentation Resources

Language Attributes


The first section of the template defines a number of important attributes about the target programming language. This includes its name, a list of keywords, and whether the language is case sensitive.

Java Example
Name = Java
Extension = java
Direction = left-to-right
Keywords = abstract, assert, boolean, break, byte, case, catch, char, class, const
= continue, default, double, do, else, enum, extends, false, final, finally
= float, for, goto, if, implements, import, instanceof, int, interface, long
= native, new, null, package, private, protected, public, return, short, static
= strictfp, super, switch, synchronized, this, throw, throws, transient, true, try
= void, volatile, while
Conflicts = input
Case Sensitive = true
Options = aligned


Attribute Contents
Name The name of the programming language. This value will be displayed on the menu and other GUI elements
Extension When a generated program is saved, this value is used as the file's extension.
Direction This attribute controls if the generated code will be displayed in a left-to-right direction (e.g. English, Spanish, Italian) or right-to-left (e.g. Arabic, Farsi, Hebrew). The default is left-to-right.
Keywords This key is used to list all the keywords in the target progamming language. The list will be used to generate unique identifiers for the rest of the program. It is vital to list all the keywords/reserved words that would cause syntactic errors if used as an identifier.
Conflicts This key is used exactly like the Keywords key. It gives a list of keywords/reserved words that will be used to generate identifiers. However, this list is designed to list the identifiers that the template creates. For example, if a template creates a function called Output, then "output" should be listed here.
Case Sensitive Contains either true or false.
Options Optional formatting fields supported by the Source Code Viewer. Currently, only "aligned" is supported - which creates a dropdown containing"aligned" and "hanging" for use with C-Family languages.