Ahoj
Různá vývojová prostředí parsují program hned jak ho programátor píše a napovídají mu jména metod, případně jsou schopna najít definici funkce a podobně. Přitom musí parsovat kód programu, který není kompletní a neodpovídá gramatice.
Zajímalo by mě, jak je to udělané, jestli existuje nějaká teorie, jak konstruovat parsery pro částečně napsaný kód.
Kdyby člověk napsal gramatiku a nechal si ji parsovat třeba bisonem, tak je to na částečně napsaný kód nepoužitelné, bude docházet k chybám nebo k absurditám, jako například, uživatel napíše do těla nějaké funkce "{", parser si začně myslet, že všechny následující funkce jsou vnořené v současné funkci, no a nakonci souboru slavnostně dá chybu, že mu schází "}".