is a bogus error message. The only way to match that word number is to compile the code !!
So I edited the compiler :
4th-3.5d3-unix/sources/comp_4th.c:/^Object->ErrNo = M4NONAME;/
s/$/printf("WORD %s", p);/
so it spits out the duff word
Compiling; Word 444: Undefined name
WORD dup4
which I suppose is ok for a start but I can do better than that but let's not get sidetracked
as an aside, programming in Lunix code is like going back in time. I mean FILE* !! gimme a break.
2 comments:
Not really. You can issue this at the command line:
4th cdq [yourprogram]
In that case 4tH will decompile the code up to the point where the error occured. You can achieve the same thing with the "D" key from the builtin menu.
Usually, you'll get a pretty good idea of where it stopped. Yes, a linenumber or the word itself would be much nicer, if it weren't for these restrictions:
(a) It will also compile blocks. Blocks don't have any line terminators. In fact, during tokenizing all graphic and whitespace characters are marked as WORD "terminators" and lose their distinction. This keeps the parser small, neat and simple.
(b) Since 4tH is essentially a LIBRARY, it is considered bad style to do any output from the compiler itself. As a matter of fact, 4tH itself produces the error message, not the compiler routine itself.
Post a Comment