{"title":"支持程序-参数多态性的 C 语言扩展","authors":"A. I. Legalov, P. V. Kosov","doi":"10.3103/S014641162470024X","DOIUrl":null,"url":null,"abstract":"<p>Software development is often related to expanding functionality. To improve reliability in this case, it is necessary to minimize the change in the previously written code. For instrumental support of the evolutionary development of programs, a procedural-parametric programming paradigm is proposed, which makes it possible to increase the capabilities of the procedural approach. This allows extending both data and functions effortlessly. This paper considers the inclusion of procedural-parametric programming in the C language. Additional syntactic constructions are proposed to support the proposed approach. These constructions include: parametric generalizations, specializations of generalizations, generalizing functions, and specialization handlers. Their semantics, possibilities, and features of technical implementation are described. To check the possibilities of using this approach, models of procedural-parametric constructions in the C programming language are built. The example in this article demonstrates the flexible extension of the program and support of multiple polymorphism.</p>","PeriodicalId":46238,"journal":{"name":"AUTOMATIC CONTROL AND COMPUTER SCIENCES","volume":"58 7","pages":"762 - 778"},"PeriodicalIF":0.6000,"publicationDate":"2025-02-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"C Language Extension to Support Procedural-Parametric Polymorphism\",\"authors\":\"A. I. Legalov, P. V. Kosov\",\"doi\":\"10.3103/S014641162470024X\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<p>Software development is often related to expanding functionality. To improve reliability in this case, it is necessary to minimize the change in the previously written code. For instrumental support of the evolutionary development of programs, a procedural-parametric programming paradigm is proposed, which makes it possible to increase the capabilities of the procedural approach. This allows extending both data and functions effortlessly. This paper considers the inclusion of procedural-parametric programming in the C language. Additional syntactic constructions are proposed to support the proposed approach. These constructions include: parametric generalizations, specializations of generalizations, generalizing functions, and specialization handlers. Their semantics, possibilities, and features of technical implementation are described. To check the possibilities of using this approach, models of procedural-parametric constructions in the C programming language are built. The example in this article demonstrates the flexible extension of the program and support of multiple polymorphism.</p>\",\"PeriodicalId\":46238,\"journal\":{\"name\":\"AUTOMATIC CONTROL AND COMPUTER SCIENCES\",\"volume\":\"58 7\",\"pages\":\"762 - 778\"},\"PeriodicalIF\":0.6000,\"publicationDate\":\"2025-02-12\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"AUTOMATIC CONTROL AND COMPUTER SCIENCES\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://link.springer.com/article/10.3103/S014641162470024X\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q4\",\"JCRName\":\"AUTOMATION & CONTROL SYSTEMS\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"AUTOMATIC CONTROL AND COMPUTER SCIENCES","FirstCategoryId":"1085","ListUrlMain":"https://link.springer.com/article/10.3103/S014641162470024X","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q4","JCRName":"AUTOMATION & CONTROL SYSTEMS","Score":null,"Total":0}
C Language Extension to Support Procedural-Parametric Polymorphism
Software development is often related to expanding functionality. To improve reliability in this case, it is necessary to minimize the change in the previously written code. For instrumental support of the evolutionary development of programs, a procedural-parametric programming paradigm is proposed, which makes it possible to increase the capabilities of the procedural approach. This allows extending both data and functions effortlessly. This paper considers the inclusion of procedural-parametric programming in the C language. Additional syntactic constructions are proposed to support the proposed approach. These constructions include: parametric generalizations, specializations of generalizations, generalizing functions, and specialization handlers. Their semantics, possibilities, and features of technical implementation are described. To check the possibilities of using this approach, models of procedural-parametric constructions in the C programming language are built. The example in this article demonstrates the flexible extension of the program and support of multiple polymorphism.
期刊介绍:
Automatic Control and Computer Sciences is a peer reviewed journal that publishes articles on• Control systems, cyber-physical system, real-time systems, robotics, smart sensors, embedded intelligence • Network information technologies, information security, statistical methods of data processing, distributed artificial intelligence, complex systems modeling, knowledge representation, processing and management • Signal and image processing, machine learning, machine perception, computer vision