1

J'ai écrit un lexer pour permettre la coloration syntaxique de l'assembleur 68 000 sous Code::Blocks (syntaxe Motorola/A68k).

Téléchargement : http://www.mirari.fr/fgP1

2

top
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

3

C'est quand même cool de pouvoir gérer des workspaces et des projets sous KDE, je connais pas de soft qui fasse ça bien depuis qu'il n'y a plus de gestionnaire de projet pour Kate (et encore, fallait suer sang et eau pour ce plugin en bêta vieux de plusieurs années).
J'ai essayé Kate, Gedit, Scite, CodeLite, KDevelop, et d'autres encore dont j'ai oublié le nom. Impossible de faire ce que je voulais. smile

tromb Fichier joint : OrKy (snapshot6.png)

4

Je sais pas trop ce que ça vaut pour le C (et encore moins pour l'ASM ^^ ) mais quid de Eclipse, au pire ?

ça fait peut-être un peu usine à gaz... mais ça gère pas trop mal la notiond de "projets" (et ça a l'avantage d'exister sous windows et sous linux -- et de marcher à peu près pareil des deux côtés)
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

5

Code::Blocks aussi est multi-plateforme (Win, *nix, OS X). Et Eclipse est en Java, je me trompe ? Si oui, très peu pour moi.

6

oué, c'est en JAVA...

(bah quoi ? faut juste un PC avec 50 cores et 36 GB de RAM ^^ )
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

7

Oui, c'est en Java.

Et puis de toute façon, il y aurait un conflit de nom, tu as déjà un chien qui s'appelle comme ça embarrassed
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

8

Oué, je sais pas ce que ça fait de donner du code à bouffer à un clebs, mais à mon avis il préfère ses croquettes tongue

9

10

11

12

13

oué, enfin, si on pouvait arrêter de se taper dessus et/ou de s'insulter -- ou tout comme -- ça serait tellement plus sympa, aussi...


(désolé, j'ai un peu laché la hache du lock... deux cloches sur la journée, ça suffit ^^ )

14

merci folco pour ce lexer. Penses tu le proposer pour inclusion officielle?

15

Je l'ai posté sur le forumde C::B. J'ai du tâtonner pour trouver des valeurs, j'ai passé une après-midi entière sur les sites et dans les sources de Scite/Scintilla, dans les autres lexers de C::B, c'est un vrai merdier, donc tout n'est pas parfait : les %10101 et autres #$1234ABCD ne sont pas reconnus comme des nombres par exemple.

Et comme personne apparemment n'a de réponses à mes questions, j'arrive pas à fignoler ce lexer, ça fait donc chier de le proposer.
Plus de questions ici si vous avez des réponses grin http://forums.codeblocks.org/index.php/topic,13490.0.html

Mais si j'arrive à faire quelque chose d'abouti, oui, je le proposerai.

En attendant, pour l'utiliser, trouver le répertoire "lexer" de C::B et mettez-y les deux fichiers (.xml et .sample) et redémarrez C::B.
Chez moi, c'est dans /usr/local/share/codeblocks/lexers, j'ai pas modifié les path par défaut quand j'ai compilé.

16

Comme on peut le voir ici ( http://forums.codeblocks.org/index.php/topic,13490.msg90960.html#msg90960 ), il est hyper méga simple de se documenter pour faire son lexer. grin

Je vais voir si j'arrive à patcher pour gérer les 0x/#$/%1010.

17

pratique triso
d'ailleurs, arrange ton lien mirari, le point le fait foirer.

18

Done, merci hehe

19

done? soit y'a un cache soit ça a rien changé grin

20

Chez moi ça marche ^^ (tu parlais bien du '.' dans l'url de ./1 ?)

Et ma première version de patch pour colorer #123, #$123, #%101, #~123, #~$123, #~%101, et les mêmes avec '-' marche \o/

Première fois que je mets les doigts dans un machin aussi gros et ça marche, j'en reviens pas grin

21

Je pense que squalyl parle du troisième post dans le topic du forum C::B: "http://www.mirari.fr./TfK3" smile
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

22

Merci, en effet, fichu copier/coller tiens cheeky


ps -> je suis en train de découvrir un truc relatif aux gros projets. Vous vous la coulez douce combien de temps au boulot quand vous devez refaire une compilation à cause d'une faute de frappe ? grin

23

heu entre 10 secondes et 30 secondes, selon les projets? Le truc cool des makefiles et projets visual studio/netbeans, c'est que ça recompile que ce qui a changé, du coup le "rebuild all" est rare trioui

24

CB est conçu comme ça, mais malgré tout ça prend du temps. Peut-être ne devrais-je pas refaire le configure ? Pourtant, ça ne recompile que quelque trucs, donc ça devrait être bon, non ?
Ou alors faut juste refaire make/make install ?

25

oui, toutafé, pas besoin de reconfigurer sauf si t'ajoutes des fichiers sources.

ça devrait prendre du temps uniquement si tu changes des fichiers .h qui sont inclus dans beaucoup de fichiers .c

mais il me semble que c::b inclut beaucoup de code dans peu de binaires, du coup ça doit prendre un peu de temps.

on peut pas compiler code blocks dans code blocks? Dans ce cas un "build" suffit.

26

Si, je crois, mais j'avais essayé, merdouillé, du coup je me suis fait un script. Quand je fais mes tests, je fais juste ./configure --with-contrib-plugins=all/make/make install, sinon mon script va chercher la dernière révision sur le svn.

Et en effet, CB a plein de sources en peu de binaires, un exécutables et quelques libs.

27

(-s)

normalement t'as pas besoin de reconfigurer.

28

Ok, merci pour le tip.


Bon, l'archive finale est ici : http://www.mirari.fr/fgP1

Ca contient un fichier xml pour la coloration, un fichier sample pour aider à la paramétrer, et un patch pour le fichier src/sdk/wxscintilla/src/scintilla/lexers/LexAsm.cxx , ainsi qu'un readme pour vous dire où mettre tout ça.

Svp, n'utiliser pas mon mail pour le feedback, postez juste ici, j'ai pas envie d'avoir 300 emails à me farcir demain matin. Merci de votre compréhension. embarrassed

Purée, ça vous paraitra très con, mais je suis hyper content d'avoir réussi à faire ce patch #triloveoui#

29

30

[ul][li]Ton patch n'est pas forcément correct pour tous les assembleurs, il y a des syntaxes très différentes. Ce n'est pas de ta faute, mais le fait d'avoir le lexer assembleur codé en dur en C++ et seulement les listes de mots-clé paramétrables est vraiment sick![/li][li]Même sur 68k, ton patch n'est pas vraiment correct, # ne fait pas partie d'un nombre, c'est un opérateur unaire, on peut aussi écrire #label par exemple.[/li][li]De même, ~ est aussi un opérateur unaire.[/li][li]Tu patches un fichier source qui n'est pas utilisé dans un Code::Blocks packagé correctement, normalement une lib Scintilla système doit être utilisée à la place. (D'ailleurs, je vois que le paquetage Fedora de Code::Blocks n'est pas conforme, je vais ouvrir un bogue. EDIT: https://bugzilla.redhat.com/show_bug.cgi?id=644183)[/li][/ul]
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité