Αρχιτεκτονική σχεδίαση
- Θέλουμε με κάποιο τρόπο να ξέρουμε τι στοιχείο επεξεργαζόμαστε (
κανονικό πρόγραμμα, συμβολοσειρά, σταθερά χαρακτήρα, σχόλιο, κλπ).
- Αυτό εκφράζεται από την κατάσταση (state)
του προγράμματος.
- Η επεξεργασία για κάθε κατάσταση θα γίνεται χωριστά.
- Ορίζουμε τις παρακάτω καταστάσεις:
- NORMAL,
- HASH,
- SLASH,
- COMMENT,
- STAR,
- STRING,
- BACKSLASH_STRING,
- CHARACTER,
- BACKSLASH_CHARACTER,
- NEWLINE,
και το αντίστοιχο
διάγραμμα μετάπτωσης κατάστασης (state transition diagram)
- Στην αρχή της γραμμής αγνοούμε τα κενά και τυπώνουμε τα
δικά μας κενά.
- Οι χαρακτήρες { } αλλάζουν το επίπεδο στοίχισης.
- Η στοίχιση γίνεται από ξεχωριστή συνάρτηση.