Starting to add the selector.
Fixing the lexer.
Adding a parser.
Still more work to do, but it's a start.
More work required on the parser.
Finishing off the selector before moving cross platform.
Fixing the selector to work cross platform.