Difference between revisions of "EDT:Language Overview"

From Eclipsepedia

Jump to: navigation, search
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
This overview introduces the EGL language as defined in EGL Core and as extended by Eclipse IDE for the EGL Developer. Reference details are in the EDT help system, which is made available when you install a download from the following site:  [http://www.eclipse.org/edt/download/ www.eclipse.org/edt/download/].
+
<span style="font-size:smaller;">&lt;&nbsp;[[EDT| EDT wiki home]]</span>
  
= Introduction<br> =
+
This overview introduces the EGL language as&nbsp;defined&nbsp;in EGL Core and as extended&nbsp;by Eclipse IDE for the EGL Web Developer.&nbsp;Reference details are in the EDT help system, which is made available when you install a download from the following site:&nbsp; [http://www.eclipse.org/edt/download/ www.eclipse.org/edt/download/].
  
 
In many ways, EGL is like other programming languages. It includes familiar constructs such as loops and transfers of control. It is built on a set of '''types''', each of which defines the operations that are available for each value of the type. Last, it involves a process for validating source code and for converting the source code into a less abstract form, closer to the runtime need.  
 
In many ways, EGL is like other programming languages. It includes familiar constructs such as loops and transfers of control. It is built on a set of '''types''', each of which defines the operations that are available for each value of the type. Last, it involves a process for validating source code and for converting the source code into a less abstract form, closer to the runtime need.  
Line 11: Line 11:
 
Second, stereotypes provide a way to extend the language.&nbsp;The creation of a&nbsp;new kind of stereotype&nbsp;enables an existing source-code element&nbsp;to have an&nbsp;alternative use. For example, a&nbsp;future stereotype might allow a developer to write a custom Handler element and then to&nbsp;create output for a mobile device that&nbsp;runs under&nbsp;the Android operating system. This alternative&nbsp;option requires that the extender&nbsp;create Java classes that&nbsp;add to the&nbsp;existing generator logic.&nbsp;  
 
Second, stereotypes provide a way to extend the language.&nbsp;The creation of a&nbsp;new kind of stereotype&nbsp;enables an existing source-code element&nbsp;to have an&nbsp;alternative use. For example, a&nbsp;future stereotype might allow a developer to write a custom Handler element and then to&nbsp;create output for a mobile device that&nbsp;runs under&nbsp;the Android operating system. This alternative&nbsp;option requires that the extender&nbsp;create Java classes that&nbsp;add to the&nbsp;existing generator logic.&nbsp;  
  
The mechanism for using stereotypes is provided by&nbsp;EGL Core, which includes the&nbsp;basic rules of EGL syntax.&nbsp;Most stereotypes are provided by an EGL extension, and the first extension is Eclipse IDE for the EGL&nbsp;Developer.<br>
+
The mechanism for using stereotypes is provided by&nbsp;EGL Core, which includes the&nbsp;basic rules of EGL syntax.&nbsp;Most stereotypes are provided by an EGL extension, and the first extension is Eclipse IDE for the EGL&nbsp;Developer.<br>  
  
We describe stereotypes in the&nbsp;first of&nbsp;the following pages and introduce other aspects of the language:&nbsp;<br>
+
We describe stereotypes in the&nbsp;first of&nbsp;the following pages and&nbsp;proceed to&nbsp;other aspects of the language:&nbsp;<br>  
  
*[http://wiki.eclipse.org/EDT:Language_Overview02 EGL types and values]  
+
*[[EDT:Language Overview02|EGL types and values]]  
*[http://wiki.eclipse.org/EDT:Language_Overview03 Packages and type-name resolution]
+
*[[EDT:Language Overview03|Packages and type-name resolution]]
 +
*[[EDT:Language Overview04|Syntax and scope]]
  
<br>
+
<br> <br>  
  
 
&nbsp;  
 
&nbsp;  
  
&nbsp;
+
&nbsp;  
 +
 
 +
[[Category:EDT]]

Latest revision as of 10:41, 10 July 2012

EDT wiki home

This overview introduces the EGL language as defined in EGL Core and as extended by Eclipse IDE for the EGL Web Developer. Reference details are in the EDT help system, which is made available when you install a download from the following site:  www.eclipse.org/edt/download/.

In many ways, EGL is like other programming languages. It includes familiar constructs such as loops and transfers of control. It is built on a set of types, each of which defines the operations that are available for each value of the type. Last, it involves a process for validating source code and for converting the source code into a less abstract form, closer to the runtime need.

EGL is special in its reliance on stereotypes, which are declarations used by the software that transforms the source code to another form such as Java or JavaScript.

Stereotypes offer simplicity. First, they ensure that the output created for a source-code element such as "Handler" includes details for a particular use; for example, to be runnable on a full-page web browser. The developer who writes a custom Handler element and declares the appropriate stereotype does not need to know a lot about a browser to write the code. He can rely on the pre-tested logic that is created by an EGL JavaScript generator. The pre-tested logic supplements the custom logic.   

Second, stereotypes provide a way to extend the language. The creation of a new kind of stereotype enables an existing source-code element to have an alternative use. For example, a future stereotype might allow a developer to write a custom Handler element and then to create output for a mobile device that runs under the Android operating system. This alternative option requires that the extender create Java classes that add to the existing generator logic. 

The mechanism for using stereotypes is provided by EGL Core, which includes the basic rules of EGL syntax. Most stereotypes are provided by an EGL extension, and the first extension is Eclipse IDE for the EGL Developer.

We describe stereotypes in the first of the following pages and proceed to other aspects of the language: