Fastparse implementation #1
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Below is the output of the updated tut/Examples.md output (check the second part!):
Examples
Intro
There might be multiple implementations of
ParseCaseClass, currently onlyRegexParseCaseClassandFastParseParseCaseClassare supported, but only one should be used in a scope (in this caseRegexParseCaseClass):It is possible to parse simple values, like
Boolean,Byte,Short,Int,Long,Float,Double,LocalTime,LocalDateandStrings without comma (,) or closing parenthesis ()), but this library was designed to parse toString of algebraic data types (products -case classes, tuples- and coproducts) of them. Also someSeqs (List,Vector,WrappedArray(for varargs)) are supported.Simple primitives
LocalDate:or it is also possible to create a parser and reuse it:
Tuple2 of
StringandInt:Or in the other order:
The error messages are not very good:
Algebraic data types
With help of shapeless the following constructs are supported:
SeqtypesCase classes
Sealed hierarchies
Either
Option
Limitations
Stringhandling is not ideal:Please note that the
Stringpart contains only till the first,(List(false) within and no error is reported currently.Same content with FastParse (
FastParseParseCaseClass)Intro
There might be multiple implementations of
ParseCaseClass, currently onlyRegexParseCaseClassandFastParseParseCaseClassare supported, but only one should be used in a scope (in this caseFastParseParseCaseClass):It is possible to parse simple values, like
Boolean,Byte,Short,Int,Long,Float,Double,LocalTime,LocalDateandStrings without comma (,) or closing parenthesis ()), but this library was designed to parse toString of algebraic data types (products -case classes, tuples- and coproducts) of them. Also someSeqs (List,Vector,WrappedArray(for varargs)) are supported.Simple primitives
LocalDate:or it is also possible to create a parser and reuse it:
Tuple2 of
StringandInt:Or in the other order:
The error messages are not very good:
Algebraic data types
With help of shapeless the following constructs are supported:
SeqtypesCase classes
Sealed hierarchies
Either
Option