Skip to content

Instantly share code, notes, and snippets.

@yminsky
Created January 8, 2016 01:33
Show Gist options
  • Save yminsky/0169064d7de6a1a6dceb to your computer and use it in GitHub Desktop.
Save yminsky/0169064d7de6a1a6dceb to your computer and use it in GitHub Desktop.
better formatting
let rec lexwhile prop inp =
match inp with
| c::cs when prop c -> let tok,rest = lexwhile prop cs in c^tok,rest
| _ -> "",inp
;;
let rec lex inp =
match snd(lexwhile space inp) with
| [] -> []
| c::cs ->
let prop =
if alphanumeric(c) then alphanumeric
else if symbolic(c) then symbolic
else fun c -> false
in
let toktl,rest = lexwhile prop cs in
(c^toktl)::lex rest
;;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment