Super (programovací jazyk) - Cool (programming language)
Tento článek obsahuje a seznam doporučení, související čtení nebo externí odkazy, ale jeho zdroje zůstávají nejasné, protože mu chybí vložené citace.Únor 2010) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
Paradigma | Objektově orientovaný |
---|---|
Navrhl | Alexander Aiken |
Vývojář | Alexander Aiken |
Poprvé se objevil | 1996 |
Psací disciplína | Statický, silný, manifest |
Dialekty | |
Cool 2004, Cool 2005, Cool 2006, Cool 2007, Cool 2008, unCool | |
Ovlivněno | |
Jáva, ML, Pascal, Sather |
Chladný, an akronym pro Objektově orientovaný jazyk učebny, je počítač programování Jazyk navržený Alexanderem Aikenem pro použití v projektu vysokoškolského kurzu kompilátoru. I když je dostatečně malý pro jednorázový projekt, Cool má stále mnoho funkcí moderních programovacích jazyků, včetně objektů, automatické správy paměti, silného statického psaní a jednoduchých odraz.
Referenční překladač Cool je napsán v C ++, plně postavený na nástrojích veřejné domény. Generuje kód pro a MIPS simulátor, SPIM. Jazyk by se tedy měl snadno přenášet na jiné platformy. Používá se k výuce překladačů na mnoha institucích (např Kalifornská univerzita v Berkeley, kde byl poprvé použit nebo Univerzita Shahida Beheshtiho z Írán ) a software je stabilní.
Tento jazyk nesouvisí s jazykem COOL obsaženým v KLIPY.
Funkce
Jelikož primárním účelem Cool je výuka, postrádá mnoho funkcí společných pro jiné, obecnější programovací jazyky. Například jazyk podporuje méně než srovnání, ale ne větší než. Syntaxe je velmi omezená a „standardní knihovna“ obsahuje pouze několik základních tříd. Samostatná kompilace není podporována, ačkoli kompilátor podporuje více zdrojových souborů jako vstup. Každý cool program musí definovat třídu Hlavní který musí mít no-args hlavní metoda, ve které začíná tok provádění. Jmenné prostory nejsou podporovány.
Příklady
"Ahoj světe!":
třída Main dědí IO {main (): Object {out_string ("Hello, world!")};};
Jednoduchý program pro výpočet faktoriálů:
třída Main dědí IO {main (): Object {{out_string ("Zadejte celé číslo větší než nebo rovno 0:"); let input: Int <- in_int () in if input <0 then out_string ("ERROR: Number must be greater-than or equal-to 0") else {out_string ("The factorial of") .out_int (input); out_string ("je") .out_int (faktoriál (vstup)); out_string (""); } fi; }}; faktoriál (num: Int): Int {if num = 0, pak 1 else num * faktoriál (num - 1) fi};};
Reference
- Super: Přenosný projekt pro výuku konstrukce překladačů
- PostScript
- CoolAid: The Cool 2016 Reference Manual
- (Un) CoolAid: The UnCool Reference Manual