Re: TMA Assembler?




Betov wrote:

1) Processing the statements within the compiler is much faster than
processing them via interpretive macros.

Probably the reason why RosAsm compiles huge Files in
no time, when your thingie takes a coffea time on small
ones...

HLA processes small files (no macro invocations) at about 50,000 lines
per second on a 3GHz PIV. While there are certainly faster assemblers
out there, HLA is hardly as slow as you like to think that it is. Now
if you start invoking lots of complex macros (like stdout.put), the
speed can drop down signficantly (because each macro represents a large
number of statements). And that's why it's better to implement
commonly-used HLL-like statements directly in the compiler rather than
via macros.


2) You can generate better code because the macros aren't aware of many
other things going on during the compilation.

Last news from Randall Hyde: HLLs produce better Code
than Assembly. Hey! Hutch--, --, --! Are you asleep?

Try again. What I said is that a compiler can generate better code for
HLL-like constructs than can be implemented using macros. Compare the
code generated by HLA's HLL-like statements against your macro set
sometime, and you'll see.



:)

3) The result is more robust. You get better error messages when the
programmer makes a syntactical (or other) mistake.

No doubt, clown. How is it, that your victims ask so
much questions about how and why they fail on this and
that?

Probably because I actually *have* "victims" who are learning assembly
language with HLA. You get almost none, so you have nothing to compare
against.
Cheers,
Randy Hyde

.



Relevant Pages

  • Re: C-AUX / C and binary portability
    ... trigraphs, digraphs, and K&R declarations are, in many C compilers, currently at the level where they will cause compiler warnings. ... which is ambiguous, but in this case, it will just assume that the declaration was intended. ... the reason is that, if one does infact include headers and expand macros here, then the generated code will depend on whatever macros/constants/... ...
    (comp.lang.misc)
  • Re: Reflections on a classic Lisp Paper
    ... lisp dialects. ... user-defined special forms - Macros, Fexprs, and Nlambda. ... compilable because the compiler just couldn't do it. ...
    (comp.lang.lisp)
  • Re: Cpp Considered Harmful
    ... > However, in either case, assertions are invaluable in making certain ... because we now have our own cpp ... > macros, we can use several different compilers and have our system ... > built into the compiler. ...
    (comp.lang.cpp)
  • Re: Comparision of C Sharp and C performance
    ... You appear to be confusing C macros with conditional compilation. ... They are preprocessor directives. ... compiler permission to do constant folding in a visible way up front ...
    (comp.lang.c)
  • Re: Doing mini-languages in CL
    ... > Thats it in a nutshell. ... I think the detail to note is that the Macro facility is a Compiler ... simply put you may well be able to leverage CL macros in building your ...
    (comp.lang.lisp)