The following are the lexical tokens (terminals) recognized in WDL.
// whitespace is a syntactic separator, but is
// otherwise skipped (dropped)
WS := ' ' |'\t'
NEWLINE :='\n' | '\r' | '\r''\n'
// token classes
NAME := ['a'-'z''A'-'Z']+
INT := ['0'-'9']+
STRING := '"' [^'"' NEWLINE]* '"'
// basic syntactic characters
SEMI := ';'
COMMA := ','
LPAREN := '('
RPAREN := ')'
LBRACE := '{'
RBRACE := '}'
EQ := '='
BANG := '!'
AND := '&'
OR := '|'
DOT := '.'
DOLLAR := '$'
PLUS := '+'