{'fraction_non_alphanumeric': 0.014939309056956116, 'fraction_numerical': 0.0, 'mean_word_length': 5.196531791907514, '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}}
Acquisition and representation of knowledge on the level of programming language for automatic programming

This paper explores the representation of a knowledge necessary for a computer to achieve the ability to perform the automatic synthesis of user programs. It is assumed that the knowledge demanded for this synthesis can be acquired by the computer from user programs written in a high-level programming language. This arises from the fact that user programs consist of a finite number of components, which being treated as some pieces of the knowledge, should be incorporated into the knowledge base (KB). A method is presented of acquiring knowledge from user programs. It is shown that knowledge being acquired from a user program, on the level programming language, is divided by the computer into three kinds associated with, respectively, algorithm structures, operation codes and declaration statements. In this paper formal representation of each kind of knowledge in the KB is introduced and the retrieval of knowledge belonging to each kind is described.