packages feed

cimple 0.0.20 → 0.0.21

raw patch · 9 files changed

+21/−4 lines, 9 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Language.Cimple: KwOwner :: LexemeClass
+ Language.Cimple: TyOwner :: a -> NodeF lexeme a

Files

cimple.cabal view
@@ -1,12 +1,12 @@ name:          cimple-version:       0.0.20+version:       0.0.21 synopsis:      Simple C-like programming language homepage:      https://toktok.github.io/ license:       GPL-3 license-file:  LICENSE author:        Iphigenia Df <iphydf@gmail.com> maintainer:    Iphigenia Df <iphydf@gmail.com>-copyright:     Copyright (c) 2016-2022, Iphigenia Df+copyright:     Copyright (c) 2016-2024, Iphigenia Df category:      Data stability:     Experimental cabal-version: >=1.10
src/Language/Cimple/Ast.hs view
@@ -105,6 +105,7 @@     | TyBitwise a     | TyForce a     | TyConst a+    | TyOwner a     | TyPointer a     | TyStruct lexeme     | TyFunc lexeme
src/Language/Cimple/Lexer.x view
@@ -167,6 +167,7 @@ <0,ppSC>	"if"					{ mkL KwIf } <0,ppSC>	"non_null"				{ mkL KwNonNull } <0,ppSC>	"nullable"				{ mkL KwNullable }+<0,ppSC>	"owner"					{ mkL KwOwner } <0,ppSC>	"return"				{ mkL KwReturn } <0,ppSC>	"sizeof"				{ mkL KwSizeof } <0,ppSC>	"static"				{ mkL KwStatic }
src/Language/Cimple/MapAst.hs view
@@ -333,6 +333,8 @@             Fix <$> (TyForce <$> recurse ty)         TyConst ty ->             Fix <$> (TyConst <$> recurse ty)+        TyOwner ty ->+            Fix <$> (TyOwner <$> recurse ty)         TyPointer ty ->             Fix <$> (TyPointer <$> recurse ty)         TyStruct name ->
src/Language/Cimple/Parser.y view
@@ -60,6 +60,7 @@     if				{ L _ KwIf			_ }     non_null			{ L _ KwNonNull			_ }     nullable			{ L _ KwNullable		_ }+    owner			{ L _ KwOwner			_ }     return			{ L _ KwReturn			_ }     sizeof			{ L _ KwSizeof			_ }     static			{ L _ KwStatic			_ }@@ -687,6 +688,11 @@ |	const LeafType '*' const				{                     tyConst (tyPointer (tyConst $2)) } |	const LeafType '*' const '*'				{          tyPointer (tyConst (tyPointer (tyConst $2))) } |	const LeafType '*' const '*' const			{ tyConst (tyPointer (tyConst (tyPointer (tyConst $2)))) }+|	LeafType '*'       owner				{            tyOwner          (tyPointer $1) }+|	LeafType '*' const owner				{            tyOwner (tyConst (tyPointer $1)) }+|	LeafType '*' '*' owner					{ tyOwner (tyPointer          (tyPointer $1)) }+|	LeafType '*' owner '*'					{          tyPointer (tyOwner (tyPointer $1)) }+|	LeafType '*' owner '*' owner				{ tyOwner (tyPointer (tyOwner (tyPointer $1))) }  LeafType :: { NonTerm } LeafType@@ -762,9 +768,10 @@ type Term = Lexeme Text type NonTerm = Node Term -tyPointer, tyConst :: NonTerm -> NonTerm+tyPointer, tyConst, tyOwner :: NonTerm -> NonTerm tyPointer = Fix . TyPointer tyConst = Fix . TyConst+tyOwner = Fix . TyOwner  lexwrap :: (Lexeme Text -> Alex a) -> Alex a lexwrap = (alexMonadScan >>=)
src/Language/Cimple/Pretty.hs view
@@ -44,6 +44,7 @@ kwIf            = dullred   $ text "if" kwNonNull       = dullgreen $ text "non_null" kwNullable      = dullgreen $ text "nullable"+kwOwner         = dullgreen $ text "owner" kwReturn        = dullred   $ text "return" kwSizeof        = dullred   $ text "sizeof" kwStaticAssert  = dullred   $ text "static_assert"@@ -153,7 +154,7 @@      spaceWords = \case         (L c p s:ws) -> L c p (" "<>s):continue ws-        [] -> []+        []           -> []       where         continue [] = []         continue (w@(L _ CmtEnd _):ws) = w:continue ws@@ -408,6 +409,7 @@     TyForce       ty -> kwForce <+> ty     TyPointer     ty -> ty <> char '*'     TyConst       ty -> ty <+> kwConst+    TyOwner       ty -> ty <+> kwOwner     TyUserDefined l  -> dullgreen $ ppLexeme l     TyStd         l  -> dullgreen $ ppLexeme l     TyFunc        l  -> dullgreen $ ppLexeme l
src/Language/Cimple/Tokens.hs view
@@ -30,6 +30,7 @@     | KwIf     | KwNonNull     | KwNullable+    | KwOwner     | KwReturn     | KwSizeof     | KwStatic
src/Language/Cimple/TraverseAst.hs view
@@ -432,6 +432,8 @@             recurse ty         TyConst ty ->             recurse ty+        TyOwner ty ->+            recurse ty         TyPointer ty ->             recurse ty         TyStruct name ->
test/Language/CimpleSpec.hs view
@@ -41,6 +41,7 @@     KwIf                  -> "if"     KwNonNull             -> "non_null"     KwNullable            -> "nullable"+    KwOwner               -> "owner"     KwReturn              -> "return"     KwSizeof              -> "sizeof"     KwStatic              -> "static"