Re: CRM114 script language question: divide operation in maillib
"Ger Hobbelt" <[email protected]>
| Newsgroups | gmane.mail.spam.crm114 |
|---|---|
| Message-ID | <[email protected]> |
Ouch. So I need make sure my new parser statemachine can handle stuff like this. And it passed megatest already for months... This means it also has to know about ;@; and preferable the other :.:...: constructs too. Ah, this info was so nicely _not_ spread everywhere anymore. Sigh. I see the point, so I'll fix the GerH parser and throw in the appropriate smarts. And then a certain someone (hi, Bill ;-) ) wrote a long time ago that he was looking for some bison fu to replace the parser. Darn, should have asked for some serious 'flex' (lexer) fu instead: the complexity is really in the scanner here. I'll be back. Like Arnold. But not as a governor, unfortunately. Thanks for helping me out by clearing this one up, Ger BTW: have you tried and run, for instance, the extra statement output /ln = :*:cache_dupe_command:/ anywhere in mailreaver.crm lately? If you do, you might find another surprise there (at least the GerH parser does not process the escapes in the .cf file because crm114 treats it as a *data* file (which just looks quite like a CRM114 script) and crm114 treats all data as binary, so without any 'C style' escapes to, er, process. Same wickedness goes for the :mail_separator: in there. THAT one should therefore *not* do to the logfile what one'd expect - at least if that one thinks too much in terms of 'C' when he's doing the expecting. The fun only starts when you try to run this kind of stuff on a non-UNIX sh (say, Win32, for instance) shell environment; in UNIX' case, the sh shell instantiated by the syscall() will handle the escapes for you, and lo, it works! ;-) On Mon, Mar 31, 2008 at 6:19 AM, Paolo <[email protected]> wrote: > On Mon, Mar 31, 2008 at 03:04:13AM +0100, Ger Hobbelt wrote: > > > > In maillib.crm it says @ ~ line 163: > > > > eval /:@: :#:m_text: < (:*:decision_length: / 4) :/ > > > > Shouldn't this read: > > > > eval /:@: :#:m_text: < (:*:decision_length: \/ 4) :/ > > > > (note the 'divide' being escaped in there) > > [...] > yes, it's supposed to do so. IIRC it's been discussed time ago, that it'd be > ugly, uncomfortable, unexpected to be required to escape math symbols within > :@:...:, only because they happen to be our delimiters. [...] -- Met vriendelijke groeten / Best regards, Ger Hobbelt -------------------------------------------------- web: http://www.hobbelt.com/ http://www.hebbut.net/ mail: [email protected] mobile: +31-6-11 120 978 -------------------------------------------------- ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace