Sayısal hesaplamalara yönelik bir programlama dilinin tasarımı ve gerçeklemesi
Design and implementation of a programming language for numerical computations
Yazar: MEHMET CEMİL AYDOĞDU
Danışman: DOÇ. DR. HÜSEYİN PEHLİVAN
Karadeniz Teknik Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Derece: Doktora, 2024
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin: Programlama dilleri = Programming languages

Özet:
Sayısal çözümleme, birçok bilimsel ve mühendislik disiplininde kritik öneme sahip problemlerin çözümünde kullanılan temel bir araçtır. Matematik, mühendislik ve fen bilimleri gibi disiplinlerde karşılaşılan sorunların çoğu, matematiksel modellerle temsil edilerek sayısal çözümleme yöntemleri yardımıyla çözülmektedir. Bununla birlikte, sayısal yöntemlerin gerektirdiği matematiksel işlemler, modern dillerde uygulandığında karmaşık ve okunabilirliği zayıf büyük kod parçalarına yol açmaktadır. Özel amaçlı diller ise bu işlemleri kütüphane işlevleri aracılığıyla ele alarak diğer programlama ortamlarıyla zayıf entegrasyon, daha az programlama esnekliği ve pratiği sunmaktadır. Bu tez çalışmasında, bazı temel yapılar ve işlevler sağlanarak sayısal çözümleme yöntemlerinin programlanmasını kolaylaştıran bir programlama dilinin (MxPL) tasarımı ve geliştirilmesi amaçlanmıştır. MxPL dili sayısal çözümleme yöntemlerinin uygulanması için kullanıcı dostu, açık kaynak kodlu ve matematiksel notasyonlara benzer bir sözdizimine destek vermektedir. Çalışmada, matematiğin ve doğrusal cebirin olağan gösterimleriyle uyumlu bir dilbilgisi sunulmuş, ardından kaynak veri ayrıştırıcısı, doğrulayıcısı ve yorumlayıcısı geliştirilmiştir. Bazı program örnekleri üzerinde karmaşık sayısal çözümleme yöntemlerinin kodlanmasındaki performansı gösterilmiştir. Modern programlama dilleri ile temel dil özelliklerine dayalı bir karşılaştırmalı analiz yapılmıştır.

Abstract:
Numerical analysis is a fundamental tool for solving critical problems in many scientific and engineering disciplines, making a solid foundation in it crucial. Problems in fields like mathematics, engineering, and natural sciences are often represented using mathematical models and solved using numerical analysis methods. However, the mathematical operations required by numerical methods, when implemented in modern programming languages, often lead to large pieces of code that are complex and poorly readable. Special-purpose languages, on the other hand, handle these operations through library functions, offering poor integration with other programming environments, less flexibility and practice. This thesis focuses on the design and development of a programming language (called MxPL) that facilitates the programming of numerical analysis methods by providing some basic constructs and functions. The MxPL language supports a user-friendly, open-source, and mathematical notation-like syntax, for the implementation of numerical analysis methods. The study presents a formal grammar compatible with the usual representations of mathematics and linear algebra, and then develops a parser, verifier and interpreter. Its performance in coding complex numerical analysis methods is demonstrated on some program examples. A comparative analysis based on basic language features is made with modern programming languages.