<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta content="text/html;charset=UTF-8" http-equiv="Content-Type"></head><body ><div style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10pt;"><div>I am putting together a "simple" PEG Grammar to parse Org mode into CustomHelp topics....<br></div><div><br></div><div><br></div><div>All test pass on the initial coding so I decided to put the first parts of the Terse Guide into the input stream.<br></div><div><br></div><div><br></div><div>Last things first, here is the collection of HelpTopics created by the parse.<br></div><div><br></div><div><br></div><div><blockquote style="border: 1px solid rgb(204, 204, 204); padding: 7px; background-color: rgb(245, 245, 245);"><div>an OrderedCollection(an OrderedCollection(a HelpTopic<Terse Guide> a HelpTopic<~<>@%|&?>))<br></div></blockquote><br></div><div>HEE!<br></div><div><br></div><div><br></div><div>Here is where it blows up....<br></div><div><br></div><div><br></div><div><blockquote style="border: 1px solid rgb(204, 204, 204); padding: 7px; background-color: rgb(245, 245, 245);"><div>Allowable characters:<br></div><div>    - a-z<br></div><div>    - A-Z<br></div><div>    - 0-9<br></div><div>    - .+/\*~<>@%|&?     <--- I got your parsing regex right here!<br></div><div>    - blank, tab, cr, ff, lf<br></div></blockquote></div><div><br></div><div><br></div><div><br></div><div>I am pretty sure that ORG has the equivalent of the <pre>  </pre>  markup, so I will do that in a bit.</div><div><br></div><div><br></div><div><br></div><div>Here is the input:<br></div><div><br></div><div><blockquote style="border: 1px solid rgb(204, 204, 204); padding: 7px; background-color: rgb(245, 245, 245);"><div>'*  Terse Guide<br></div><div>**  General<br></div><div><br></div><div><br></div><div>Allowable characters:<br></div><div>    - a-z<br></div><div>    - A-Z<br></div><div>    - 0-9<br></div><div>    - .+/\*~<>@%|&?<br></div><div>    - blank, tab, cr, ff, lf<br></div><div><br></div><div>Variables:<br></div><div>    - Variables must be declared before use<br></div><div>    - Shared vars must begin with uppercase<br></div><div>    - Local vars must begin with lowercase<br></div><div>    - Reserved names: self, super, thisContext, true, false, and nil<br></div><div><br></div><div>Variable scope:<br></div><div>    - Global: defined in current environment (that is usually Smalltalk) and accessible by all objects in system<br></div><div>    - Special (reserved): self, super, thisContext, true, false, and nil<br></div><div>    - Method Temporary: local to a method<br></div><div>    - Block Temporary: local to a block<br></div><div>    - Pool: variables in a Dictionary object<br></div><div>    - Method Parameters: automatic local vars created as a result of  message call with params<br></div><div>    - Block Parameters: automatic local vars created as a result of value: message call<br></div><div>    - Class: shared with all instances of one class & its subclasses<br></div><div>    - Class Instance: unique to each instance of a class<br></div><div>    - Instance Variables: unique to each instance<br></div><div><br></div><div><br></div><div>"Comments are enclosed in quotes - like this"<br></div><div><br></div><div>Period (.) is the statement separator<br></div><div><br></div><div><br></div><div><br></div><div>**  Transcript<br></div><div><br></div><div><br></div><div>Transcript clear.                                             "clear to transcript window"<br></div><div>'<br></div></blockquote><br></div><div>Anyhoo...the goal is from Org to CustomHelp back to Org....<br></div><div><br></div><div><br></div><div><br></div><div><br></div></div><br></body></html>