Κανονικοποιήσεις του representer της Common Lisp

Μια επισκόπηση των κανονικοποιήσεων που εφαρμόζει ο representer της Common Lisp στις λύσεις


Ο representer χρησιμοποιεί τη read για να διαβάσει την υποβολή και τη write για να γράψει την αναπαράσταση, ενώ παράλληλα εφαρμόζει και κάποιες επιπλέον κανονικοποιήσεις. Σε κάθε υποβολή εφαρμόζονται οι παρακάτω κανονικοποιήσεις:

Αφαίρεση σχολίων

Επειδή η read χρησιμοποιείται για τη φόρτωση της υποβολής, τα σχόλια αφαιρούνται.

Αφαίρεση συμβολοσειρών τεκμηρίωσης

Αντί να κανονικοποιούνται τυχόν ονόματα που μπορεί να υπάρχουν στη συμβολοσειρά τεκμηρίωσης, η συμβολοσειρά αφαιρείται. Ωστόσο, η αναπαράσταση θα σημειώνει αν υπήρχε ή όχι συμβολοσειρά τεκμηρίωσης.

Κανονικοποίηση πεζών/κεφαλαίων

Επειδή η read χρησιμοποιείται για τη φόρτωση της υποβολής, όλα τα σύμβολα κανονικοποιούνται σε κεφαλαία.

Κανονικοποίηση μορφοποίησης κειμένου

Η αναπαράσταση γράφεται με τη write, οπότε οποιεσδήποτε ιδιαιτερότητες της μορφοποίησης της υποβολής (όπως οι εσοχές, τα κενά, το να αφήνεις την παρένθεση κλεισίματος σε κενές γραμμές) δεν διατηρούνται στην αναπαράσταση.

Κανονικοποίηση ονομάτων συμβόλων

Σύμβολα όπως ονόματα συναρτήσεων, μεταβλητών και μάκρο, καθώς και πακέτα, αντιστοιχίζονται σε gensyms που χρησιμοποιούνται στην αναπαράσταση.