Course Description. Techniques for pattern matching and parsing character strings. Topics include substring searching, finite state machines, regular expressions, and context-free grammars, as well as applications in lexical analyzers, compilers, word processors, malware detectors, and search engines.