diff options
Diffstat (limited to 'src/index.ts')
| -rw-r--r-- | src/index.ts | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/index.ts b/src/index.ts index d236473..582f9be 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,5 +1,5 @@ import { constant, flow, identity, pipe } from 'fp-ts/function' -import { mapTo, symbol } from './parser' +import { andThen, delimited, mapTo, optional, pair, symbol } from './parser' export const start = mapTo(symbol('^'), constant({ tag: 'Start' } as Expr)) export const end = mapTo(symbol('$'), constant({ tag: 'End' } as Expr)) @@ -27,6 +27,16 @@ type Expr = | { tag: 'Truthy' } | { tag: 'Falsey' } +export const expressionP = symbol('fuck') + +export const parser = pair( + pair( + optional(start), + expressionP, + ), + optional(end), +) + /* ^ $ => start and end of list |
