Hi Mat

> How actually does the parser go about things? Does it go rigidly and linearly 
> from left to right? Or does it first look up html start and end tags and then 
> evaluate the expression within these? And for TW specfics, does the parser 
> know where the start and end is of the widget (typically a ListWidget or 
> SetWidget) before it knows where the start and end is for the filter?

This thread is speculating on ways to improve the parsing behaviour of the 
system. There’s certainly scope for improvements, but I think you'd really need 
to understand the code itself in order to understand the impact of changes 
you’re exploring. Working with a metaphorical description of how the parser 
works won’t be sufficient to make meaningful proposals.

Anyhow, the wikitext parser is pretty simple. Each “parse rule” requires it to 
look out for a certain pattern; for example, the pattern for the start of a 
widget might be `<$`. When the parser spots such a pattern it then checks the 
following characters to see if they match the full rule. For widgets, that 
means that it looks for the widget name, optional attributes and the closing 
`>`. It looks for the attributes without regard for the content of the 
attribute strings; it’s just looking for a sequence of letters/digits, an 
equals signs, an opening quote, the attribute content, and a closing quote. 
It’s only later that the content of the attribute might be parsed as a filter.

Best wishes

Jeremy.

> 
> <:-)
> 
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "TiddlyWiki" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] 
> <mailto:[email protected]>.
> To post to this group, send email to [email protected] 
> <mailto:[email protected]>.
> Visit this group at https://groups.google.com/group/tiddlywiki 
> <https://groups.google.com/group/tiddlywiki>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/tiddlywiki/071e9675-600f-495d-af6f-92c701199c37%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/tiddlywiki/071e9675-600f-495d-af6f-92c701199c37%40googlegroups.com?utm_medium=email&utm_source=footer>.
> For more options, visit https://groups.google.com/d/optout 
> <https://groups.google.com/d/optout>.

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/5E7114BB-25A9-4F17-B7B9-2657A18D8CDF%40gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to