Path: utzoo!attcan!uunet!snorkelwacker!mit-eddie!mit-amt!adamk From: adamk@mit-amt.MEDIA.MIT.EDU (Adam Kao) Newsgroups: comp.lang.smalltalk Subject: How does the Smalltalk compiler work? Message-ID: <1340@mit-amt.MEDIA.MIT.EDU> Date: 8 Jan 90 07:02:12 GMT Reply-To: adamk@media-lab.media.mit.edu.UUCP (Adam Kao) Organization: MIT Media Lab, Cambridge MA Lines: 20 I'm trying to understand the Smalltalk compiler and Goldberg and Robson are almost no help. Is the Smalltalk compiler a traditional compiler with a yaccable grammar? If not, what steps does it go through in translating source to bytecodes? How do object-orientation and message passing change the way expressions are parsed? In a yacc grammar for C I would find separate rules for if-then, while, etc. I notice in the back of Goldberg and Robson there is only one track diagram for blocks. Where is the information on how to generate code for control structures? Basically I just need to know how the Smalltalk compiler is similar to (for example) an ordinary C compiler, and how it is different. I also would like to know which differences are directly caused by object oriented features (inheritance, etc.) and which are more incidental. Please excuse my naive questions; I don't have access to a Smalltalk system and learning from the book is frustrating. Thank you for your time, Adam