import system.io

inductive token
| eof : token
| plus : token
| var : string -> token

open token
open option

def to_token : string → option token
| [] := none
| (c :: cs) :=
  let t : option token := match c with
    | 'x' := some (var "x")
    | 'y' := some (var "y")
    | '+' := some plus
    | _   := none
  end in t
