@3: Mám na mysli třeba tohle v Common Lispu:
#.(compute-something-at-read-time) - ve fázi čtení (reader podle normy jazyka, odpovídá parseru podle terminologie blogu) výsledek závisí na tom, co aktuálně dělá funkce compute-something-at-read-time. Odpovídá příslušnému frázovému stromu pouze jeden abstraktní strom, když funkce vrací třeba aktuální čas?
Nebo, budu-li brutální,
(hello) ; -> (hello)
(eval-when (:compile-toplevel :load-toplevel)
(set-syntax-from-char #\l #\Space))
(hello)) ; -> (he o)
Jakou formální gramatikou bez včleněné sémantiky jazyka se popíše, kdy se l má brát jako mezera a kdy jako písmeno?
Autor se zabývá vývojem kompilátorů a knihoven pro objektově-orientované programovací jazyky.
Přečteno 36 207×
Přečteno 25 364×
Přečteno 23 797×
Přečteno 20 180×
Přečteno 17 876×