Difference between revisions of "SoC Ideas WML Debugging"

From The Battle for Wesnoth Wiki
m
m
Line 4: Line 4:
  
 
<h3>WML Debugging Support</h3>
 
<h3>WML Debugging Support</h3>
Details inside.
+
Improve the ways to debug Wesnoth's domain-specific language, WML.
  
 
== Background ==
 
== Background ==

Revision as of 01:06, 28 March 2010


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



Description

WML Debugging Support

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

Background

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.

Project

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.