Iโm mapping the problem incorrectly - maybe I should try to solve the problem as for what it is: a parsing problem.
Or maybe I just need to change it to be word based and have very specific definitions of the elements needed to solve this problem like recursivity.
Answer the following:
- What's the strict formal definition of MD? as a parser would do
- What concepts are needed for that?
- How does this compare to the ambiguous approach based on words and other ideas?
- Which one is more flexible, useful, practical, resource heavy? How do they compare?
- The reading order is from
lefttorightandtoptobottom. - Each
linein atext filerepresents a unit for markdown. - Each
linerepresents anHTML string. - Each
lineis made up ofcharacters. - There is a special type of characters that are
evaluatedwhen they appear in the first column of aline. - There is a second type of special characters that represent an
HTML stringthat areevaluatedinnon-code lines.- 2nd type of chars are
evaluatedto see if they arenon-codeor not.
- 2nd type of chars are
- The
non-codestate needs to be determined first and based on theborders.
There are two questions we can ask: "Does this text looks like markdown?" and "Is this valid markdown?" This means there is a quick rough top-down look at it, a range of reach of each special feature/character, and a slow step-by-step read process.
The step-by-step process can feed an overall map or image. The top-down can also roughly contribute to that map.
For the top-down:
There is a sensation of closeness between perceived features. Consider the following example where we can perceive that the * special char being close to each other and thus recognizing that this could be a bold text.
------- ------- ------ -----
---- --- **----** ---- - ---
------- ------- ------ -----
In the same way, I'm guessing that there could be a similar approach to recognizing other attributes of the markdown problem such as the beginning and end (top-left to bottom-right corners). Acquiring valuable information in the first glance before spending resources reading line by line could be a huge performance optimization.
See ๐ฉ Fast-thinking.
I'm starting to feel like the relationship between a finite definition of markdown and the abstract ideas of reading text are starting to overlap. Meaning that my initial problem of not knowing if I should focus on the abstract or the finite is actually a false dichotomy.