Rain: added support for parsing channel-end types

This commit is contained in:
Neil Brown 2007-08-21 10:53:07 +00:00
parent 2c26a8eab8
commit 5b19a7658f

View File

@ -134,6 +134,8 @@ sSemiColon = try $ symbol ";"
sColon = try $ symbol ":"
sComma = try $ symbol ","
sQuote = try $ symbol "\""
sIn = try $ symbol "?"
sOut = try $ symbol "!"
--}}}
--{{{ Keywords
@ -177,6 +179,8 @@ dataType
= do {sBool ; return A.Bool}
<|> do {sInt ; return A.Int64}
<|> do {sChannel ; inner <- dataType ; return $ A.Chan A.DirUnknown (A.ChanAttributes {A.caWritingShared = False, A.caReadingShared = False}) inner}
<|> do {sIn ; inner <- dataType ; return $ A.Chan A.DirInput (A.ChanAttributes {A.caWritingShared = False, A.caReadingShared = False}) inner}
<|> do {sOut ; inner <- dataType ; return $ A.Chan A.DirOutput (A.ChanAttributes {A.caWritingShared = False, A.caReadingShared = False}) inner}
<?> "data type"
variableId :: RainParser A.Variable