Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!samsung!spool.mu.edu!uunet!shelby!agate!ucbvax!BRFAPESP.BITNET!UNBCIC From: UNBCIC@BRFAPESP.BITNET Newsgroups: comp.lang.forth Subject: ALIGN Message-ID: <9102151416.AA00926@ucbvax.Berkeley.EDU> Date: 14 Feb 91 20:27:00 GMT Sender: daemon@ucbvax.BERKELEY.EDU Reply-To: UNBCIC%BRFAPESP.BITNET@SCFVM.GSFC.NASA.GOV Organization: The Internet Lines: 25 > > ...when you > DOES> nothing, the user will have to use ALIGN before @ and ! too. >Actually, that's not true, if the system implementor did things right. The >last word-aligned system I used automatically ALIGNed before every CREATE. >This forced the parameter field to an even address (which was required for the >thread of a colon definition). So, DOES> always returned an aligned address, >and the user didn't have to worry about it. >Strings compiled in-line were always padded to an even number of bytes; this >required a small bit of additional logic in the run time code which advances >the IP over the string, but it was invisible to the user. (In-line byte >parameters were forbidden, no great loss.) 1) I think the loss of the ability to compile bytes is a great loss. 2) How about : DATA CREATE ALLOT ( NAME ) , ( AGE ) ; 15 30 DATA NAME_1 Just putting 15 won't work. SPARCs have 4-bytes alignement restriction too, for example. And on and on. And RECORD structures ARE VERY USEFUL. (8-DCS) Daniel C. Sobral UNBCIC@BRFAPESP.BITNET