Όποιος θέλει μπορεί να τον χρησιμοποιήσει με το μεταγλωττιστή του κατεβάζοντας τον κώδικα από το 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.