"David Gerard" dgerard@gmail.com wrote in message news:fbad4e140609120944j4ba1fa90xc002f99d56ad512f@mail.gmail.com...
On 12/09/06, Timwi timwi@gmx.net wrote:
Thus, even in wiki syntax, a specification must define what constitutes "valid" markup, and then define the behaviour for that valid mark-up.
I think you are completely and utterly wrong on this. Every combination of wikitext has to be able to do something, because it is a *language*.
As Timwi says, the language specification needs to specify what is valid and how those valid constructs should be interpreted.
The wiki engine needs to be able to handle all input that is given to it and interpret the defined constructs according to the language definition. It may handle undefined constructs in any way it likes (though it should be consistent within itself: same input = same output).
The same is true in English. The sentence "I FEELING HAPPY" is invalid English, according to the language, but would be understood by an English speaker (the interpreter):
The markup "<p><b>This is bold</p>" is invalid HTML, but would be understood by a web browser.
Note that in both of these examples there is some ambiguity in how the invalid phrase could be interpreted (am I feeling one of the seven dwarves?) but that the correct interpretation is also the most likely, so the interpreter is able to guess. This is why 'pigeon english' or 'tag soup', despite being technically incorrect, are usable in practice.
However, it is incorrect to assume that a language must be unambiguous. For example if I say 'I hate annoying people', do I dislike making people annoyed, or do I dislike people who irritate me?
- Mark Clements (HappyDog)