Επεξεργαστής κώδικα για τη MiniJava
Posted: Tue Apr 27, 2010 2:07 pm
Πέρυσι όταν κάναμε το project των Μεταγλωττιστών έγραψα ένα μικρό επεξεργαστή κώδικα για τη MiniJava.
Όποιος θέλει μπορεί να τον χρησιμοποιήσει με το μεταγλωττιστή του κατεβάζοντας τον κώδικα από το github.
Στον κώδικα ΔΕΝ περιέχεται οποιοδήποτε τμήμα του κώδικα του μεταγλωττιστή. Για να συνδέσετε το μεταγλωττιστή σας με τον επεξεργαστή πρέπει :
Ο κώδικας του JSyntaxPane και οτιδήποτε κάτω από το πακέτο documentcontainer.* είναι διαθέσιμο υπό την Apache license v2.0
Edit 2: Άλλαξα το link να δείχνει στο github.
Όποιος θέλει μπορεί να τον χρησιμοποιήσει με το μεταγλωττιστή του κατεβάζοντας τον κώδικα από το github.
Στον κώδικα ΔΕΝ περιέχεται οποιοδήποτε τμήμα του κώδικα του μεταγλωττιστή. Για να συνδέσετε το μεταγλωττιστή σας με τον επεξεργαστή πρέπει :
- Ο lexer να πετάει Exceptions (τάξη LexerException που παράγεται από το SableCC) που κληρονομούν την abstract τάξη minijed.compiler.infrastructure.MiniJavaLexerException
- Η τάξη Token (που παράγεται από το SableCC) να υλοποιεί τη διεπαφή minijed.compiler.infrastructure.MiniJavaToken
- Ο parser να πετάει Exceptions (τάξη ParserException που παράγεται από το SableCC) που κληρονομούν the abstract τάξη minijed.compiler.infrastructure.MiniJavaParserException και υλοποιούν την abstract μέθοδο: public abstract MiniJavaToken getToken();
- Ο compiler να κληρονομεί την abstract τάξη minijed.compiler.infrastructure.MiniJavaCompiler και υλοποιούν την abstract μέθοδο: abstract public void compile(Reader input, DefaultListModel output, File outputDir) throws MiniJavaParserException, MiniJavaLexerException, IOException;
- Να αλλάξετε τη γραμμή 579 στο αρχείο minijed.MiniJedView.java :
ώστε να δημιουργεί ένα νέο instance του δικού σας μεταγλωττιστή.
Code: Select all
MiniJavaCompiler compiler = new YourMiniJavaCompiler();
Ο κώδικας του JSyntaxPane και οτιδήποτε κάτω από το πακέτο documentcontainer.* είναι διαθέσιμο υπό την Apache license v2.0
Edit 2: Άλλαξα το link να δείχνει στο github.