Changeset 14696 for src/Pugs/Parser

Show
Ignore:
Timestamp:
11/10/06 13:23:14 (2 years ago)
Author:
audreyt
Message:

* Pugs.Parser.Literal: Support for sigspace shorthands:

mm/.../; # m:sigspace/.../
ms/.../; # ditto
ss/.../.../; # s:sigspace/.../.../

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • src/Pugs/Parser/Literal.hs

    r14626 r14696  
    594594substLiteral = do 
    595595    (declarator, pseudo) <- choice 
    596         [ symbol "s" >> return ("subst", (pseudoAssignment <|>)) 
     596        [ symbol "s"  >> return ("subst", (pseudoAssignment <|>)) 
     597        , do symbol "ss" 
     598             insertIntoPosition ":sigspace(1)" 
     599             return ("subst", (pseudoAssignment <|>)) 
    597600        , symbol "tr" >> return ("trans", id) 
    598601        ] 
     
    662665        [ symbol "rx" >> return (id, "rx") 
    663666        , symbol "m"  >> return (id, "match") 
     667        , do (symbol "ms" <|> symbol "mm") 
     668             insertIntoPosition ":sigspace(1)" 
     669             return (id, "match") 
    664670        , do advs <- ruleRegexDeclarator 
    665671             lookAhead (ruleQuoteAdverbs >> char '{')