Ο συγγραφέας μετέφερε τον κώδικα tmux από C σε Rust, φτάνοντας 100% (unsafe) Rust.
Η αρχική χρήση του C2Rust διευκόλυνε το compilation, αλλά το παραγόμενο Rust ήταν ακατάστατο και ανατροφοδοτήθηκε χειροκίνητα.
Ο συνδυασμός Autotools με Rust crate μέσω build.sh και build.rs επέτρεψε τη σταδιακή μετάβαση από C σε Rust.
Εντοπίστηκαν και επιλύθηκαν σφάλματα συμβατότητας κλήσεων C↔Rust, όπως λανθασμένη δήλωση συναρτήσεων και αναντιστοιχίες τύπων.
Χρησιμοποιήθηκαν raw pointers, labels και loops για την αντικατάσταση goto και υλοποιήθηκαν εσωτερικά macros για κόκκινα-μαύρα δέντρα και λίστες.
Ο παλιός parser με yacc αντικαταστάθηκε με lalrpop, διατηρώντας μία προς μία τη γραμματική της αρχικής υλοποίησης.
Η χειροκίνητη μετάφραση επιβαρύνει τα χέρια, με τεστ σε κάθε λειτουργία και χρήση Vim και εργαλείων AI για επιτάχυνση.
Στόχος επόμενης φάσης η μετάβαση σε ασφαλές Rust, ενώ η έκδοση 0.0.1 διατίθεται για κοινή χρήση.
Get notified when new stories are published for "🇬🇷 Hacker News Ελληνικά"