flat assembler
Message board for the users of flat assembler.

Index > Compiler Internals > Wouldn't it be nice...

Author
Thread Post new topic Reply to topic
SeproMan



Joined: 11 Oct 2009
Posts: 55
Location: Belgium
SeproMan
Wouldn't it be nice to report as many errors as possible?

I find it quite annoying that FASM considers every error a fatal error. Why not always complete the 1st pass, thus showing at least all syntactical errors? I'm well-aware of the fact that one error might provoke another error, but then again the 2nd pass would not be started, would it?

_________________
Real Address Mode.
Post 07 Nov 2010, 14:38
View user's profile Send private message Reply with quote
Tomasz Grysztar
Assembly Artist


Joined: 16 Jun 2003
Posts: 7724
Location: Kraków, Poland
Tomasz Grysztar
Post 07 Nov 2010, 16:03
View user's profile Send private message Visit poster's website Reply with quote
SeproMan



Joined: 11 Oct 2009
Posts: 55
Location: Belgium
SeproMan
Thanks Tomasz for the link.
I now understand why this feature is not available.
Nevertheless, I think Randall Hyde expressed entirely how I feel about it.
Post 07 Nov 2010, 16:33
View user's profile Send private message Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2341
Location: Usono (aka, USA)
rugxulo
Does it take a long time for you to reassemble your source? (Too many macros??) If not, then the problem must lie with your edit / assemble cycle being too frequent. Try using FASMD or FASMW instead. At least then you can correct an error, then reassemble (Ctrl-F9), then correct the next, etc. Or you could probably use VIM, VILE, FTE, TDE, GNU Emacs, etc. to simplify development (e.g. on Linux, where no native FASM IDE exists yet).

Lemme see about TDE (my fav), which does also compile for Linux/Ncurses (and yes, I nagged the author to support FASM error style "back in the day", heheh, though it was a ridiculously trivial patch):

(arbitrary example)

tdew.exe myfile.asm
Ctrl-LShift-E -> F1 (capture output) -> "fasm.exe %f" -> Enter (Return)
(error)
Ctrl-F7 (jump to first)
change "byt" to "byte"
Ctrl-LShift-E -> Enter (Return)
(error)
Ctrl-F7
change "AL" to "ALL"
Ctrl-LShift-E -> Enter (Return)
voila! assembles correctly

Ignoring purely algorithmic reasons to not print a ton of errors, I personally don't see the use in having hundreds of messages scroll by on the screen (a la GCC). You can't correct but one at a time anyways. But I guess if you wanted to correct a bunch of errors at once .... Still, it's much cleaner to just have one error (w/ message) to fix, IMHO.

NASM is bad about this (too many errors reported at once), but I guess you can send 'em to file and then adjust as convenient. A86/A386 by default puts the error messages in the source itself (and they will be removed once fixed), which I find annoying (though you can optionally put it in a separate file if needed), but I guess if you didn't have a decent IDE then that would be okay.
Post 08 Nov 2010, 15:29
View user's profile Send private message Visit poster's website Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2020, Tomasz Grysztar.

Powered by rwasa.