Düzce Üniversitesi Bilim ve Teknoloji Dergisi (Jan 2019)
Sayısal Çözümleme Yöntemlerinin Programlanması ve Yorumlanması
Abstract
Sayısal hesaplama ya da diğer adıyla nümerik analiz, uygulamalı matematiğin önemli bir dalıdır. Matematiğin analitik çözüm üretemediği veya üretilen çözümün uygulama açısından yüksek hesaplama karmaşıklığına sahip olduğu durumlarda sayısal yöntemler kullanılır. Bu makalede, sayısal yöntemlerin programlanabilmesini sağlayan bir programlama dilinin tasarımı yapılmış ve bu dilde yazılan kaynak kodun değerlendirmesini yapabilen bir yorumlayıcı geliştirilmiştir. Dilin sözdizimi BNF (Backus Naur Form) notasyonunda tanımlanan bir LL(k) grameri ile temsil edilmiştir. Yorumlayıcı, her biri kodun farklı türden yorumlamasını yapan ayrıştırıcı, anlamsal denetleyici, simgesel türev alıcı ve kod değerlendirici gibi birkaç temel bileşenden oluşmaktadır. Dilin sözdizim analizi için kullanılan LL(k) ayrıştırıcı bileşeni, otomatik kod üretim aracı olan JavaCC yardımıyla üretilmiştir. Diğer bileşenler bu ayrıştırıcının oluşturduğu soyut sözdizim ağacı üzerinde çalışmaktadır. Dilin kullanımına yönelik olarak, birkaç sayısal kök bulma yönteminin programlaması ve yorumlaması gösterilmiştir. Bazı popüler diller ile dil metriklerine dayalı bir karşılaştırma yapılmış ve koşum zamanları değerlendirilmiştir.
Keywords