2022-10-20 10:38:39 Good afternoon, I am trying to figure out a bit how recognizers works in Gforth, but I am not even sure I am on the right path... What I am trying to do is to parse HTTP headers with evaluate, the issue tho is if there are new headers for which I have no function defined my program crashe with the "Undefined word" error, when I would simply want the interpreter to skip the line if it can't find the word. 2022-10-20 10:39:03 Any suggestion or hints at how to proceed there appreciated 2022-10-20 12:26:13 I think you will have to use WORD and FIND yourself rather than leaving it to the built in interpreter/compiler. 2022-10-20 12:29:56 It should be fairly straightforward, though. 2022-10-20 12:30:14 The built in system doesn't know how to do anything other than error on an undefined word. 2022-10-20 12:30:35 I'm not aware of any system that offers you a way to hook those error paths. 2022-10-20 12:37:29 I actually managed something with recognizers :) 2022-10-20 12:38:09 created the following word: `: rec-all 2drop ['] noop ['] recognized-nt ;` 2022-10-20 12:39:04 then I add it to the recognizer and basically any undefined words is equivalent to calling the noop word 2022-10-20 18:04:30 If I wanted to just quietly ignore undefined words in my (rather non-standard) system, I'd do something along these lines: 2022-10-20 18:04:49 : parse bl word find ?dup 0=me execute me ; 2022-10-20 18:05:10 That presumes the string is null-terminated; the null word will break the loop. 2022-10-20 18:05:48 Or maybe I'd define a ?exec word that handled the decision. 2022-10-20 18:12:50 Though you probably want numbers to get handled too, don't you?