Re: StringBuilder Extension: IsQuotedBy
Barry Kelly <[email protected]> Sat, 16 Feb 2008 09:28:32 +0000
| Newsgroups | gmane.comp.windows.devel.dotnet.clr |
|---|---|
| Message-ID | <[email protected]> |
Brady Kelly <[email protected]> wrote: > This thread has highlighted two areas of my knowledge found wanting. The > first is a detailed, technical understanding of CLR memory management, > beyond simply knowledge of the generation construct, Most of the specifics of the CLR GC I know about has come from following blogs (ricom and maoni on blogs.msdn.com in particular) and watching the videos of the presentations from PDC 05; as well as experience tuning application servers in production, to get a feel for the more concrete implications. > and the second is > knowledge of DFA'a and NFA's, state meachines in general, and their > application in parsing and regex. That page I mentioned: http://swtch.com/~rsc/regexp/regexp1.html ... has a fairly decent brief overview of state machines, DFAs and NFAs as applied to regex matching. For general parsing, you usually need something more powerful than regex, and consequentially something more than a finite automaton (the FA above) - LALR(1) parsing uses a push-down automaton, for example. LL(1) parsing isn't quite as powerful as LALR(1), but can be easily hand-written, and it tends to give better error diagnostics and recovery, in my experience. The case for hand-writing LL(1) isn't nearly as strong as for a tokenizer. For high-performance parsing of (usually slightly ambiguous) languages in commercial compilers, however, hand-writing tends to be the most prevalent. The Dragon book - Compilers: Principles, Techniques and Tools, by Aho, Sethi & Ullman, is the classic undergraduate text. It's strongest for front-end stuff: tokenizing, parsing etc. The second edition, recently published, is probably better for more recent developments in middle / back-end, but I haven't reviewed it. -- Barry -- http://barrkel.blogspot.com/ =================================== This list is hosted by DevelopMentorĀ® http://www.develop.com View archives and manage your subscription(s) at http://discuss.develop.com