On Thursday, July 17, 2014 12:20:13 PM UTC-5, Chris Angelico wrote: > By the way, one specific point about RR's advice: A > colorizer should *not* be written using regexps. It'd make > for an absolute nightmare of impossible-to-debug regexp > strings
Just because *YOU* harbor irrational fears of regexp pattern syntax, does mean the rest of us should propagate your religious beliefs and worship your "shrines of fear-mongering". Q: Is using regexps to create a colorizer the *ONLY* method to create a colorizer? A: Uh, no! Q: Is using regexps the *BEST* method to create a colorizer? A: Depends on who you ask and what the specific details are. Remember, this is "academic exercise", and i believe a damn *good* exercise because *even* a noob can understand the basic problems that need to be solved to create a colorizer: 1. I have a finite set of keywords and lexical structures that need to be located within a text. 2. I need to map colors to patterns so i can paint the keywords and lexical structures appropriately when i find them. 3. I need to institute events that will cause the colorizer to search for the patterns at appropriate times (for instance: when text is loaded, when text is edited, etc) 3a. Furthermore, i need to refine the breadth of my search area depending on the current context of the edit -- Should i search *only* the current line being edited, or, is the editing occurring inside a larger "multi-line lexical structure" that will need to be considered, OR, should i search the entire text??? > plus there are fundamental limitations on what you can > accomplish with them. Of course, *REMEMBER*, this is an "academic exercise", intended to familiarize the student with regexps and doing so in the context of a *real* world problem, who's scope is within the grasp of a noob, not some rechid flatulence pulled from the anus of a "so-called" teacher. But don't tell me for a *SECOND* that a colorizer, and a damn good one, can not be written utilizing regexps, because you're either wrong, or you're scared, or you're ignorant, or you're all of the above! > You need to use a lexer - a lexical analyzer. Basically, > to correctly colorize code, you need to have something > equivalent to the first part of the language interpreter, > but with a lot more tolerance for errors. That's a pretty > big thing to write as regexps. Great Chris, so as a "lesson" for learning *regexps* you propose that your students write a *lexer* instead. What's next? Do you propose they drive an auto whilst protruding their head from the vehicle like a canine, and observing the plant life on the side of the road to earn a degree in botany? You know, you would fit in nicely in the American public school system, since American teachers are not only free of the requirement of "teaching", they are actually *COMPELLED* not to do so by the greedy unions. I SURMISE YOUR DESK WILL BE DEVOID OF ANY "TREE BEARING" FRUITS! -- https://mail.python.org/mailman/listinfo/python-list