Module Scanner is intended to be used for parsing texts. It consists from set of functions, which uses internally only one operation: scan. Every function scan returnes struct Matcher, which keeps information about results of scanning: status of scanning, error message, matched position, index of match (in case of matching against sets of sequences or sets of characters). * position - position in input * repeatno - how many times repeat scanning; for uint.max functions scan for more than zero matches * All below functions works also with instances of Storages. Following template functions are available: * Matcher scan(input, CharClass, position, repeatno)  //CharClass -> basically checks if input from 'position' begins with one of characters defined in CharClass * Matcher scan(input, SequenceSet, position, repeatno) //SequenceSet -> same as CharClass, but for sequences * Matcher scan(input, RegExp, position, repeatno) * Matcher scan(input, array, position, repeatno) * Matcher scan(input, element_of_array, position, repeatno) For below functions condition can be any of types for scan  + Matcher; * uint skip(ref T input, S condition, uint repeatno=1) // returns number of skipped characters * StorageType!(T) munch(T, S)(ref T input, S condition, uint repeatno=1) // consumes characters/sequences/etc. returning them from function Additional high level functions: * Matcher scanEscapeSequence - scans for escape sequence * Matcher scanString - scans for string * Matcher scanRegion - scans for region; region is delimited by matching characters e.g. [5,5,4] * Matcher scanNumber - scans for number; needs some more work * Matcher scanDate - scans for number; needs some more work Scanner uses internally among others CharClass by Jascha Wetzel from Tango ported to Phobos. Module needs some additional work to make it feature complete.