Difference between revisions of "SoC Ideas WML Debugging"

From The Battle for Wesnoth Wiki
m (Background)
m (Description)
 
(2 intermediate revisions by the same user not shown)
Line 7: Line 7:
  
 
Improve the ways to debug Wesnoth's domain-specific language, WML.
 
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.
 
  
 
{{#dpl:
 
{{#dpl:
  |resultsheader=''There are %PAGES% student proposals for this idea''
+
  |resultsheader=''There are %PAGES% submitted student proposals for this idea''
  |oneresultheader=''There is 1 student proposal for this idea''
+
  |oneresultheader=''There is 1 submitted student proposal for this idea''
 +
|notcategory=SoC 2010 Not Submitted To Google
 
  |suppresserrors=true
 
  |suppresserrors=true
  |noresultsheader=''There are no student proposals for this idea''
+
  |noresultsheader=''There are no submitted student proposals for this idea''
  |category=Summer of Code 2010 Student Page&SoC Ideas WML Debugger
+
  |category=Summer of Code 2010 Student Page&SoC Ideas WML Debugging
 
  |include=#Description
 
  |include=#Description
 
  |mode=userformat
 
  |mode=userformat
 
  |format=,,<br/>See [[%PAGE%|%TITLE%]] for more information.<br/><br/>,
 
  |format=,,<br/>See [[%PAGE%|%TITLE%]] for more information.<br/><br/>,
 
}}
 
}}
 +
 +
== 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 ==
 
== Project ==

Latest revision as of 22:58, 9 April 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

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.

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.
This page was last edited on 9 April 2010, at 22:58.