Knowledge (XXG)

Talk:Compiler/Archive 1

Source 📝

741:
of code to that computer's instruction set architecture. A modern day computer has one or more physical processors and several virtual processors or virtual machines. A Java Virtual Machine (JVM) is one example of a virtual processor. A JIT compiler can and does at run time, compiling the byte-code to underlying machines ISA. Often, compiler designers work closely with processor architects even before a processor is developed at the architecture and design stage. Ability to purchase some thing at a specific location has nothing to do with the category for that thing. A compiler often produces object code in a standard format like COFF or ELF which is then loaded by the operating system. A compiler often links in standard run-time libraries to executables. In languages like the C++, the working of something like exception handling is a complex puzzle pieces of which are done at compilation and others at run-time without the programmers knowledge. Just as an operating system increases the abstraction of the system services available to a user (programmer), a compiler increases the abstraction of the system processing architecture available to a programmer. In fact, a compiler is more fundamental system software than the operating system itself, because most of the times the operating system developers depend on the capabilities of the compiler. There are interesting ways in which compilers are bootstrapped for new processors that don't yet have an operating system. With that argument, I rest my case that compilers are in theory and practice the core part of system software. Time some one proficient in the ways of wikipedia takes the effort to relook at this categorization.
515:
a plow to a motorcycle! And neither a motorcycle or tractor's really good for carrying all your furniture to a new house, unless you have a trailor attached to it.... Not to mention, a tractor's not as good on dates with most women.... Likewise, if your developing an open-source compiler whose goal is to allow others to modify it, then by far self-hosted is the way to go! If on the other hand, your wanting to sell your compiler, and wish to gain an edge by having your own optimized routines, or routines that perform task that no other compilers can do, then it makes no sense to demand that the compiler be able to compile its own self. --
892:"parse" is the source of the deriviation "pass" as to parse something is to work through it, and the first parse would grab syntatic elements, second parse build tables, etc. as each parse would re-inspect the data. When you try to think carefully about it you can't really make the word "pass" do the same function in an active sense. I suspect there could even be a language (en-us/en-uk) issue in here too, maybe? but. 'Object code generation' btw is done during a parse of the stored data (and again 'pass' doesn't really make sense!). PS. Nothing wrong with being 854:
it). I suspect that "pass" came to be favored because a step that processes intermediate code into better intermediate is not really "parsing" anymore, plus preprocessing and assembly steps aren't really doing parsing either. Since our usual rule is to use the most common term, I think we should use "pass", but at the same time include a note that some sources use "parse" to mean the same thing (since there's a confusion about this, the WP article can be valuable in clearing it up).
759:
extreme you don't even need an assembler. On one occasion, just for the experience, I developed a very small operating system by writing it in assembler using absolute addresses for variables etc., hand-translating it to binary, writing out the 0's and 1's, spliting it in to 5-bit chunks, very carefully punching the equivalent characters on to 5-hole paper tape, and feeding the resulting tape into the built-in bootstrap loader; somewhat to my surprise it actually worked first time.
907:"Parse" and "pass" have nothing to do with each etymologically, so saith OED. I got an opportunity to look at Gries (via a colleague at Apple even older than I am :-) ) last week and not only does Gries also use "pass" in the "multiple passes" sense, but there is no reference to "multiple parses" that I could find. So I think we need to get a book and page number that justifies this alternate sense of "parse" - don't want this article to become the source of a 31: 955:
to add a footnote about "phases", to replace the one on "parses"! But anyway, unless someone has references to a book that uses "multi-parse", I'm going to say that the footnote is unnecessary. And since Stan asked for a reference years ago, and it didn't materialize, it seems safe to delete this footnote now. So I did! If that's inappropriate, you can revert it and yell at me.
659:(What the &^%$ ! was that last edit all about? I think some of the discussion materal got deleted) Anyway, yes, it's usual to put compilers in system software if you're only allowed to have app and system software categories, otherwise you'd finesse the question by putting it in programming tools and not asking too many questions. :-) 706:. I would expect that category to contain the software that keeps the 'system' running, ie. mainly the OS functionality. A compiler, while creating code which may perform that function, is not necessary in any way to operate a 'system' (although it may make system calls during operation, etc). --] 21:44, 7 Aug 2004 (UTC) 853:
OK kids, let's hold off on the edit war and finish the discussion please. I think the use of "multi-parse" must be something that died relatively quickly, because I started learning about compilers in 1975 and don't remember hearing of that usage (thought I had a copy of Gries, but can't seem to find
476:
I mostly agree with David. Also keep in mind that in the old days, a language that was not self hosting was considered a failure, or at best not truely a general purpose language. (since if GP, one could implement a compiler in it). Pascal is fairly nice to create a compiler for imperative languages.
441:
I have actually looked at the code involved in at least two self-hosted basic compilers, and I've written a Fortran to Visual Basic translator (using Visual Basic) and I think, if the level of strength of the compiler is good, it is no more difficult to write a compiler using Basic than Pascal or any
224:
The original definition of compiler is not necessarily bound to generation of executeable/object code. The general definition in the dragon book (which would worth a mention on its own on the compiler main page) goes roughly as "a compiler reads a program written in one language - the source language
514:
Self Hosted vs. not being self-hosted is a lot like making a choice between a motorcycle, a John Deer Tractor, or a pick up truck. If you need great gas mileage and want to be able to slip into spots with little space grab a motorcycle. If your wanting to plow your field, I wouldn't try to hook up
954:
is primarily a means of counting the number of times data is read and written -- it is mainly a way to count the expensive file I/O loops. The dragon book uses "phases" where this wikipedia article uses "passes". Given the importance of this book in the general CS populace, it might even make sense
944:
consisting of reading an input file and writing an output file. In practice, there is great variation in the way the phases of a compiler are grouped into passes, so we prefer to organize our discussion of compiling around phases rather than passes." -- Compilers: Principles, Techniques, and Tools,
740:
Compilers help convert high level programs developed in languages like C, C++, Basic to lower level programs expressed in assembly or machine language for a specific processor. As such a computer or microprocessor hardware is completely useless without a compiler that can convert significant amount
503:
what you'll find is a 350K, 12,537 line listing of the source to a Pascal Compiler for the PDP-10. It's not OOP, and it is self-compiling. Probably something for people who are very masochistic.  :) Speaking of Masochism, Nicklaus Worth reported that (and if you'd ever written programs on a CDC
483:
The *nix LALR parser tools (Yacc and its GNU variant Bison and Lex) IMHO have as problem that they don't really simplify relative clean languages, also the quality of errormessages is often quite bad. This is one of the reasons why most commercial compilers (including GCC since either 4.0 or one of
437:
language has some assembler in it, at least at the run-time library level (I'm not counting the assembly or object code generated by the compiler.) Now, if you can find a way to do run-time startup and setup code in the target language then it is theoretically possible not to have to use it, but I
746:
Today, compilers are sold over the counter in retail stores - or downloadable for free - by third parties who make them and have nothing to do with the computer manufacturer or operating system vendor and in some cases are available for multiple operating systems (Free Pascal, Free Basic and Java,
613:
It would be nice to have a discussion of the origins of the words "compiler" and "to compile" as it applies to computers. Who used the term first? Before there were computers these words were in use, usually associated with "compile a list". The first computer programmers were very literate folks.
203:
I changed "source code" to "source language" because a compiler can be pretty anything that translates a language to another one. This includes a lot of translations which are not source code, such as binary-to-binary translations and just-in-time compilation processes. "Source code" in its normal
107:
Computer hardware can only understand very specific binary machine language instructions. Each instruction must be written in an extremely precise format and must conform to extremely limited abilities of the computer's CPU (Central Processing Unit). Such binary machine language is too cumbersome
758:
In the past there have been plenty of examples of operating systems which could be implemented without using a compiler (e.g. any operating system written in assembly language); but a cross-compiler running on some other architecture can make operating system implementation much easier. At the
728:
Compilers can be system software (typical case:Unix). However they don't need to be. E.g. something like Delphi doesn't have any direct connection to the OS builders. I'd rather put them under apps myself too. Kenny, could you produce a reference for your argumentation? That is more useful than
181:
2. To prepare a machine language program from a computer program written in another programming language by making use of the overall logic structure of the program or by generating more than one computer instruction for each symbolic statement as well as performing the function of an assembler.
734:
I think I can add some light (and less heat) to this discussion by adding the following. Originally, when large computers were sold, they came with a base set of system software to be able to use them, including an assembler, Fortran, Cobol, Basic (interpreted or compiled or both) and RPG III
212:
The article makes a distinction between compiled and interpreted languages. While most languages are either primarily interpreted, or primarily compiled, any language that can be compiled can be interpreted, and (modulo eval statements and the like) any language that can be interpreted can be
735:
compilers, or you bought them as add-ons from the manufacturer of your computer and operating system. At that time you could classify compilers as system software because they were either sold as a package as part of the operating system or were sold to sophisticated, technical users.
970:
There is a difference; I've never heard the word "parse" used in the context of multiple repetition of source-code processing by a compiler; the term has always been "pass", e.g. a 1-pass compiler, a 2-pass compiler, etc. Now, on each pass the compiler may - and probably does -
928:
Coming late to this discussion, but I also find the footnote to be fairly tangential and a bit unlikely. I've never heard of parse and pass being conflicted; they seem very distinct to me. To make things more confusing, the Dragon Book (Aho, Sethi, and Ullman) does not refer to
308:"The Pascal programming language is well known for this capability, and in fact many Pascal compilers are themselves written in the Pascal language because of the rigid specification of the language and the capability to use a single pass to compile Pascal language programs." 691:(too much was lying around in the Software 'root directory'; in my opinion the subcategories should at least be used if we create them in the first place...). I hope my work led to a more logical and easily navigable sw information collection than before. -- 420:
You do not have to have two code bases, one consisting of the test packages for the compiler (in the language the compiler processes) and a second code base consisting of the compiler source itself. You can even use the compiler as a test case for
432:
Unless you're writing an assembler or you can write the compiler's its own run-time library 100% in itself, there is going to be some assembly language used in the compiler, but usually you want this as small as possible. So it means that
134:) releases his programs in machine language. Not sure how he does it... If he actually writes in it or what. I would imagine not but haven't asked. I suppose it's possible, though that would probably make him a certifiable genius.  :-D 600:
Michael, if you're unhappy with the redirect and have better ideas for it, disambiguate and break the redirect yourself. I don't think there's much room for something other than a dictionary definition, if I understand you correctly...
111:
Compilers have the ability to understand the more abstract, symbolic, human-friendly programming languages and to generate a low level binary machine language program which executes *exactly* what the programming language specifies.
213:
compiled. In practice, there are compilers for normally-interpreted languages such as Perl (which is compiled to bytecode anyway), LISP, and Prolog, and interpreters for such commonly-compiled languages as C and C++. --
463:
and out of date. Please bring me up-to-date. Perhaps there is some *other* language that is now considered better for learning about self-hosting? Perhaps the idea of "self-hosting" is now considered unimportant?
862:
I have now entered a comprehensive note about the pass/parse usage, with which I hope we may reach a concensus regarding this question. I find the discussion very interesting, as I had in fact not thought of
1033:
An incremental compiler only (re)compiles the needed parts of a source. One could discuss about the granularity of what is the minimal part that must be recompiled (procedure or whole compilation unit).
818:
rather than being well-written and just going through the once, then the original spelling got lost somewhat (and some youngsters like to think they invented computer languages! ;-) --] 21:40, 7 Aug 2004
319:
Nor do I. I've heard similar sentiments expressed as an article of faith in Pascal - 20 years ago. Charmingly quaint now, but quaintness is not part of the mission, and it should go away or be rephrased.
225:- and translates it into an equivalent program written in another language - the target language". Also a rough lineup of the history of compiler development, maybe split from "first FORTRAN compiler to 204:
meaning refers to a list of instructions in a language understandable to humans. Source language can be anything that can be griped by formal language definitions (and that is pretty much anything).
446:, and they don't allow trailing zero bytes, and to know the length of a string you have to count it every time; Basic and Pascal use strings with a length prefix and you can store anything in them.) 396:
seems to agree. If I had to rank languages from "easiest to write a self-hosted compiler" to "most difficult", I would guess something like Forth, Pascal, Lisp, assembly language, BASIC, Small C ...
175:
1. To translate a computer program expressed in a high-level language into a program expressed in a lower level language, such as an intermediate language, assembly language, or a machine language.
638:
of the same name seems to indicate otherwise (only OSs, drivers, and related SW are included). Could someone enlighten me as to this matter? I just haven't been used to think of compilers etc as
559:
to be about what that word meant until last week. But those who have studied computer science (most of them, anyway) deny as a matter of religious dogma that the world existed before last week.
529:
If I remember right, Wirth originally set out to write Pascal in Fortran, but the attempt failed. So instead he (and others) wrote the Pascal compiler in Pascal itself. --anonymous 16 Jan 2008
975:
the source, but I've never heard of a 1-parse or 2-parse reference. I mean, I heard the first Fortran compiler had to squeeze into such a small area that it was something like over 50 passes!
803:
Ah well, these 'Johnny come lately's do get things wrong occasionally, but as I was taight how to write compilers (and the rest) back in the mid-70s, and *the* book on the subject was the 1971
487:
I'm not a OOP purist, but OOP (read basic inheritance) does help when writing a compiler, so for that original Pascal disqualifies, and I wouldn't use it today. A modernised dialect like
270:
but it seems to me very difficult as it contains all examples in pascal & I had C/C++ background. So if you know any good book or link then please share with me. Thanks in advance,
614:
While defining this new field they made very creative use of the English language. --- And by the way, for the record compilers have been around since at least the late 1950's. --
845:
I think it was rather pre-emptive of you to revert the correction made, especially whilst discussion is on-going. As such I have removed the revertion. --] 11:23, 8 Aug 2004 (UTC)
104:
A compiler is a software programs which takes as its input a set of modules written in a ProgrammingLanguage and creates a machine readable binary executable image file.
127:
Compilers do not always take source code and output executable machine code. The program may have to be processed by a linkage editor and/or loader program first.----
1030:
A threaded compiler can compile parts in paralel, or parse and do codegeneration/optimization (for previously compiled parts) in paralel. The former is more likely.
879:
has also been used independently from the beginning, I think is an open question. Also allow me to admit that I should perhaps have added <slightly sarcastic: -->
480:
Writing compilers in assembler is insane, since the refactoring for each new iteration (e.g. with better optimizations) would kill you. I know, since I tried :-)
124:
test Right, I forgot about that. Most of my experience programming was in the mid-80s, tinkering around with BASIC. Not exactly a powerhouse language.  :-D
392:, either -- there's only a few things to implement, but the code is so difficult to read, write, and test. I think Pascal is close to the "sweet spot", and 500: 424:
If the compiler is open source, the users of that compiler can (theoretically) submit bug fixes and updates, since they can actually read the source code.
536: 442:
other language, and probably easier than C because Basic (and Pascal) have built-in string types which C lacks. (C's strings are an
331:
I suspect the real reason "many Pascal compilers are themselves written in the Pascal language" merely because Pascal is used in the
643: 791:
in the relevant context? I would like to believe that Aho, Sethi, and Ullman knew what they were writing about. Strange, or what,
195:
Shouldn't there be anything said abort semantic analysis, thats an important part of the frontend to. Type-checking and such.
351:
If I had to write a compiler for some given language from scratch, I wouldn't implement the compiler in Pascal. I would pick
302: 630:
Until quite recently, I lived under the impression that assemblers, compilers, linkers, etc, belonged to the category of
358:
if I had to write a compiler, and I could pick what language it compiled, I'd pick something really simple and easy like
814:
common mistake, as with newer compilers repeating their transit through the source code then the original usage of
38: 416:
I would disagree with your assessment. There are two very good reasons for a language compiler to be self-hosted
254: 764: 635: 715:
Excuse me, IMHO, VampWillow is not accuanted enougth with CS. In CS compilers etc are under system software.
540: 76: 71: 66: 532: 291: 768: 751: 504:
Mainframe, as I have, you'd understand why he did) the original Pascal compiler was written in Fortran.
956: 687:
Yep, no problem. I did. BTW, I've made a major effort today/night in (sub)categorizing all the stuff in
277:
This is not a compiler discussion forum. It is for discussion of the Compiler entry of Knowledge (XXG).
555:
Normal humans, as opposed to persons knowledgeable in computer science, would expect an article title
1010: 999: 403:
Does that make sense ? Of course, I'm far too long-winded -- is there a better way to rephrase this ?
355:(perhaps using Lex, AWK, Bison, etc.), something incredibly sophisticated and full-featured. However, 246: 238: 141:. There is even an link to a free assembler for 386 Intel processors and beyond (486, Pentium etc.). 881:
tags around my starting comment of this thread. I did not intent to be 'evil'/sarcastic as such. --
760: 520: 650:
which specifically addressed compiler writing and connected topics (no wonder I'm confused...). --
937:
multi-parse. It defines the former, but then discards it as being too narrow for their purposes:
560: 214: 871:
before (quite plausible using English pronounciation). Whether this is the case for all use of
282:
Oh, and the Dragon book is definitely the book you want. Learn Pascal. It's not that hard. -
688: 359: 234: 242: 912: 855: 792: 660: 570: 389: 363: 321: 642:(implying that apps are for -eh- "end users", as opposed to programmers/hackers). At the 253:) of a particular physical processor, or into some virtual (software) machine code (e.g. 674:
categories: system and application. All other categories are subcategories of this two.
1024: 841:
um, given that you are unable to spell 'mistake' and acknowledge in your userpage that
602: 592: 516: 467: 407: 295: 1006: 993: 827: 716: 675: 156: 47: 17: 976: 882: 796: 748: 692: 651: 505: 447: 374: 283: 250: 388:-- there's far too much stuff to implement. But I wouldn't write such a thing for 89:
I think it is indispensable for some compiler dealing with Fortran 90 and OpenMP.
843:
I am not fluent in english, so please feel free to edit my comments in wikipedia
780: 581: 556: 492: 393: 332: 312: 226: 46:
If you wish to start a new discussion or revive an old one, please do so on the
1005:
but I'm still a bit fuzzy on the difference between them. I think I understand
615: 344:
Let me expand on what I *think* that sentence in the article is trying to say:
266:
Hi, I need some help in my compiler construction course. I acquire the famous
979: 959: 618: 544: 524: 508: 450: 428:
And some good reasons to use Pascal or Basic for a compiler as opposed to C
159: 145: 1014: 585: 151:
No. Steve Gibson packs his executables with a custom/obsolete version of
438:
suspect sooner or later there's going to be "some assembly required." :)
908: 747:
among others), and thus would no longer qualify as "system software."
488: 609:
For the record compilers have been around since at least the 1960s.
940:"Several phases of compilation are usually implemented in a single 376:. If a language is really great, wouldn't it make it easy to write 172:
In telecommunication, the term compile has the following meanings:
373:
The idea of a "self-hosted compiler" is intellectually challenging
138: 816:
parsing the lexical strings to create the output streams/code/etc
384:
compiler ? But if I get to pick the language, I would never pick
155:
and claims them to be Assembly. Please verify this for yourself.
807:
by David Gries which uses 'parse' then, I think, I rest my case!
335:. But the authors picked Pascal because of those above reasons. 152: 25: 702:
I'd disagree strongly that compilers should be counted as
101:
Compilers - Tools for creating machine-readable programs
646:
where I got my CEng degree, we even had a course called
229:" and "dragon book until now" would be nice. -- scut 962:[Edit - changed "1998 edition" to "1988 edition" :-) 108:
for humans to read, write, and understand directly.
584:. When I try to find one, I only hit a redirect to 241:compiler is an application that translates text of 131: 484:the later 3.x releases) are recursive descent. 459:On the other hand, perhaps my understanding is 826:May be somewere it is misstake, but not here. 366:. I'd still try to implement the compiler in 8: 805:Compiler Construction for Digital Computers 624: 139:How to write Windows programs in assembler 896:occasionally! --] 10:24, 9 Aug 2004 (UTC) 670:On the top level Software is devided to 495:are quite ok though. (Unsigned comment) 1037:These two things are IMHO not related 44:Do not edit the contents of this page. 311:I don't understand the logic here. -- 245:written in some human-understandable 7: 985:threaded and incremental: the same ? 294:*is* a compiler discussion forum. -- 186:Source: from Federal Standard 1037C 262:Need help in compiler construction 148:entry with some example programs. 24: 1017:, which has no more information. 625:Aren't compilers system software? 85:where is runtime system/library ? 729:yes/no fights. (unsigned entry) 580:Um... there is no article named 137:Yes he writes in assembler. See 29: 989:The article currently mentions 880:txt</slightly sarcastic: --> 292:Wikibooks:Compiler construction 380:in it ? Even compilers ? Even 1: 960:11:37, 5 December 2006 (UTC) 591:What do you really want ? -- 545:23:53, 16 January 2009 (UTC) 144:It would be nice to have an 1051: 980:19:35, 26 March 2007 (UTC) 752:19:29, 26 March 2007 (UTC) 509:04:45, 26 March 2007 (UTC) 996:compiler (or interpreter) 875:in compilers, or whether 779:Hmmm, how is it that the 769:09:19, 16 June 2008 (UTC) 619:01:50, 11 July 2006 (UTC) 563:20:45, 19 Jul 2004 (UTC) 499:If you want to check out 451:16:00, 3 April 2007 (UTC) 386:some more modern language 368:some more modern language 353:some more modern language 315:13:37, 10 Jul 2004 (UTC) 298:04:00, 27 Jun 2005 (UTC) 1027:01:57, 6 Nov 2004 (UTC) 1020:What's the difference ? 1013:is simply a redirect to 915:21:14, 15 Aug 2004 (UTC) 858:13:53, 8 Aug 2004 (UTC) 799:21:15, 7 Aug 2004 (UTC) 695:03:30, 26 Jul 2004 (UTC) 663:03:32, 25 Jul 2004 (UTC) 654:23:36, 24 Jul 2004 (UTC) 605:07:24, 26 Jul 2004 (UTC) 595:06:00, 26 Jul 2004 (UTC) 573:01:00, 20 Jul 2004 (UTC) 525:22:17, 9 June 2008 (UTC) 470:04:00, 27 Jun 2005 (UTC) 410:04:00, 27 Jun 2005 (UTC) 324:19:10, 10 Jul 2004 (UTC) 220:Definition of "compiler" 977:Paul Robinson (Rfc1394) 885:00:37, 9 Aug 2004 (UTC) 830:10:19, 2004 Aug 8 (UTC) 749:Paul Robinson (Rfc1394) 719:10:11, 2004 Aug 8 (UTC) 678:10:11, 2004 Aug 8 (UTC) 506:Paul Robinson (Rfc1394) 448:Paul Robinson (Rfc1394) 286:20:15, 9 Jun 2004 (UTC) 208:Compiled vs interpreted 160:05:00, 8 May 2004 (UTC) 945:1988 edition, page 20. 911:-suicide-type legend! 257:compiler). --Anonymous 249:into the native code ( 42:of past discussions. 1011:incremental compiler 1000:incremental compiler 634:. But the wikipedia 247:programming language 239:programming language 199:Source code/language 116:Moved from original 93:Moved from original 775:n-pass vs "n-parse" 551:Weird, weird, weird 290:On the other hand, 167:Compile (computing) 867:as emanating from 810:It is, however, a 648:System programming 130:... Steve Gibson ( 689:Category:Software 535:comment added by 360:assembly language 235:language compiler 191:Semantic analysis 178:* See: Compiler 82: 81: 54: 53: 48:current talk page 1042: 547: 243:computer program 63: 56: 55: 33: 32: 26: 1050: 1049: 1045: 1044: 1043: 1041: 1040: 1039: 987: 777: 704:system software 632:system software 627: 553: 530: 306: 264: 222: 210: 201: 193: 179: 170: 132:http://grc.com/ 122: 99: 87: 59: 30: 22: 21: 20: 12: 11: 5: 1048: 1046: 1003: 1002: 997: 986: 983: 968: 967: 966: 965: 964: 963: 948: 947: 946: 921: 920: 919: 918: 917: 916: 900: 899: 898: 897: 887: 886: 851: 850: 849: 848: 847: 846: 834: 833: 832: 831: 821: 820: 808: 776: 773: 772: 771: 761:Murray Langton 755: 754: 743: 742: 737: 736: 731: 730: 725: 724: 723: 722: 721: 720: 708: 707: 699: 698: 697: 696: 682: 681: 680: 679: 665: 664: 656: 655: 626: 623: 622: 621: 607: 606: 597: 596: 589: 577: 576: 575: 574: 552: 549: 512: 511: 474: 473: 472: 471: 464: 454: 453: 439: 426: 425: 422: 414: 413: 412: 411: 404: 398: 397: 371: 356: 348: 347: 346: 345: 339: 338: 337: 336: 326: 325: 305: 300: 288: 287: 279: 278: 263: 260: 259: 258: 221: 218: 209: 206: 200: 197: 192: 189: 177: 169: 163: 121: 114: 98: 91: 86: 83: 80: 79: 74: 69: 64: 52: 51: 34: 23: 15: 14: 13: 10: 9: 6: 4: 3: 2: 1047: 1038: 1035: 1031: 1028: 1026: 1021: 1018: 1016: 1012: 1008: 1007:threaded code 1001: 998: 995: 994:threaded code 992: 991: 990: 984: 982: 981: 978: 974: 961: 958: 957:Captain Wingo 953: 949: 943: 939: 938: 936: 932: 927: 926: 925: 924: 923: 922: 914: 910: 906: 905: 904: 903: 902: 901: 895: 891: 890: 889: 888: 884: 878: 874: 870: 866: 861: 860: 859: 857: 844: 840: 839: 838: 837: 836: 835: 829: 825: 824: 823: 822: 817: 813: 809: 806: 802: 801: 800: 798: 794: 790: 786: 782: 774: 770: 766: 762: 757: 756: 753: 750: 745: 744: 739: 738: 733: 732: 727: 726: 718: 714: 713: 712: 711: 710: 709: 705: 701: 700: 694: 690: 686: 685: 684: 683: 677: 673: 669: 668: 667: 666: 662: 658: 657: 653: 649: 645: 641: 637: 633: 629: 628: 620: 617: 612: 611: 610: 604: 599: 598: 594: 590: 587: 583: 579: 578: 572: 568: 567: 566: 565: 564: 562: 561:Michael Hardy 558: 550: 548: 546: 542: 538: 537:68.222.42.172 534: 527: 526: 522: 518: 510: 507: 502: 498: 497: 496: 494: 490: 485: 481: 478: 469: 465: 462: 458: 457: 456: 455: 452: 449: 445: 440: 436: 431: 430: 429: 423: 419: 418: 417: 409: 405: 402: 401: 400: 399: 395: 391: 387: 383: 379: 375: 372: 369: 365: 361: 357: 354: 350: 349: 343: 342: 341: 340: 334: 330: 329: 328: 327: 323: 318: 317: 316: 314: 309: 304: 301: 299: 297: 293: 285: 281: 280: 276: 275: 274: 273: 269: 261: 256: 252: 248: 244: 240: 236: 232: 231: 230: 228: 219: 217: 216: 215:Robert Merkel 207: 205: 198: 196: 190: 188: 187: 183: 176: 173: 168: 164: 162: 161: 158: 154: 149: 147: 142: 140: 135: 133: 128: 125: 119: 115: 113: 109: 105: 102: 96: 92: 90: 84: 78: 75: 73: 70: 68: 65: 62: 58: 57: 49: 45: 41: 40: 35: 28: 27: 19: 18:Talk:Compiler 1036: 1032: 1029: 1022: 1019: 1004: 988: 972: 969: 951: 941: 934: 930: 893: 876: 872: 868: 864: 852: 842: 815: 811: 804: 788: 787:rather than 784: 778: 703: 671: 647: 640:applications 639: 631: 608: 554: 528: 513: 486: 482: 479: 475: 460: 443: 434: 427: 415: 385: 381: 377: 367: 352: 310: 307: 289: 271: 267: 265: 251:machine code 223: 211: 202: 194: 185: 184: 180: 174: 171: 166: 150: 143: 136: 129: 126: 123: 117: 110: 106: 103: 100: 94: 88: 60: 43: 37: 933:multi-pass 781:Dragon Book 582:compilation 557:compilation 531:—Preceding 493:Free Pascal 444:abstraction 394:Dragon book 333:Dragon book 268:Dragon Book 227:dragon book 165:Moved from 36:This is an 793:VampWillow 644:university 378:everything 1025:DavidCary 603:Dysprosia 593:DavidCary 517:Johng1970 501:this link 468:DavidCary 408:DavidCary 296:DavidCary 146:assembler 95:Compilers 77:Archive 4 72:Archive 3 67:Archive 2 61:Archive 1 1015:compiler 950:Here, a 672:only two 636:category 586:compiler 533:unsigned 382:it's own 157:Goat-see 909:lemming 883:Wernher 797:Wernher 693:Wernher 652:Wernher 421:itself. 284:Doradus 39:archive 1009:, but 931:either 489:Delphi 461:quaint 313:Grouse 303:Pascal 973:parse 869:parse 828:Kenny 819:(UTC) 789:parse 783:uses 717:Kenny 676:Kenny 616:rchrd 435:every 272:Iqbal 233:From 16:< 952:pass 942:pass 913:Stan 894:evil 877:pass 873:pass 865:pass 856:Stan 812:very 795:? -- 785:pass 765:talk 661:Stan 571:Stan 569:??? 541:talk 521:talk 390:L00P 364:L00P 322:Stan 255:Java 237:: a 120:page 118:Talk 97:page 491:or 362:or 153:UPX 1023:-- 935:or 767:) 543:) 523:) 466:-- 406:-- 763:( 588:. 539:( 519:( 370:. 50:.

Index

Talk:Compiler
archive
current talk page
Archive 1
Archive 2
Archive 3
Archive 4
http://grc.com/
How to write Windows programs in assembler
assembler
UPX
Goat-see
05:00, 8 May 2004 (UTC)
Robert Merkel
dragon book
language compiler
programming language
computer program
programming language
machine code
Java
Doradus
Wikibooks:Compiler construction
DavidCary
Pascal
Grouse
Stan
Dragon book
assembly language
L00P

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.