SoC Ideas WML Debugging

From The Battle for Wesnoth Wiki

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

This is a Summer of Code 2010 Idea


WML Debugging Support

Page for the idea: SoC_Ideas_WML_Debugging

Improve the ways to debug Wesnoth's domain-specific language, WML.

There are 2 submitted student proposals for this idea

fakedrake - WML Debugging

I am most interested in patching the code to output accurate line numbers along with the errors and improving the error messages themselves. After that i most probably will have time to make a schema system.
See GSoC-WMLDebugingSupport fakedrake for more information.

Awilkins - Improve Upon WML Debugging

I plan on fixing the incorrect error messages returned by the misuse of macros in WML files. The fixed error messages will display the accurate file and line number of where the macro was called incorrectly.
See SummerOfCodeProposal Awilkins for more information.


Wesnoth Markup Language (WML) is used to create most kinds of Wesnoth content: campaigns, scenarios, and so forth. WML is a fairly powerful language, but its debugging features often make it difficult to debug. Incorrect WML typically results in cryptic error messages or unusual and difficult to understand misbehavior.


There are several possible steps in improving WML:

  • ensuring that any WML error results in an accurate line number for the error being displayed. This will require modifying the WML pre-processing system to properly map all expanded macros to their original lines.
  • improving the quality of error messages: trying to map unterminated strings and tags back to their starting positions.
  • schema system: a WML schema system would be developed which would enable WML documents to be validated to make sure they have correct attribute names with values that are formatted correctly.
This page was last edited on 9 April 2010, at 22:58.