Page 1 of 1

Επεξεργαστής κώδικα για τη MiniJava

Posted: Tue Apr 27, 2010 2:07 pm
by cyberpython
Πέρυσι όταν κάναμε το project των Μεταγλωττιστών έγραψα ένα μικρό επεξεργαστή κώδικα για τη MiniJava.
Όποιος θέλει μπορεί να τον χρησιμοποιήσει με το μεταγλωττιστή του κατεβάζοντας τον κώδικα από το github.
Στον κώδικα ΔΕΝ περιέχεται οποιοδήποτε τμήμα του κώδικα του μεταγλωττιστή.
Image
Για να συνδέσετε το μεταγλωττιστή σας με τον επεξεργαστή πρέπει :
  • Ο 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 :

    Code: Select all

    MiniJavaCompiler compiler = new YourMiniJavaCompiler();
    ώστε να δημιουργεί ένα νέο instance του δικού σας μεταγλωττιστή.
Edit: Ο κώδικας του επεξεργαστή είναι διαθέσιμος υπό την άδεια MIT.
Ο κώδικας του JSyntaxPane και οτιδήποτε κάτω από το πακέτο documentcontainer.* είναι διαθέσιμο υπό την Apache license v2.0

Edit 2: Άλλαξα το link να δείχνει στο github.

Re: Επεξεργαστής κώδικα για τη MiniJava

Posted: Tue Apr 27, 2010 2:51 pm
by enum21
Πολύ καλή δουλειά!! :smt023

Το έκανα sticky! ;)

Re: Επεξεργαστής κώδικα για τη MiniJava

Posted: Tue Apr 27, 2010 9:37 pm
by maxthebest
Δεν κατεβαινει,

το κατεβαζα με ταχυτητα 0.04 κbyte/sec, και μετα απο 20 λεπτα ολοκληρωθηκε (κατεβασε 51 κbyte),
οταν πηγα να το ανοιξω λεει file corrupted.

Βαλτω σε καποιο σιτε που να μπορουμε να το κατεβασουμε πχ. google code.

Re: Επεξεργαστής κώδικα για τη MiniJava

Posted: Tue Apr 27, 2010 9:58 pm
by cyberpython
Μια χαρά δουλεύει το link για εμένα. Δοκίμασε και από εδώ

Re: Επεξεργαστής κώδικα για τη MiniJava

Posted: Tue Apr 27, 2010 10:43 pm
by maxthebest
thx :-) , τωρα κατεβηκε κανονικα απο το νεο link, δεν ξερω γιατι το αλλο link, δεν δουλευε.

Φαινεται εντυπωσιακο απο τα screenshots, πιο πολυ με ενδιαφερει πως εκανες το gui (αν και πως χρησιμοποιησες εξαρτηματα του netbeans για το gui).
Θα ηθελα και εγω καποια στιγμη να κανω κατι παρομοιο, αν και απο οτι φαινεται αυτο θα το προσπαθησω οταν τελιωσω την σχολη (σε 5 μηνες), προς το παρον διαβασμα + εργασιες.

Re: Επεξεργαστής κώδικα για τη MiniJava

Posted: Fri Apr 30, 2010 1:33 am
by cyberpython
maxthebest wrote:thx :-) , τωρα κατεβηκε κανονικα απο το νεο link, δεν ξερω γιατι το αλλο link, δεν δουλευε.

Φαινεται εντυπωσιακο απο τα screenshots, πιο πολυ με ενδιαφερει πως εκανες το gui (αν και πως χρησιμοποιησες εξαρτηματα του netbeans για το gui).
Θα ηθελα και εγω καποια στιγμη να κανω κατι παρομοιο, αν και απο οτι φαινεται αυτο θα το προσπαθησω οταν τελιωσω την σχολη (σε 5 μηνες), προς το παρον διαβασμα + εργασιες.
Όλη η διεπαφή έχει σχεδιαστεί με το designer του Netbeans, αλλά δε χρησιμοποιεί κάτι από το NetBeans Platform.
Για το άνοιγμα/αποθήκευση/έλεγχο πριν το κλείσιμο των αρχείων και την εμφάνιση των αντίστοιχων διαλόγων χρησιμοποιεί μία βιβλιοθήκη που έχω γράψει μόνος μου.
Ο editor βασίζεται στο jsyntaxpane.

Δοκίμασε κανείς να το συνδέσει με το μεταγλωττιστή του;

Re: Επεξεργαστής κώδικα για τη MiniJava

Posted: Wed Jun 30, 2010 8:40 pm
by cyberpython
Όλος ο κώδικας είναι από σήμερα στο github.