|
|
(26 intermediate revisions by 2 users not shown) |
Line 1: |
Line 1: |
| == General Notes == | | == General Notes == |
| | | |
− | *<u>'''This document is not finished yet!'''</u> | + | *This document was populated from design meetings. Meeting notes are at [[EDT:Discussion topics from the language meetings]]. |
| + | *"N/S" means Not Supported. We may support N/S features in the future. |
| + | *Anything that exists in RBD but isn't mentioned here is not included in EDT. Or maybe we forgot about it. Nobody's perfect.<br> |
| + | *The work in the Core category includes the parser, model, and validation.<br> |
| + | *The work in the JavaScript, Java, and Debug categories includes both the generator and runtime.<br> |
| + | *Text <span style="background:#FFA500">with an orange background</span> shows differences in features supported by both EDT and RBD. |
| + | *Features <span style="background:#FFFF00">with a yellow background</span> are planned for EDT 1.0, but not EDT 0.7.0. |
| + | *'''Developers:''' include a link to Bugzilla for features not done yet, and mark items "Done" when you're finished. |
| | | |
− | *"N/S" means Not Supported.
| + | == Language Elements == |
− | *Anything that exists in RBD but isn't mentioned here is not included in EDT.<br>
| + | |
− | *The work in the Core category includes the parser, model, and validation.<br>
| + | |
− | *The work in the JavaScript, Java, and Debug categories includes both the generator and runtime.<br>
| + | |
− | *'''Developers:''' include a link to Bugzilla for features not done yet, and mark items "Done" when you're finished.<br>
| + | |
− | *[[EDT:Discussion topics from the language meetings]]<br>
| + | |
| | | |
− | == Table 1: Part Types ==
| + | *[[EDT:EGL Language Part Types]] |
| + | *[[EDT:EGL Language Function Parameters]] |
| + | *[[EDT:EGL Language Primitive Types]] |
| + | *[[EDT:EGL Language Primitive Type Conversions]] |
| + | *[[EDT:EGL Language System Types and Functions]] |
| + | *[[EDT:EGL Language Statements]] |
| + | *[[EDT:EGL Language Literals]] |
| + | *[[EDT:EGL Language Operators and Expressions]] |
| + | *[[EDT:EGL Language Stereotypes and Annotations]] |
| + | *[[EDT:EGL Language Tests]] |
| + | *[[EDT:EGL Language conversion]] |
| | | |
− | {| width="400" cellspacing="1" cellpadding="1" border="1" style=""
| + | [[Category: EDT]] |
− | |-
| + | |
− | | bgcolor="#999999" align="center" | '''''Part Types'''''
| + | |
− | | bgcolor="#999999" align="center" | '''Core'''
| + | |
− | | bgcolor="#999999" align="center" | '''JavaScript'''
| + | |
− | | bgcolor="#999999" align="center" | '''Java'''
| + | |
− | | bgcolor="#999999" align="center" | '''Debug'''
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''DataItem<sup>1</sup>''
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Function<sup>2, 5</sup>''
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Top-level function<sup>2, 5</sup>''
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Delegate<sup>2</sup>''
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Record''<br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Structured Record''<br>
| + | |
− | | <br>
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''ExternalType''<br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Handler''<br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Library''<br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Service''<br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Interface<sup>3</sup>''<br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Enumeration''<br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Program<sup>4</sup>''<br>
| + | |
− | | <br>
| + | |
− | | N/S<br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Array''<br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Nullability''<br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''DataTable''<br>
| + | |
− | | <br>
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Form''<br>
| + | |
− | | <br>
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | |}
| + | |
− | | + | |
− | '''Notes on Table 1'''<br>
| + | |
− | | + | |
− | #In RBD a DataItem can only be used for primitive types. In EDT it can be used for any type.
| + | |
− | #See also Table 2: Function Parameters.<br>
| + | |
− | #Interfaces can be implemented by services and handlers (every kind of "logic part" which can be instantiated).<br>
| + | |
− | #There are no called programs. Use libraries for "local calls" and services for "remote calls".<br>
| + | |
− | #We intend to support function overloading in all implementations, even JavaScript.<br>
| + | |
− | | + | |
− | == Table 2: Function Parameters ==
| + | |
− | | + | |
− | {| width="400" cellspacing="1" cellpadding="1" border="1" style=""
| + | |
− | |-
| + | |
− | | bgcolor="#999999" align="center" | '''''Function Parameters'''''
| + | |
− | | bgcolor="#999999" align="center" | '''Core'''
| + | |
− | | bgcolor="#999999" align="center" | '''JavaScript'''
| + | |
− | | bgcolor="#999999" align="center" | '''Java'''
| + | |
− | | bgcolor="#999999" align="center" | '''Debug'''
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''In<sup>1</sup>''
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Out''
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Inout<sup>1</sup>''
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Ellipsis''
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Const''
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Field''<br>
| + | |
− | | <br>
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''SqlNullable''<br>
| + | |
− | | <br>
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | |}
| + | |
− | | + | |
− | '''Notes on Table 2'''<br>
| + | |
− | | + | |
− | #The default parameter modifier is In for references and Inout for values.<br>
| + | |
− | | + | |
− | == Table 3: Primitive Types ==
| + | |
− | | + | |
− | {| width="400" cellspacing="1" cellpadding="1" border="1" style=""
| + | |
− | |-
| + | |
− | | bgcolor="#999999" align="center" | '''''Primitive Types'''''
| + | |
− | | bgcolor="#999999" align="center" | '''Core'''
| + | |
− | | bgcolor="#999999" align="center" | '''JavaScript'''
| + | |
− | | bgcolor="#999999" align="center" | '''Java'''
| + | |
− | | bgcolor="#999999" align="center" | '''Debug'''
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Any''
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Boolean''
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Dictionary''
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''String(N)<sup>1</sup>''
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''String<sup>2</sup>''
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Timestamp<sup>3</sup>''
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Blob''
| + | |
− | | <br>
| + | |
− | | N/S<br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Clob''
| + | |
− | | <br>
| + | |
− | | N/S<br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Smallint''
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Int''
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Bigint''
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Decimal(N,M)''
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Decimal(N)''
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Decimal<sup>4</sup>''
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Float''
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Smallfloat''
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Number<sup>5</sup>''
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Byte(N)<sup>6</sup>''
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Byte<sup>7</sup>''
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Arraydictionary''<br>
| + | |
− | | <br>
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Char''<br>
| + | |
− | | <br>
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Dbchar''<br>
| + | |
− | | <br>
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Mbchar''<br>
| + | |
− | | <br>
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Unicode''<br>
| + | |
− | | <br>
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Hex<sup>6</sup>''<br>
| + | |
− | | <br>
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Date<sup>3</sup>''<br>
| + | |
− | | <br>
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Time<sup>3</sup>''<br>
| + | |
− | | <br>
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Interval<sup>3</sup>''<br>
| + | |
− | | <br>
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Bin''<br>
| + | |
− | | <br>
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Num''<br>
| + | |
− | | <br>
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Numc''<br>
| + | |
− | | <br>
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Pacf''<br>
| + | |
− | | <br>
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Money''<br>
| + | |
− | | <br>
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | |}
| + | |
− | | + | |
− | '''Notes on Table 3'''<br>
| + | |
− | | + | |
− | #String(N) is a reference type in EDT.<br>
| + | |
− | #String is a reference type in EDT.<br>
| + | |
− | #Timestamp is the only supported date/time type. Use it in place of RBD's date, time, and interval. Date/time math produces timestamps or numbers.<br>
| + | |
− | #Decimal with no length or decimals is a reference type with an immutable value.<br>
| + | |
− | #Number is a reference type with an immutable value. Unlike in RBD, number variables can be declared anywhere a variable declaration is allowed.<br>
| + | |
− | #Byte(N) is a value type similar to RBD's hex. N indicates the number of bytes in the value.<br>
| + | |
− | #Byte with no length is a reference type with an immutable value of any length.<br>
| + | |
− | | + | |
− | == Table 4: Statements ==
| + | |
− | | + | |
− | {| width="400" cellspacing="1" cellpadding="1" border="1" style=""
| + | |
− | |-
| + | |
− | | bgcolor="#999999" align="center" | '''''Statements'''''
| + | |
− | | bgcolor="#999999" align="center" | '''Core'''
| + | |
− | | bgcolor="#999999" align="center" | '''JavaScript'''
| + | |
− | | bgcolor="#999999" align="center" | '''Java'''
| + | |
− | | bgcolor="#999999" align="center" | '''Debug'''
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Variable declaration''
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Const declaration''
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Assignment''
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Move<sup>1</sup>''
| + | |
− | | <br>
| + | |
− | | <br> N/S
| + | |
− | | <br> N/S
| + | |
− | | <br> N/S
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Return''
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Function invocation''
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Call<sup>2</sup>''
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Label''
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Transfer''
| + | |
− | | <br>
| + | |
− | | N/S<br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Throw''
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Try''
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Case''
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''If''
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''While''
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''For''
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Foreach<sup>3</sup>''
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Exit''
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Continue''
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Empty statement (a semicolon)''
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Add''
| + | |
− | | <br>
| + | |
− | | N/S<br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Close''
| + | |
− | | <br>
| + | |
− | | N/S<br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Delete''
| + | |
− | | <br>
| + | |
− | | N/S<br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Get''
| + | |
− | | <br>
| + | |
− | | N/S<br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Replace''
| + | |
− | | <br>
| + | |
− | | N/S<br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Execute<sup>4</sup>''
| + | |
− | | <br>
| + | |
− | | N/S<br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Prepare<sup>4</sup>''
| + | |
− | | <br>
| + | |
− | | N/S<br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Open<sup>4</sup>''
| + | |
− | | <br>
| + | |
− | | N/S<br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''FreeSQL<sup>4</sup>''
| + | |
− | | <br>
| + | |
− | | N/S<br>
| + | |
− | | <br>
| + | |
− | | <br>
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Goto''<br>
| + | |
− | | <br>
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Set''<br>
| + | |
− | | <br>
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Converse''<br>
| + | |
− | | <br>
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Display''<br>
| + | |
− | | <br>
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Print''<br>
| + | |
− | | <br>
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Forward''<br>
| + | |
− | | <br>
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''Show''<br>
| + | |
− | | <br>
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | |-
| + | |
− | | bgcolor="#cccccc" | ''OpenUI''<br>
| + | |
− | | <br>
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | | N/S
| + | |
− | |}
| + | |
− | | + | |
− | '''Notes on Table 4'''<br>
| + | |
− | | + | |
− | #In RBD, a move statement between two references does a deep copy. Reference types should include a deep copy function to provide the same functionality in EDT.<br>
| + | |
− | #EDT doesn't have called programs, but services and native programs can be called.<br>
| + | |
− | #EDT's foreach statement will support iterating over an array.<br>
| + | |
− | #Support for these statements is tentative, pending the design for JPA in EDT.<br>
| + | |
− | | + | |
− | == What's left...<br> ==
| + | |
− | | + | |
− | *Revisit decision to not support date and time
| + | |
− | *Revisit decision to not support char and structured records
| + | |
− | *Revisit decision to not support move
| + | |
− | *Revisit decision to not support set (empty and initial)
| + | |
− | *Literals
| + | |
− | **null
| + | |
− | **boolean
| + | |
− | **integer, fixed-decimal, floating-point
| + | |
− | **string
| + | |
− | **char, mbchar, dbchar, hex
| + | |
− | **literal array
| + | |
− | **byte
| + | |
− | **date, time, timestamp
| + | |
− | *Operators and expressions
| + | |
− | **result of errors in each case?
| + | |
− | **. (member access)
| + | |
− | **=
| + | |
− | **function invocation
| + | |
− | **new
| + | |
− | **{ } (set-values block)
| + | |
− | **@
| + | |
− | **[ ] (array access)
| + | |
− | **[ ] (dynamic access)
| + | |
− | **[ ] (substring), as L-value and R-value
| + | |
− | **as
| + | |
− | **isa
| + | |
− | **% * ** / %= *= **= /=
| + | |
− | **+ - (both binary and unary) += -=
| + | |
− | ** :: ::=
| + | |
− | **?: ?:=
| + | |
− | **&& || And Or !
| + | |
− | **< > <= >= == !=
| + | |
− | **& | Xor &= |= Xor=
| + | |
− | **is/not systemType
| + | |
− | **is/not blanks, numeric
| + | |
− | **is/not trunc, cursor, data, modified
| + | |
− | **is/not IO error states
| + | |
− | **like
| + | |
− | **matches
| + | |
− | **in
| + | |
− | *Conversions
| + | |
− | **result of conversion errors?
| + | |
− | **defaultNumericFormat, defaultMoneyFormat, defaultTimestampFormat, defaultDateFormat, defaultTimeFormat
| + | |
− | **numeric to/from numeric
| + | |
− | **string to/from numeric
| + | |
− | **string to/from boolean
| + | |
− | **string to/from byte
| + | |
− | **string to/from timestamp
| + | |
− | **numeric to/from boolean
| + | |
− | **numeric to/from byte
| + | |
− | **numeric to/from timestamp
| + | |
− | **byte to/from boolean
| + | |
− | **byte to/from timestamp
| + | |
− | **boolean to/from timestamp
| + | |
− | *Stereotypes
| + | |
− | **program stereotypes
| + | |
− | ***BasicProgram
| + | |
− | ***UIProgram
| + | |
− | ***TextUIProgram
| + | |
− | ***VGWebTransaction
| + | |
− | **library stereotypes
| + | |
− | ***BasicLibrary
| + | |
− | ***NativeLibrary
| + | |
− | ***RUIPropertiesLibrary
| + | |
− | **record stereotypes
| + | |
− | ***BasicRecord
| + | |
− | ***Exception
| + | |
− | ***SQLRecord
| + | |
− | ***CSVRecord
| + | |
− | ***DLISegment
| + | |
− | ***PSBRecord
| + | |
− | ***IndexedRecord
| + | |
− | ***RelativeRecord
| + | |
− | ***SerialRecord
| + | |
− | ***MQRecord
| + | |
− | ***ConsoleForm
| + | |
− | ***VGUIRecord
| + | |
− | **handler stereotypes
| + | |
− | ***BasicHandler
| + | |
− | ***RUIHandler
| + | |
− | ***RUIWidget
| + | |
− | ***BirtHandler
| + | |
− | ***JasperReport
| + | |
− | ***JSFHandler
| + | |
− | **externaltype stereotypes
| + | |
− | ***NativeType
| + | |
− | ***JavaObject
| + | |
− | ***JavaScriptObject
| + | |
− | ***HostProgram
| + | |
− | **datatable stereotypes...form stereotypes...
| + | |
− | *Annotations (details TBD)
| + | |
− | *Language compliance test (details TBD)
| + | |
− | | + | |
− | <br>
| + | |