delfini69 Δημοσ. 28 Μαΐου 2009 Δημοσ. 28 Μαΐου 2009 Καλησπέρα, Αντιμετωπίζω ένα πρόβλημα στην δημιουργία ενός μεταγλωττιστή ή εμπάση περιπτώση ο θεός να το κάνει μεταγλωττιστή.... Λοιπόν θέλω να φτιάξω έναν μεταγλωττστή για μια c like γλώσσα, έχω γράψει το flex και το bison αλλά έχω πρόβλημα. Στο bison μετά τις δηλώσεις των TOKEN δηλώνω την main η οποία είναι: main : MAIN ARXH body TELOS {printf("Input Correct\n");} | error {yyerror();} ; το πρόβλημά μου είναι ό,τι και να δώσω μου επιστρέφει error..Και μάλιστα στην πρώτη είσοδο μπαίνει τρείς φορες στο yyerror και στη συνέχεια δύο.. Έχω κοιτάξει και τα rules μου αλλά δεν βρίσκω κάποιο λάθος..... Κάθε βοήθεια ΔΕΚΤΗ!!!! Ευχαριστώ εκ των προτέρων...
Επισκέπτης Δημοσ. 29 Μαΐου 2009 Δημοσ. 29 Μαΐου 2009 τo body το έχεις ορίσει στον κώδικα για να το κάνει reduce;
delfini69 Δημοσ. 30 Μαΐου 2009 Μέλος Δημοσ. 30 Μαΐου 2009 Ναι και το body ειναι δηλωμένο... Αλλά δεν δέχεται ούτε καν το main() ακόμα και σε αυτή την είσοδο που είναι η πρώτη πετάει error.... Ακόμα και αν βγάλω την κλήση της yyerror() πάλι μπαίνει στην yyerror και επιστρέφει το μήνυμα λάθους....
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.