X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=utils%2Fgenprimopcode%2FParser.y;h=5773abb4fe2d95822001eb945b52f1046c105bf0;hb=1f7ab811c4421458568b0ed900b496192fee885b;hp=a9497655266d569247184260ab71a22312cf7d54;hpb=03ffa2bfa6c31dc6bcdcacecc2bdb3bbabd800a9;p=ghc-hetmet.git diff --git a/utils/genprimopcode/Parser.y b/utils/genprimopcode/Parser.y index a949765..5773abb 100644 --- a/utils/genprimopcode/Parser.y +++ b/utils/genprimopcode/Parser.y @@ -1,5 +1,13 @@ { +{-# LANGUAGE BangPatterns #-} -- required for versions of Happy before 1.18.6 +{-# OPTIONS -w -Wwarn #-} +-- The above warning supression flag is a temporary kludge. +-- While working on this module you are encouraged to remove it and fix +-- any warnings in the module. See +-- http://hackage.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#Warnings +-- for details + module Parser (parse) where import Lexer (lex_tok) @@ -9,6 +17,7 @@ import Syntax } %name parsex +%expect 0 %tokentype { Token } %monad { ParserM } %lexer { lex_tok } { TEOF } @@ -39,6 +48,7 @@ import Syntax lowerName { TLowerName $$ } upperName { TUpperName $$ } string { TString $$ } + integer { TInteger $$ } noBraces { TNoBraces $$ } %% @@ -57,6 +67,7 @@ pOption :: { Option } pOption : lowerName '=' false { OptionFalse $1 } | lowerName '=' true { OptionTrue $1 } | lowerName '=' pStuffBetweenBraces { OptionString $1 $3 } + | lowerName '=' integer { OptionInteger $1 $3 } pEntries :: { [Entry] } pEntries : pEntry pEntries { $1 : $2 }