Recentemente ho scritto un interprete per operazioni su matrici sparse (una "calcolatrice a matrice sparsa") in lex / yacc. Il linguaggio è ancora molto semplice e non include nemmeno strutture di controllo o subroutine parametrizzate, ma è già presente a diverse migliaia di righe di codice, e questo non include le classi di matrici. In particolare, il file yacc ha una lunghezza di circa duemila righe. Per questo motivo trovo molto difficile lavorare su. È normale o esiste un modo per semplificare le cose?
Se vuoi rivedere il mio codice, lo puoi trovare su: link