GCL v2.o
FormEye (& S++) GeCon XO [3] Language specification
GCLv2.o Copyright by Ivan Čukić

<file> ::= <head>[13]<body>
Predstavlja ceo tekstualni fajl. [13] predstavlja CR/LF (ili samo CR).
<head> ::= $document [type "GeConXO3.0", caption "<bs>"]
Predstavlja zaglavlje fajla po kome se prepoznaje MIME tip text/gcl2.
<body> ::= {<segment>}
Predstavlja glavni deo programa - deo za navodjenje naredbi GCL2 jezika.
<segment> ::= <vardef>|<varass>
Predstavlja jednu naredbu GCL2.
<vardef> ::= <type> <varname> = new <type>(<params>);
Predstavlja definisanje promenljive koje uzrokuje odvajanje memorijske lokacije ja dati objekat i kreiranje klase.
<varass> ::= <varname> = <param>|<varname>{.<varname>};
Predstavlja dodeljivanje vrednosti odredjenoj promenljivoj.
<type> ::= .<vcmp>
Tip promenljive mora da počinje sa tačkom.
<varname> ::= <vcmp>
<vcmp> ::= <slovo>{<slovo>|<cifra>|_}
VCMP - Variable CoMPatible.
<params> ::= |<param>{, <param>}
Predstavlja parametre koji se prosledjuju konstruktorima klasa.
<param> ::= <vcmp>|"<bs>"|<broj>
Promenljiva, String ili neki broj (realni ili celi).
<bs> ::= <chr>{<chr>}
Bilo šta osim navodnika.
<broj> ::= [+|-]<cifra>{<cifra>}<.[cifra>{<cifra>}]
<chr> ::= <slovo>|<cifra>|_|.|...
<mslovo> ::= a|..|z
<vslovo> ::= A|..|Z
<slovo> ::= <vslovo>|<mslovo>
<cifra> ::= 0|..|9

GeCon XO program je nastao kao naslednik programa Geometrical Constructor 1.0, koji je bio seminarski rad moje sestre, namenjenog crtanju geometrijskih konstrukcija. Od ove verzije programa sintaksa je potpuno promenjena tako da asocira na programske jezike C i Java. Azbuka ovog jezika je ASCII (nije testirano, ali bi trebalo da radi i sa svim UNICODE znakovima jer je program 100% PureJava). Jezik je CaseSensitive
Evo jednog primera GCL 2.o fajla:
  $document [type "GeConXO3.0", caption "Krugovi"]
   .point A = new .point(10, 5);
   .point B = new .point(5, 5);
   .point C = new .point(7, 14);

   .circle k  = new .circle(0, 0, 5);
   .circle k1 = new .Circle(A, 5);
   .circle k2 = new .Circle(B, 5);
   .circle k2 = new .CircleRadius(A, B);

   .segment a = new .Segment(B, C);
   .segment b = new .Segment(A, C);
   .segment c = new .Segment(B, A);
  [EOF]
...
My mother was a tailor
She sewed my new
blue jeans
My father was
a gambling man
Down in New Orleans

And the only things
a gambler needs
Is a suitcase and a trunk
And the only time
he's satisfied
Is when he's all a-drunk

...
So mothers,
tell your children
Not to do
what I have done
Spend your life
in sin and misery
In the house
of the Rising Sun

- The Animals -
 © Ivan Čukić (Form Eye)
 Kontakt adresa: mr02014[AT]alas[.]matf[.]bg[.]ac[.]yu