Napiš si lexikální analyzátor, který bude číst vstup a vracet hotové skupiny znaků jako např. identifikátor (a v nějakém atributu jeho hodnotu), číslo (a hodnotu zase v atributu), operátor, řetězec (jako textová konstanta) apod. Zároveň je to dobré místo na ignorování poznámek. Obvykle je takový analyzátor realizovatelný konečným automatem nebo jsou na to tooly, které umí takový lexer (jeho zdrojáky) vygenerovat (např. flex).
Výstup lexeru bude číst parser, který bude implementovat gramatiku. Opět je možné si parser napsat sám, nebo využít nějakého existujícího toolu (např. bison).
Pokud píšeš, že nejsi v programování moc zběhlý, tak asi ani neznáš nic moc o teorii překladačů, takže navrhované řešení může vypadat jako dost hardcore. Ovšem obecně to jinak nepůjde, pokud to má opravdu spolehlivě fungovat na jakýkoliv validní vstup (ty dvě vrstvy tam vždycky nějak budou, i když třeba nebudou striktně oddělené).
Samozřejmě to můžeš nějak vyřešit i různým vyhledáváním podřetězců a podobně, ale může pak být dost složité navrhnout program tak, aby fungoval opravdu na všechny možné vstupy. Dost těžko se při takovém způsobu řeší např. to, že proměnnou nemůžeš přeplácnout v řetězci. Obecně záleží také na složitosti jazyka, který načítáš/modifikuješ. VB skript neznám, takže to nedovedu posoudit. Ale asi bude syntakticky jednodušší než např. perl.
Další problém tohoto zadání je u skriptovacího jazyka, který podporuje eval. Pokud je zároveň požadavek, že i po modifikaci má program fungovat stejně jako před modifikací, tak si myslím, že s evalem je to téměř nedosažitelné.