Still working the kinks out of 'Dao.NewParser.Regex' evaluation.
Made the changes necessary to make the functions in the "Dao.Object.NewParser" module compatible with the recent changes to the "Dao.NewParser" module.
I should have done this a long time ago: I have changed the 'Dao.String.ustr' function so it is now a member of a new class 'Dao.String.UStrType' which can convert types instantiating this class to a 'Dao.String.UStr' universal string object. The monomorphic function 'Dao.String.uString' replaces what 'Dao.String.ustr' used to do, and 'Dao.String.uString' is used to instantiate 'Prelude.String' into the 'Dao.String.UStrType' class.
Once again overhauled the API for "Dao.NewParser". This time, I have really nailed it. Now, the 'Dao.NewParser.LexBuilder' monad provides two kinds of functions: functions for defining tokens, and functions for placing a regular expression into the list of expressions to be converted to a 'Dao.NewParser.Lexer'. The main functions for defining tokens are 'fullToken' and 'emptyToken', which take a 'Dao.String.UStrType' string type and a 'Dao.NewParser.Regex'. The value returned is simply a 'Dao.NewParser.Regex' where a new token ID is generated and applied to 'Dao.NewParser.rxToken' or 'Dao.NewParser.rxEmptyToken' (for 'Dao.NewParser.fullToken' and 'Dao.NewParser.emptyToken' respectively), and appended to the given 'Dao.NewParser.Regex', but it is not converted to a 'Dao.NewParser.Lexer'. Once you have defined several 'Dao.NewParser.Regex's, you can combine them together, or use them as is, or do whatever you need to do to create a useful lexer, then you "activate" them using 'Dao.NewParser.activate'. Using 'Dao.NewParser.activate' actually places the 'Dao.NewParser.Regex' into the queue of regular expressions that are to be converted to a 'Dao.NewParser.Lexer' when 'Dao.NewParser.makeTokenDB' is evaluated.
Modified "Dao.Object.NewParser" to make use of the latest changes to the "Dao.NewParser" API. I have tested the regular expressions in 'Dao.Object.NewParser.daoTokenDef' defined so far and they work as they should. However, there is more work to be done on the lexer.
Updated the 'Dao.Object.ostr' to make use of the new 'Dao.String.UStrType' class in the "Dao.String" module.