Υλοποίησε έναν αξιολογητή για ένα πολύ απλό υποσύνολο της Forth.
Forth είναι μια γλώσσα προγραμματισμού βασισμένη σε στοίβα. Υλοποίησε έναν πολύ βασικό αξιολογητή για ένα μικρό υποσύνολο της Forth.
Ο αξιολογητής σου πρέπει να υποστηρίζει τις παρακάτω λέξεις:
+, -, *, / (ακέραια αριθμητική)DUP, DROP, SWAP, OVER (χειρισμός στοίβας)Ο αξιολογητής σου πρέπει επίσης να υποστηρίζει τον ορισμό νέων λέξεων χρησιμοποιώντας τη συνηθισμένη σύνταξη: : word-name definition ;.
Για να κρατήσουμε τα πράγματα απλά, ο μόνος τύπος δεδομένων που χρειάζεται να υποστηρίξεις είναι οι προσημασμένοι ακέραιοι μεγέθους τουλάχιστον 16 bit.
Πρέπει να χρησιμοποιήσεις τους παρακάτω κανόνες για τη σύνταξη: ένας αριθμός είναι μια ακολουθία από ένα ή περισσότερα ψηφία (ASCII), και μια λέξη είναι μια ακολουθία από ένα ή περισσότερα γράμματα, ψηφία, σύμβολα ή σημεία στίξης που δεν είναι αριθμός. (Η Forth χρησιμοποιεί πιθανώς ελαφρώς διαφορετικούς κανόνες, αλλά αυτό είναι αρκετά κοντά.)
Οι λέξεις δεν κάνουν διάκριση πεζών-κεφαλαίων.
Πρόσεξε την πρόσθετη περίπτωση δοκιμής στο tests/alloc-attack.rs. Δοκιμάζει αλγοριθμικά μη αποδοτικές υλοποιήσεις. Εξαιτίας αυτού, συνήθως ξεπερνά το χρονικό όριο online αντί να αποτυγχάνει εντελώς, με αποτέλεσμα ένα λιγότερο κατατοπιστικό μήνυμα σφάλματος.
Γράψου στο Exercism για να μάθεις και να κατακτήσεις Rust με 99 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.