pingus-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Pingus-CVS] r3485 - trunk/sexpr


From: grumbel at BerliOS
Subject: [Pingus-CVS] r3485 - trunk/sexpr
Date: Sun, 4 Nov 2007 12:47:33 +0100

Author: grumbel
Date: 2007-11-04 12:47:33 +0100 (Sun, 04 Nov 2007)
New Revision: 3485

Modified:
   trunk/sexpr/level-syntax.scm
   trunk/sexpr/schema.rb
   trunk/sexpr/schema_test.rb
Log:
- added a bunch more tags to the level syntax so that now all levels are 
validated correctly (except of course the schema.rb not being fully implemented

Modified: trunk/sexpr/level-syntax.scm
===================================================================
--- trunk/sexpr/level-syntax.scm        2007-11-04 11:46:50 UTC (rev 3484)
+++ trunk/sexpr/level-syntax.scm        2007-11-04 11:47:33 UTC (rev 3485)
@@ -25,9 +25,18 @@
                               (element (name "basher")   (type (integer (min 
1))) (use "optional"))
                               (element (name "blocker")  (type (integer (min 
1))) (use "optional"))
                               (element (name "bomber")   (type (integer (min 
1))) (use "optional"))
+                              (element (name "digger")   (type (integer (min 
1))) (use "optional"))
                               (element (name "bridger")  (type (integer (min 
1))) (use "optional"))
                               (element (name "climber")  (type (integer (min 
1))) (use "optional"))
+                              (element (name "floater")  (type (integer (min 
1))) (use "optional"))
                               (element (name "jumper")   (type (integer (min 
1))) (use "optional"))
+                              (element (name "miner")    (type (integer (min 
1))) (use "optional"))
+                              (element (name "slider")   (type (integer (min 
1))) (use "optional"))
+
+                              (element (name "boarder")   (type (integer (min 
1))) (use "optional"))
+                              (element (name "angel")   (type (integer (min 
1))) (use "optional"))
+                              (element (name "rocketlauncher")   (type 
(integer (min 1))) (use "optional"))
+                              (element (name "superman")   (type (integer (min 
1))) (use "optional"))
                               ))))
                     ))))
           (element (name "objects")
@@ -75,6 +84,61 @@
                        (type (mapping
                               (children
                                (element (name "position") (type 
(vector2i)))))))
+
+                     (element (name "spike")
+                       (type (any)))
+
+                     (element (name "snow-generator")
+                       (type (any)))
+
+                     (element (name "laser_exit")
+                       (type (any)))
+
+                     (element (name "fake_exit")
+                       (type (any)))
+
+                     (element (name "smasher")
+                       (type (any)))
+
+                     (element (name "guillotine")
+                       (type (any)))
+
+                     (element (name "conveyorbelt")
+                       (type (any)))
+
+                     (element (name "bumper")
+                       (type (any)))
+
+                     (element (name "hammer")
+                       (type (any)))
+
+                     (element (name "iceblock")
+                       (type (any)))
+
+                     (element (name "switchdoor")
+                       (type (any)))
+
+                     (element (name "solidcolor-background")
+                       (type (any)))
+
+                     (element (name "starfield-background")
+                       (type (any)))
+
+                     (element (name "thunderstorm-background")
+                       (type (any)))
+
+                     (element (name "infobox")
+                       (type (any)))
+
+                     (element (name "teleporter")
+                       (type (any)))
+
+                     (element (name "teleporter-target")
+                       (type (any)))
+
+                     (element (name "rain-generator")
+                       (type (any)))
+                     
                      ))))
           ))))
 

Modified: trunk/sexpr/schema.rb
===================================================================
--- trunk/sexpr/schema.rb       2007-11-04 11:46:50 UTC (rev 3484)
+++ trunk/sexpr/schema.rb       2007-11-04 11:47:33 UTC (rev 3485)
@@ -120,7 +120,7 @@
             if sexpr[0].value != @name then
               raise "#{sexpr.pos}: expected symbol '#{name}', got 
#{sexpr[0].value}"
             else
-              puts "Element ok: address@hidden"
+              # puts "Element ok: address@hidden"
               # ok, now check type and/or validate children
               type.validate(sexpr[1..-1])
             end
@@ -219,7 +219,7 @@
         if not child then
           raise "#{el.pos}: invalid element '#{el[0].value}'"
         else
-          puts "MappingType Child: ok: #{el[0].value} #{child}"
+          # puts "MappingType Child: ok: #{el[0].value} #{child}"
           child.validate(el)
         end
       }
@@ -233,7 +233,7 @@
     end    
 
     def check_element(name)
-      puts "SequenceType: #{name}"
+      # puts "SequenceType: #{name}"
       el = @children.find{|i| i.name == name.value }
       if not el then
         raise "#{name.pos}: SequenceType: element '#{name}' not allowed"

Modified: trunk/sexpr/schema_test.rb
===================================================================
--- trunk/sexpr/schema_test.rb  2007-11-04 11:46:50 UTC (rev 3484)
+++ trunk/sexpr/schema_test.rb  2007-11-04 11:47:33 UTC (rev 3485)
@@ -4,17 +4,20 @@
 require "parser.rb"
 require "schema.rb"
 
-begin
-  if ARGV.length != 2 then
-    puts "Usage: schema_test.rb SCHEMAFILE SCMFILE"
-  else
-    schema = SExpr::Schema.new(File.new(ARGV[0]).read())
-    sexpr  = SExpr::SExpr.parse(File.new(ARGV[1]).read())
-    # puts schema.inspect
-    schema.validate(sexpr[0])
-  end
-rescue RuntimeError
-  puts "#{ARGV[1]}:#{$!}"
+if ARGV.length < 2 then
+  puts "Usage: schema_test.rb SCHEMAFILE SCMFILE..."
+else
+  schema = SExpr::Schema.new(File.new(ARGV[0]).read())
+  ARGV[1..-1].each{|i|
+    begin
+      puts "Validating: #{i}"
+      sexpr  = SExpr::SExpr.parse(File.new(i).read())
+      # puts schema.inspect
+      schema.validate(sexpr[0])
+    rescue RuntimeError
+      puts "#{i}:#{$!}"
+    end
+  }
 end
 
 # EOF #





reply via email to

[Prev in Thread] Current Thread [Next in Thread]