-
Notifications
You must be signed in to change notification settings - Fork 0
Home
###################################### WARNING ###################################
THIS API IS CURRENTLY COMPLETELY "WORK IN PROGRESS" AND SUBJECT TO DAILY CHANGES!!
THE SAMPLE CODE IS USED TO RESEARCH THE API AND WILL BE COMPLETELY REWRITTEN SOON
##################################################################################
Unless specified otherwise, two consecutive members are considered like following each other. If there was a FollowedBy function (which there is not), the following statements would be equivalent:
Text("http").Text("://")
Text("http").FollowedBy.Text("://")
Some statements go by pair and unless specified otherwise, all members must be present:
OpeningStatement
..... //Something
.ClosingStatement
Here are all the functions that SimpleExpressions currently supports:
Alphanumerics,Letters,NumbersOne(char/string),OneOf(string)Text(string)- [
EitherOf(string)](https://github.com/Timothep/SimpleExpressions/wiki/EitherOf(string) - Repetitions
- Single-element repetition
Exactly(int)/AtLeast(int).AtMost(int) - Multi-element repetition
Repeat.Exactly(int)/AtLeast(int).AtMost(int).Times InRange(string)Except(string)MaybeGroup.Together.As(string)
Not yet implemented
Work in Progress
-AndWhitespacesWord(string)StartsWithEndOfLineMaybe
Ideas
CaseInsensitiveEndOfWordAsWordAsLineGreedy
Perform structural checks (dogfed with SimpleExpressions :D ). Due to the dynamic nature of SimpleExpressions, such a check can only happen after the parsing of the tokens has been done.
- Group + Together/As/Together-As
- AtLeast/Exactly/AtLeast-AtMost
- Repeat + AtLeast/AtLeast-AtMost/Exactly + Times
- Character(char) <- parameter check 'x'
- InRange(string) <- parameter format x-y
Other
- Simplify generation of parameters using arrays/collections?
After discusion with Miwi, evaluate:
- Sequence -> Text? @?
- Either-Or(-Then)
- Alphanumeric/Letter/Number, no "s"
- ZeroOrMore
- OneOrMore
- Precedence And > Or