---input--- if 1 + 1 == 2 then "yes!" else "no!" assert 1 + 1 == 2; "yes!" let x = "foo"; y = "bar"; in x + y with builtins; head [ 1 2 3 ] ---tokens--- 'if' Keyword ' ' Text '1' Literal.Number.Integer ' ' Text '+' Operator ' ' Text '1' Literal.Number.Integer ' ' Text '==' Operator ' ' Text '2' Literal.Number.Integer ' ' Text 'then' Keyword ' ' Text '"' Literal.String.Double 'yes!' Literal.String.Double '"' Literal.String.Double ' ' Text 'else' Keyword ' ' Text '"' Literal.String.Double 'no!' Literal.String.Double '"' Literal.String.Double '\n\n' Text 'assert' Keyword ' ' Text '1' Literal.Number.Integer ' ' Text '+' Operator ' ' Text '1' Literal.Number.Integer ' ' Text '==' Operator ' ' Text '2' Literal.Number.Integer ';' Punctuation ' ' Text '"' Literal.String.Double 'yes!' Literal.String.Double '"' Literal.String.Double '\n\n' Text 'let' Keyword ' ' Text 'x' Literal.String.Symbol ' ' Text '=' Operator ' ' Text '"' Literal.String.Double 'foo' Literal.String.Double '"' Literal.String.Double ';' Punctuation ' ' Text 'y' Literal.String.Symbol ' ' Text '=' Operator ' ' Text '"' Literal.String.Double 'bar' Literal.String.Double '"' Literal.String.Double ';' Punctuation ' ' Text 'in' Keyword ' ' Text 'x' Text ' ' Text '+' Operator ' ' Text 'y' Text '\n\n' Text 'with' Keyword ' ' Text 'builtins' Name.Builtin ';' Punctuation ' ' Text 'head' Text ' ' Text '[' Punctuation ' ' Text '1' Literal.Number.Integer ' ' Text '2' Literal.Number.Integer ' ' Text '3' Literal.Number.Integer ' ' Text ']' Punctuation '\n' Text