{ module ScannerSheetHS where import DocTypes_Generated import Layout.ScanLib } $digit = 0-9 $char = .#[\n\ ] tokens :- <0> .* { mkToken $ \s -> KeyTk s } -- at least one rule for 0 is required by Alex \ ; \n ; $digit+ { mkToken $ \s -> IntTk } \n ; \ ; $digit+(\.$digit+)? { mkToken $ \s -> FloatTk } \n { mkToken $ \s -> KeyTk " " } \ { mkToken $ \s -> KeyTk s } $char+ { mkToken $ \s -> WordTk } { } -- in case of a lexical error from Alex, just add a single quote here. (total should be even)