Difference between revisions of "SoC Ideas Schema Validation2011"

From The Battle for Wesnoth Wiki
m (add the description, thus including the idea on the SummerOfCodeIdeas page)
(link/heading cleanup)
 
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
{{Template:SoC2011Idea}}
 
{{Template:SoC2011Idea}}
= Submitted proposals: =
+
 
 +
== Description ==
 +
<h2>Add WML Schema Validation to Wesnoth</h2>
 +
More info at [[SoC_Ideas_Schema_Validation2011]]
 +
 
 +
Wesnoth supports a special language called WML ('Wesnoth markup language' ). To make it easier to check if a WML is correct, we want to add the support for WML schemas (descriptions of all possible tags and elements and a way to check if given WML file is correct according to schema) to Wesnoth.
  
 
{{#dpl:
 
{{#dpl:
Line 7: Line 12:
 
  |suppresserrors=true
 
  |suppresserrors=true
 
  |noresultsheader=''There are no submitted student proposals for this idea''
 
  |noresultsheader=''There are no submitted student proposals for this idea''
  |category=Summer of Code 2011 Student Page&SoC Ideas Schema Validation2011
+
  |category=Summer of Code 2011 Student Page&SoC_Ideas_Schema_Validation2011
 
  |notcategory=SoC 2011 Not Submitted To Google
 
  |notcategory=SoC 2011 Not Submitted To Google
 
  |include=#Description
 
  |include=#Description
Line 14: Line 19:
 
}}
 
}}
  
= Description =
+
== Additional information ==
Page for the idea: [[SoC_Ideas_Schema_Validation2011]]
 
 
 
= SoC Ideas Schemes =
 
  
 
Sirp/Dave already added schemes to Frogatto [1](another project he's working
 
Sirp/Dave already added schemes to Frogatto [1](another project he's working
Line 48: Line 50:
 
[1] http://www.frogatto.com/<br>
 
[1] http://www.frogatto.com/<br>
 
[2] http://www.wesnoth.org/devdocs/canvas_8cpp-source.html<br>
 
[2] http://www.wesnoth.org/devdocs/canvas_8cpp-source.html<br>
[3] http://wesnoth.org/wiki/GUICanvasWML<br>
+
[3] [[GUICanvasWML]]<br>
[4] http://wiki.wesnoth.org/Wiki_grabber<br>
+
[4] [[Wiki_grabber]]<br>
 +
 
 +
== Whom to ask about this ==

Latest revision as of 02:21, 24 April 2023


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



Description

Add WML Schema Validation to Wesnoth

More info at SoC_Ideas_Schema_Validation2011

Wesnoth supports a special language called WML ('Wesnoth markup language' ). To make it easier to check if a WML is correct, we want to add the support for WML schemas (descriptions of all possible tags and elements and a way to check if given WML file is correct according to schema) to Wesnoth.

There is 1 submitted student proposal for this idea

Sytyi - WML Validator

The main idea of WML Validator is grammar based validator on C++ generating USER-FRIENDLY error messages in gcc style.
See GSoC 2011 Sytyi for more information.

Additional information

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] GUICanvasWML
[4] Wiki_grabber

Whom to ask about this

This page was last edited on 24 April 2023, at 02:21.