Tiny Interpreter

FTL

Retro Member
Joined
4 Ιουλ 2007
Μηνύματα
187
Αντιδράσεις
10
image1ua9.jpg


Eίναι ένας απλοικός και ημιτελής Βasic interpreter γραμμένος στην Basic του Autoit V3 κάτι λιγότερο απο 300 γραμμές κώδικα.

Τα χαρακτηριστικά του είναι:

26 μεταβλητές, μία για κάθε γράμμα (Α-Ζ)

Η τιμή κάθε μεταβλητής είναι θετικός αριθμός.

IF-THEN δέχεται μόνο αριθμούς γραμμής (IF X=10 THEN 100)

PRINT υποστηρίζει , για separator

Line numbers 1-1000 μόνο.

Oι εντολές είναι:

CLS, END, NEW, RUN, LIST, PRINT, LET, DO..WHILE, GOTO, GOSUB, RETURN, IF..THEN, QUIT

Ο parser για την ώρα υποστηρίζει μόνο: +-*/,<,>,<>,=>,>=,<=,=<

Υπάρχει ένα edit box αντί οθόνης (αποφύγετε να κάνετε κλίκ εκεί), και ένα input box χαμηλά που γράφετε τον κώδικα.

Χρειάζεται ακρίβεια στην σύνταξη, δείτε τα παραδείγματα, ελάχιστοι έλεγχοι γίνονται και είναι εύκολο να γίνει crash της εφαρμογής.

Έγραψα το πρόγραμμα φέτος στις διακοπές μου, για εξάσκηση στην Basic του Autoit, πειραματισμό,

να δουλέψω τα πλούσια strings και τις functions αυτής της γλώσσας.

Θέλει πολύ δουλειά ακόμα και δεν έχω σκοπό να το συνεχίσω.

'CLS' για καθάρισμα της οθόνης.

'NEW' πρίν ξεκινήσει ένα νέο πρόγραμμα.

'LIST' για να δείτε το listing του προγραμματός.

'RUN' για να τρέξει το πρόγραμμα.

'END' θα είναι πάντα η τελευταία γραμμή του προγραμματός σας.

Λίγα παραδείγματα που δείχνουν τις μικρές δυνατότητες του interpreter πληκτρολογήστε, η copy-paste μία μία κάθε γραμμή κώδικα και πατήστε 'Enter'

Κώδικας:
NEW
LIST
CLS
PRINT "HELLO BASIC"
Κώδικας:
LET X=2
LET Y=100
PRINT Y+100*10.5/X
Θα χρειαστεί 'RUN' για να τρέξουν τα παρακάτω προγράμματα.

Κώδικας:
10 LET X=0
20 PRINT "COUNTING",X
30 LET X=X+1
40 IF X<10 THEN 20
50 END
Κώδικας:
10 CLS
20 LET X=1
30 LET Y=X
40 DO
50 PRINT X,"*",Y,"=",X*Y
60 GOSUB 100
70 WHILE Y<=10
80 END
100 LET Y=Y+1
110 RETURN
Κώδικας:
5 CLS
10 LET X=99
20 IF X<>1 THEN 50
30 PRINT X,"BOTTLE OF BEER ON THE WALL",X,"BOTTLE OF BEER"
40 GOTO 60
50 PRINT X,"BOTTLES OF BEER ON THE WALL",X,"BOTTLES OF BEER"
60 PRINT "TAKE ONE DOWN AND PASS IT AROUND"
70 IF X<>1 THEN 100
80 PRINT X-1,"BOTTLE OF BEER ON THE WALL"
90 GOTO 110
100 PRINT X-1,"BOTTLES OF BEER ON THE WALL"
110 LET X=X-1
120 IF X>0 THEN 20
130 END
Download
 
Ειχα δουλέψει το Autoit2 για αρκετό διάστημα και είχα εντυπωσιαστεί. Μετά έφυγα από το ΙΤ, οπότε δεν είχε κανένα νόημα πλέον. Η 3 κάνει παπάδες!!
 
Eίναι εξαιρετικό εργαλείο για τα Windows το AutoIt, και εγώ για περίπου 6-8 μήνες το δούλευα πολύ συχνά.
 
Πίσω
Μπλουζα