Skip to content
Tim Bourguignon edited this page Jan 28, 2014 · 66 revisions

###################################### 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

##################################################################################

Basic construct

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

The functions

Here are all the functions that SimpleExpressions currently supports:

Not yet implemented

Functions and ideas

Work in Progress

Ideas

  • CaseInsensitive
  • EndOfWord
  • AsWord
  • AsLine
  • Greedy

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

Clone this wiki locally