{'fraction_non_alphanumeric': 0.01593625498007968, 'fraction_numerical': 0.0, 'mean_word_length': 5.367088607594937, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Data abstraction for Pascal programmers

Lack of data abstraction facilities in Pascal is a serious shortcoming for a language whose principal aims include "teaching programming as a systematic discipline." In this paper, a scheme is presented to implement data abstraction in Pascal using a limited form of the class structure defined in Concurrent Pascal. The class structures are translated to equivalent (sequential) Pascal constructs with the help of a preprocessor whose design is also described.