STR-38: ast2abox should use the arity of a constructor when looking for pp-entries.
ast2abox doesn’t report an error when the number of arguments of an application is less (or more) than the number of arguments expected by the PP-Entry. This will result in Arg nodes, which usually cannot be pretty printed or will pretty print incorrectly.
Submitted on 27 March 2004 at 09:00
Issue Log
STR-38, martin:
Email conversion with Merijn on this issue (sorry Dutch)Martin:
Ik heb voor Ast-2-abox een aanpassing gemaakt die voor simpele paden (nog niet voor iter) de ariteit van een pp-entry opslaat in de hashtable at runtime en die ook gebruikt in de key. Ik heb hiervoor pp-tables-io gekloond om de andere 2-abox applicaties niet te breken.
De complexere paden moeten eigenlijk ook nog, maar dat is een stuk lastiger omdat je uit zo’n pp-entry niet kan afleiden hoeveel kinderen het eerste path element heeft (de ouder). Voor f([], []) moet bijvoorbeeld voor beide iter regels vastgelegd worden dat f aritiet 2 heeft.
Ik kan het committen, maar het is een beetje een ad-hoc fix omdat hij dus niet volledig en alleen voor Ast-2-abox werkt. Zal ik hem toesturen of gewoon toch committen zodat je hem zelf wellicht netter door kan gaan voeren?
Ik heb hem getest op Stratego en SDF.
Merijn:
N.a.v. de SUD was ik inderdaad van plan om dit te gaan toevoegen. Dus je bent me voor. Ik zat te denken om hiervoor niet ppgen aan te passen, maar gewoon tijdesn inlezen van de tabel de ariteit vast te leggen. Een andere lastigheid naast wat jij aanbrengt is het verschil in ariteit van producties in asfix en ast omdat literals wegvallen. Wat mij betreft commit je het en hebben we het er volgende week even over hoe we het het beste op een mooie manier kunnen implementeren.
STR-38, martin:
Well. ast2abox has been fixed. The fix has to be cleaned and included in other components of gpp. But, clearly this is not going to happen soon. ast2abox has been fixed and that’s the most important thing right now.
Log in to post comments