Hi, I am writing a parrot code generator back-end to an interpreter for a long-lost (some would say "dead", but I prefer "hibernating" :-) programming language: Comal (see http://www.josvisser.nl/opencomal).
Anyway, in the course of my code generation I have run into the situation where I think I need to either: - Be able to trap a find_lex failure (efficiently), or - Be able to search the lexical pads for the occurrence of a lexical with potentially getting "not found" as a result (I dubbed this feature "search_lex"). The reason is that in this language I can create new variables at any place in the control flow, but referring to an unknown variable should throw an error. Also, once created and stored in the lexical environment, I want assignments to a variable to always refer to the same PMC (because of a language feature that allows call by reference). So, my questions are: 1) Is there an efficient way to trap the failure of a "find_lex"? 2) What about a "search_lex" op that follows the format of "find_lex" but which stores null in the target PMC register (Px). To make this really useful an "isnull" comparison operator would come in handy too... ++Jos.es -- ek is so lug jy vlieg deur my sonder jou is ek sonder patroon "Breyten Breytenbach"