[Top][All Lists]
[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 #
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Pingus-CVS] r3485 - trunk/sexpr,
grumbel at BerliOS <=