Belirsiz integral problemlerinin çözümü için genel bir yorumlayıcının simgesel hesaplama yaklaşımları kullanılarak tasarımı ve gerçeklenmesi
Design and implementation of a general interpreter for solution of indefinite integral problems by using symbolic computation approaches
Yazar: CEYHAN YILMAZ
Danışman: DR. ÖĞR. ÜYESİ HÜSEYİN PEHLİVAN
Karadeniz Teknik Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı / Bilgisayar Mühendisliği Bilim Dalı
Derece: Yüksek Lisans, 2019
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
Otomatik kod üretim araçları, sıklıkla kullandığımız C, C++, Java gibi programlama dilleri için derleme ve yorumlama sürecinin bileşenleri olan, analiz ve dönüşüm işlemlerini otomatik olarak yapabilen araçlardır.
Bu çalışmada, otomatik kod üretim araçları yardımıyla simgesel hesaplama yaklaşımları kullanılarak, matematikte ve mühendislik alanlarında önemli bir yer tutan belirsiz integral problemlerinin, çözümünde sonlu sayıda terim içeren türlerini çözebilen bir sistemin nasıl gerçekleştirilebileceği gösterilmiştir. İntegral hesabı yapılırken gereken bütün işlemleri adım adım gösterecek şekilde tasarlanan sistem Ayrıştırıcı, Simgesel Türev Alıcı, Simgesel Sadeleştirici ve Simgesel İntegral Alıcı olmak üzere dört temel bileşen barındırmaktadır.
İntegral ifadeleri üzerinde gerçekleştirilmesi gereken kelimesel çözümleme ve sözdizim analizi ve ayrıştırma işlemleri için kullanılan ayrıştırıcı, JavaCC ayrıştırıcı üreteci yardımıyla otomatik olarak üretilmiştir. Hesaplanacak integral ifadelerinin sözdizimini temsil edecek dilbilgisi kuralları, BNF (Backus Naur Form) notasyonunda tanımlanmıştır. Daha sonra bu kurallar dikkate alınarak, soyut sözdizim ağacını oluşturacak Java dili ifadeleri eklenip JavaCC notasyonuna dönüştürülmüştür. Sözdizim ağacı üzerinde işlem yapan diğer bileşenler, Ziyaretçi Tasarım Deseni yardımıyla tasarlanıp kodlanmıştır.

Abstract:
Automated code generation tools are tools that can automatically perform analysis and transformation, which are components of the compilation and interpretation process for frequently used programming languages such as C, C ++, Java.
In this study, it is shown how a system can be used which can solve the types of finite number of terms in the solution of indefinite integral problems which have an important place in mathematics and engineering fields by using symbolic computation approaches with the help of automatic code generation tools. The system, which is designed to show all the necessary operations step by step when performing the integral calculation, has four basic components, namely the Parser, the Symbolic Derivative, the Symbolic Simplification and the Symbolic Integral Solver.
The parser, which is used for lexical analysis and syntax analysis and parsing operations that must be performed on integrals, has been generated automatically with the help of JavaCC parser generator. Grammar rules that represent the syntax of integral expressions to be calculated have been defined in BNF (Backus Naur Form) notation. Then, taking these rules into account, Java language expressions to create the abstract syntax tree have been added and converted into JavaCC notation. Other components processing on the syntax tree have been designed and coded with the help of the Visitor Design Pattern.