Generale
Notazione postfissa con ANTLR e lo Shunting-yard algorithm
5 gen
Lo Shunting-yard algorithm è un algoritmo per effettuare il parsing di una espressione matematica in notazione infissa e generare un’espressione in notazione postfissa (Reverse Polish notation).
L’algoritmo fa uso di uno stack per i risultati intermedi e di una coda di output.
In questo articolo, l’espressione matematica verrà tokenizzata con l’ausilio di ANTLR. Genereremo un lexer che ci permetterà di iterare sui token della stringa e di applicare l’algoritmo.
Rimuovere le ε-produzioni da una grammatica CF
31 dic
Dato un linguaggio $latex L$ generato da una grammatica context free $latex G$, il linguaggio $latex L\setminus\{\epsilon\}$ è un linguaggio CF generato da una grammatica $latex G’$ senza simboli inutili e senza ε-produzioni.
Possiamo di conseguenza eliminare le ε-produzioni da una grammatica e ottenere una grammatica che genera lo stesso linguaggio (ammettendo $latex S \rightarrow \epsilon$ se $latex \epsilon \in L$).
Breve tutorial sull’editor VIM
7 giu
VI è un editor di testo, disponibile su diverse piattaforme Unix-like, estremamente flessibile, nonstante la sua complessità. Per questo tutorial verrà utilizzato VI Imporved, un editor in gran parte compatibile con VI.
PHP: tenere traccia degli accessi al sito da parte di un client con i cookie
31 mag
In questo esempio utilizzeremo i cookie, con la relativa variabile globale $_COOKIE e la funzione setcookie, per salvare la data e l’ora del primo e dell’ultimo accesso al sito.
Alla prima connessione da parte del client, il valore relativo alla chiave firstAccess, all’interno di $_COOKIE, non sarà settato. A quel punto verrà settato e, nelle successive comunicazioni, potrà essere reperito.
Il valore relativo a lastAccess verrà aggiornato di volta in volta:
<html> <body> <center> <?php date_default_timezone_set('Europe/Rome'); $nowts = date("d/m/Y H:i:s"); if(!isset($_COOKIE["firstAccess"])) { setcookie("firstAccess", $nowts); echo "Sembra essere la tua prima visita al sito<br/>"; } else { echo "Primo accesso: ".$_COOKIE["firstAccess"]."<br/>"; if(isset($_COOKIE["lastAccess"])) { echo "Ultimo accesso: ".$_COOKIE["lastAccess"]."<br/>"; } } setcookie("lastAccess", $nowts); ?> </center> <div style=" position: absolute; bottom: 1em;"> <?php echo "Ora locale: ".$nowts; ?> </div> </body> </html>
Abilitare l’esecuzione di script CGI con Apache
26 mar
Lo standard CGI è utilizzato dai web server per interfacciarsi con le applicazioni esterne mediante un’interfaccia comune.
Quando viene richiesto al web server uno script CGI, questo lo esegue e restituisce al client il risultato dell’esecuzione.