packages feed

language-lua 0.1 → 0.1.1

raw patch · 3 files changed

+62/−6 lines, 3 filesdep ~basedep ~mtl

Dependency ranges changed: base, mtl

Files

language-lua.cabal view
@@ -1,6 +1,6 @@ Name:                language-lua Description:         Lua 5.2 lexer, parser and pretty-printer.-Version:             0.1+Version:             0.1.1 Synopsis:            Lua parser and pretty-printer Homepage:            http://github.com/osa1/language-lua Bug-reports:         http://github.com/osa1/language-lua/issues@@ -13,7 +13,7 @@ Stability:           Experimental Cabal-version:       >= 1.9.2 -Extra-source-files:src/Text/PrettyPrint/LICENSE+Extra-source-files:  src/Text/PrettyPrint/LICENSE  Source-repository head   type:              git@@ -31,7 +31,7 @@    Other-modules:     Text.PrettyPrint.Leijen -  Build-depends:     base >= 4.5 && < 4.6,-                     mtl >= 2.0 && < 2.1,+  Build-depends:     base >= 4.5 && < 4.7,+                     mtl >= 2.0 && < 2.2,                      parsec >= 3.1.3 && < 3.2,                      array >= 0.4 && < 0.5
src/Language/Lua/PrettyPrinter.hs view
@@ -5,7 +5,6 @@ {-# LANGUAGE FlexibleInstances #-}  -- | Lua pretty-printer.--- This is a work in progress. module Language.Lua.PrettyPrinter (pprint, Printer(..), LPretty) where  import Prelude hiding (EQ, GT, LT)
src/Language/Lua/Token.hs view
@@ -56,7 +56,64 @@             | LTokSLit      String   -- ^string constant             | LTokIdent     String   -- ^identifier             | LTokEof                -- ^end of file-    deriving (Show, Eq)+    deriving Eq++instance Show LToken where+    show LTokPlus          = "`+`"+    show LTokMinus         = "`-`"+    show LTokStar          = "`*`"+    show LTokSlash         = "`/`"+    show LTokPercent       = "`%`"+    show LTokExp           = "`^`"+    show LTokSh            = "`#`"+    show LTokEqual         = "`=`"+    show LTokNotequal      = "`~=`"+    show LTokLEq           = "`<=`"+    show LTokGEq           = "`>=`"+    show LTokLT            = "`<`"+    show LTokGT            = "`>`"+    show LTokAssign        = "`=`"+    show LTokLParen        = "`(`"+    show LTokRParen        = "`)`"+    show LTokLBrace        = "`{`"+    show LTokRBrace        = "`}`"+    show LTokLBracket      = "`[`"+    show LTokRBracket      = "`]`"+    show LTokDColon        = "`::`"+    show LTokSemic         = "`;`"+    show LTokColon         = "`:`"+    show LTokComma         = "`,`"+    show LTokDot           = "`.`"+    show LTokDDot          = "`..`"+    show LTokEllipsis      = "`...`"++    show LTokAnd           = "`and`"+    show LTokBreak         = "`break`"+    show LTokDo            = "`do`"+    show LTokElse          = "`else`"+    show LTokElseIf        = "`elseif`"+    show LTokEnd           = "`end`"+    show LTokFalse         = "`false`"+    show LTokFor           = "`for`"+    show LTokFunction      = "`function`"+    show LTokGoto          = "`goto`"+    show LTokIf            = "`if`"+    show LTokIn            = "`in`"+    show LTokLocal         = "`local`"+    show LTokNil           = "`nil`"+    show LTokNot           = "`not`"+    show LTokOr            = "`or`"+    show LTokRepeat        = "`repeat`"+    show LTokReturn        = "`return`"+    show LTokThen          = "`then`"+    show LTokTrue          = "`true`"+    show LTokUntil         = "`until`"+    show LTokWhile         = "`while`"++    show (LTokNum   n)     = "number: " ++ show n+    show (LTokSLit  s)     = "string: " ++ show s+    show (LTokIdent i)     = "identifier: " ++ show i+    show LTokEof           = "EOF"  -- | Partial function, returns value of `LTokNum`, `LTokSLit` and `LTokIdent`. tokenValue :: LToken -> String