Leo wrote: >> 1. How do you handle variant (either string or numeric) data? Do you set >> up one of the string registers with a string "ssnnnnssnnnn" to keep track >> of datatypes? > N/Y. This would need probably a new PMC type.
OK. This is pretty common with a lot of scripting languages, so I was suprised Parrot didn't handle it at a lower level. > > 2. What happens if a routine needs more than 32 variables of one > > datatype? Do you use hash tables? (Sounds like Lua) > > imcc (the assembler) generates spill code, using a PerlArray. Ah, so that's what "spill code" means. Perhaps a definition of the term in the document might be helpful. > > 4. What's a frame? (ex: push_p : Push the current frame of the PMC...) > > It's a register frame, used for subroutine calling. Current registers of > one type are copied to a save area and restored from there on sub return. OK, thanks. I was guessing that it might be, but I wasn't sure it didn't have to do with native calls as well. > > 9. Is there a substring op? If not, how do you get a substring? > > 3 variants of substr s. core.ops D'oh! I had forgotton that the ops were extensible, even though I had read through them. I guess I expected those ops to be documented in the Assembly Language document anyway. > > 10. I didn't see any equality (eq, gt, le, etc.) opcodes for comparing > > values. > > Again, please consult core.ops, they have exactly above names. Urgh. For some reason, I expected them in the core docs also. Thanks again! -- David Cuny