Salut,
j'étais en train de réfléchir comment j'allais faire pour te préparer des infos pour te faire la main. En général si tu utilises une machine
virtuelle Forth, il faut vérifier qu'elle contient l'ensemble du vocabulaire prévue par la Norme ISO. Ben oui Forth est normalisé ISO.
Je crois que c'est le cas pour gforth. Ce qu'il y a c'est que les auteurs rajoutent des Vocabulaires complémentaires.
C'est également le cas de SwifthForth qui contient la normes mais également toute une série d'extensions. SwiftForth est un outil professionel extrêmement puissant. Je travaille avec cet outil et Easywindows est construit à partir de SwiftForth.
J'ai développé tout un arsenal d'outils pour gérer les chaines de caractères, les bases de données, évidement les I/O disques, les sortie à l'écran, les accès au net etc.
Easywindows est actuellement en Version Béta, je me pose la question de savoir comment faire pour te passer cette version, sachant qu'elle n'est pas encore stabilisé et qu'il s'y rajoute continuellement de nouvelles fonctions.
Un Exemple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54 VARIABLE File_Handel Create File-Buffer 255 /ALLOT \ Création d'un buffer de 255 Octets : ReadLineX S( file_ID --- adr,len ) \ Lecture d'une ligne de texte dans un fichier dont le Handel est sur la pile >R File-Buffer 255 Erase File-Buffer 255 R> Read-line Throw ; : ReadLine File-Buffer 255 Erase File-Buffer 255 File_Handel @ Read-line Throw ; 255 $STRING BASE$ : LoadBase S( adr,len --- ) \ Charge la base de données ouverte avec le fichier disque dont le nom est pointé par Adr,len split# cutlf file$ $! cutlf Base$ $! File$ file-exists Not IF FileError THEN Base$ (Find) NOT IF DataBaseError THEN EXECUTE ResetBase File$ R/W open-file Throw File_Handel ! BEGIN ReadLine >R R@ IF File-Buffer swap Buf$ $! Buf$ AppendLine THEN R> NOT UNTIL File_Handel @ Close-File Throw DROP File$ $SetFileName ;
Donc, si tu te décide à travailler avec SwiftForth je veux bien te donner un coup de main.
Cordialement
Ludwig
Partager