top | item 41152064

(no title)

ansible | 1 year ago

> If I start parsing from an arbitrary offset in the code, ...

Why would you ever do that? What's the point?

There are many other examples, but in C and C++, if you don't start parsing at the beginning, you're definitely going to get many things wrong. What if you start parsing in the middle of an identifier? How can you possibly expect to get something useful from that?

discuss

order

HexDecOctBin|1 year ago

> Why would you ever do that? What's the point?

Syntax highlighting code visible on the screen

ansible|1 year ago

> Syntax highlighting code visible on the screen

That... does not work in most programming languages. Especially so for showing indent levels correctly. Generally speaking, the language server (or whatever) is parsing the entire file.

cocok|1 year ago

> Why would you ever do that? What's the point?

Performance, mostly. If you have to re-parse part of the code many times a second, in a text editor. For [pseudo]structural editing or syntax highlighting, for example.

pas|1 year ago

Cache the position of quotes/apostrophes, etc.

Optimizing for your edge case would require everyone writing and reading code to conform to this extra thing, which seems completely unnecessary. Machines are pretty fast.

https://www.youtube.com/watch?app=desktop&v=ZI198eFghJk Modernizing Compiler Design for Carbon Toolchain - Chandler Carruth - CppNow 2023