Use Grammar (testwise)
authorJoachim Breitner <mail@joachim-breitner.de>
Sun, 19 Apr 2009 10:59:15 +0000 (12:59 +0200)
committerJoachim Breitner <mail@joachim-breitner.de>
Sun, 19 Apr 2009 10:59:15 +0000 (12:59 +0200)
src/Lseed/Data.hs
src/main.hs

index 04fc454..5535408 100644 (file)
@@ -41,6 +41,7 @@ type GrowingPlant = Plant (Maybe Double)
 data LRuleAction
        = EnlargeStipe Double -- ^ Extend this Stipe to the given length
         | ForkStipe Double [(Angle, Double)] -- ^ Branch this stipe at the given fraction and angle and let it grow to the given lengths
+       deriving (Show)
 
 -- | A (compiled) rule of an L-system, with a matching function returning an action and weight
 type LRule = (Plant () -> Maybe (Int, LRuleAction))
index 5a6a8e3..bacf16a 100644 (file)
@@ -1,6 +1,8 @@
 import Lseed.Renderer.Cairo
 import Lseed.Data
 import Lseed.Data.Functions
+import Lseed.Grammar
+import Lseed.Grammar.Compile
 import Lseed.LSystem
 import Lseed.Constants
 import Lseed.Geometry
@@ -115,8 +117,8 @@ testGarden2 =
        , Planted 0.6 testLSystem1 (Stipe () 0 Bud)
        ]
 
-testLSystem1 = [
-       (\(Stipe () l _) -> Just (1, EnlargeStipe (l+1)))
+testLSystem1 = compileGrammarFile [
+       GrammarRule "" 1 1 (Always True) (SetLength (Additional 1) Nothing)
        ]
 testLSystem2 = [
        (\(Stipe () l _) -> Just (2, EnlargeStipe (l+2))),