Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

[REBOL] Re: Resusing 'parse rules

From: brett:codeconscious at: 22-Dec-2000 19:50

Here's one suggestion. Create an object that holds your parse rules in one place. This object will have a special field called "Writer" that is initially set to 'none or some default object. Each of the actions in your parse rules will call a particular function on Writer. Create objects that know how to output a specfic formats for example a Html-Writer object. Prior to calling PARSE, set the value of the Writer field in the parse-rules object (or decendent) to one of your format writer objects like Html-Writer . So as parse calls the various rules in your parse-rules object, the actions call the appropriate writer functions and you get your specific output. A delegation style pattern (I think). In this way you separate the scanner of the input (parse-rules object) from the emitter of the output (Html-writer). If you find that you want to vary your actions as well you could consider creating a new field in the parse-rules object that is called "controller". This object would then have the responsibility of calling the writer object in response to events raised by the parse-rules object. Food for thought. Hope it helps! Brett.