pascal_revised