Allow vertical bars as parts of operators.

This commit is contained in:
2011-02-04 13:16:37 -05:00
parent 55a3e8795d
commit 56ec6e074a
2 changed files with 3 additions and 3 deletions

View File

@@ -21,7 +21,7 @@ $bindigit = [01]
$typestart = [A-Z\_]
$valstart = [a-z\_]
$identrest = [a-zA-Z0-9\_\.]
$opident = [\~\!\@\#\$\%\^\&\*\+\-\=\.\<\>\?\_]
$opident = [\~\!\@\#\$\%\^\&\*\+\-\=\.\<\>\?\_\|]
$escape_char = [abfnrtv'\"\\]
:-
@@ -58,7 +58,6 @@ $escape_char = [abfnrtv'\"\\]
"]" { emitT RSquare }
"{" { emitT LBrace }
"}" { emitT RBrace }
"|" { emitT Bar }
";" { emitT Semi }
"," { emitT Comma }
"`" { emitT BTick }

View File

@@ -35,6 +35,7 @@ import qualified Codec.Binary.UTF8.Generic as UTF8
-- symbols
'=' { Lexeme $$ (TokOpIdent "=") }
'|' { Lexeme $$ (TokOpIdent "|") }
'->' { Lexeme $$ (TokOpIdent "->") }
'@' { Lexeme $$ (TokOpIdent "@") }
'::' { Lexeme $$ (TokOpIdent "::") }
@@ -45,7 +46,6 @@ import qualified Codec.Binary.UTF8.Generic as UTF8
']' { Lexeme $$ RSquare }
'{' { Lexeme $$ LBrace }
'}' { Lexeme $$ RBrace }
'|' { Lexeme $$ Bar }
';' { Lexeme $$ Semi }
',' { Lexeme $$ Comma }
'`' { Lexeme $$ BTick }
@@ -229,6 +229,7 @@ optional_type :: { Maybe Type }
value_ident :: { QualifiedName }
: VAL_IDENT { makeQualified $1 }
| '(' OP_IDENT ')' { makeQualified $2 }
| '(' '|' ')' { makeQualified (Lexeme $2 (TokOpIdent "|")) }
value_body :: { (Position, Expr Position) }
: '=' expression { ($1, $2) }