Packages

Using plain old SQL to query databases

Current section

Files

Jump to
yesql src Elixir.Yesql.Tokenizer.xrl
Raw

src/Elixir.Yesql.Tokenizer.xrl

Definitions.
NamedParam = :[^%\s\n,\"':&;()|=+\-*/\\<>^\[\]]+
Fragment = ([^?:'']+|::)+
String = '([^\\'']|\\.)*'
Rules.
{NamedParam} : {token, {named_param, new_param(TokenChars)}}.
({String}|{Fragment})+ : {token, {fragment, new_fragment(TokenChars)}}.
Erlang code.
-export([tokenize/1]).
tokenize(Binary) ->
List = binary_to_list(Binary),
string(List).
new_param([$: | Name]) ->
list_to_atom(Name).
new_fragment(Chars) ->
list_to_binary(Chars).