A TOM programozási nyelv

Bevezetés

Bevezetés

A TOM nyelvet Pieter J. Schoenmakers fejlesztette ki az Eidhoveni Műszaki Egyetemen 1995-1996-ban.
Jól alkalmazható fa szerkezetek, és XML alapú dokumentumok átalakítására. A C, és a Java nyelv kiegészítőjeként használható.

Mire jó?


A nyelvhez fordító letölthető a http://www.gerbil.org/tom/tesla/install.shtml oldalról.

Egy egyszerű program

Bemelegítésképpen lássuk a hagyományos HelloWorld.t programot:

1 implementation class HelloWorld: stdio 2 3 int 4 main Array arguments 5 { 6 [[out print "Hello, world!"] nl]; 7 8 = 0; 9 } 10 11 end; 12 13 implementation instance HelloWorld end;

Az első sorban egy osztályt definiálunk HelloWorld néven. Az stdio leszármazottja, utalva arra, hogy bármi, amit az stdio osztály definiál, közvetlenül elérhető.

A 3-tól a 9. sorig egy metódust definiáltunk. Ennek a neve main, egy argumentumot vár, aminek a neve arguments, és a típusa Array, visszatérési értéke pedig int.

A main metódus, mikor egy osztály implementálja, speciális, mivel ez a metódus hívódik meg a program kezdetekor. Az arguments argumentum stringek egy tömbje, ami a parancssori argumentumokat tartalmazza a program számára. A main egy int–et ad vissza, ami a program visszatérési értéke lesz.

A 6. sorban két metódus hívódik meg. Meghívni egy metódust ugyanolyan, mint küldeni egy üzenetet. Az első hívás küld egy print üzenetet az out–ként ismert objektumnak. Az out egy, az stdio–től örökölt változó, ez a standard kimenete a programnak, mint az stdout a C-ben. A print üzenetnek egy argumentuma van, egy string, ami a „Hello World!”-öt tartalmazza. A print metódussal lehet írni a standard kimenetre. Most az argumentum nélküli nl kerül elküldésre, ez az újsort jelenti.

A 8. sorban, a 0 kijelölése egy üres baloldali kifejezéssel beállítja az értéket visszatérési értékként. 0-t ad vissza, ez azt jelenti, hogy a program sikeresen lefutott. Ez a formája a visszatérési érték beállításának nem feltétlenül jelenti a metódus azonnali befejezését. Azonnali befejezéshez az = helyett return)-t kell írni.

Az end–nél a 11. sorban a HelloWorld osztály definíciója befejeződik.

A 13. sorban pedig a HelloWorld osztály példányai kerülnek definiálásra.