Find the groups of expressions that should be processed together
Every expression is an expression itself, Expressions on same line are in same block. Multiple expressions can sit on one row, e.g. in line comment and commands separated with ";". This creates a problem when processing each expression separately because when putting them together, we need complicated handling of line breaks between them, as it is not apriori clear that there is a line break separating them. To avoid this, we put top level expressions that sit on the same line into one block, so the assumption that there is a line break between each block of expressions holds.
cache_find_block(pd)
pd |
A top level nest. |
we want to for turning points:
change in cache state is a turning point
expressions that are not on a new line cannot be a turning point. In this case, the turning point is moved to the first expression on the line
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.