Difference between revisions of "SoC Ideas Schema Validation2011"

From The Battle for Wesnoth Wiki
(Update the page for this year's submission)
(Readd the template removed in the previous commit)
Line 1: Line 1:
 +
{{SoC2011Idea}}
 
= SoC Ideas Schemes =
 
= SoC Ideas Schemes =
  

Revision as of 09:55, 26 February 2011


This page is related to Summer of Code 2011
See the list of Summer of Code 2011 Ideas



This is a Summer of Code 2011 Idea


SoC Ideas Schemes

Sirp/Dave already added schemes to Frogatto [1](another project he's working on). This game is also based on WML but not entirely the same as Wesnoth.

Mordante added a comment based, scheme like documentation[2] to the new widget code which he uses to generate wiki pages [3] with a small python tool [4]. For the GCI 2010 project several improvements to the tool have been made to support other parts of WML as well. This tool is a glorified regex, for this task it will probably not suffice and needs to be a real parser.

The student will work on a comment based scheme definition that will be stored in the source code and extracted into scheme files. The current tool needs to be rewritten or extended and the current comments need to be changed to store information regarding validation.

The schemes will first be implemented for the new gui since that code already has some validation and already has quite a bit of comment. The gui engine also uses its own loading code which makes implementing the validation easier. Once that has been done more of the current engine will be converted.

The following demands are on the schemes :

  • Needs to be comment style in the source.
  • Use an extractor tool to generate the actual scheme files.
  • Use an extractor tool to generate wiki documentation.
  • Need to validate the WML and give useful error messages (the target audience are average users and not programmers)

[1] http://www.frogatto.com/
[2] http://www.wesnoth.org/devdocs/canvas_8cpp-source.html
[3] http://wesnoth.org/wiki/GUICanvasWML
[4] http://wiki.wesnoth.org/Wiki_grabber