Yapay zeka kullanılarak VBA'dan kaynaktan kaynağa kod çevirisi, kaynak kodunu analiz etmek ve anlamak için doğal dil işleme (NLP) tekniklerinden ve makine öğrenimi algoritmalarından yararlanmayı içerir
Kombinasyon | Eylem |
---|---|
Ctrl+c | Kaynak kodu editör içeriğini panoya kopyala |
Ctrl+v | Mevcut içeriği üzerine yazarak panodan editöre kaynak kodu ekle |
Ctrl+ Shift+c | AI çıktısını panoya kopyala |
Ctrl+r veya Ctrl+enter | Bir kaynak kodu dönüşümünü çalıştır |
Ctrl+Shift+1 | AI talimatları editörünün görünürlüğünü değiştir |
Çeviri Problemi | VBA Söz Dizimi Örneği | SAS Söz Dizimi Örneği | Puan (1-10) |
---|---|---|---|
Değişken Bildirimi | Dim x As Integer |
x = 0; |
7 |
Döngü Yapıları | For i = 1 To 10 |
do i = 1 to 10; |
6 |
Koşullu İfadeler | If x > 10 Then ... |
if x > 10 then ...; |
5 |
Dizi İşleme | Dim arr(1 To 5) As Integer |
array arr(5) _temporary_; |
8 |
Fonksiyon Tanımı | Function Add(a As Integer, b As Integer) |
proc fcmp; function Add(a, b); |
9 |
Hata Yönetimi | On Error Resume Next |
options nosource; |
8 |
Nesne Yönelimli Özellikler | Set obj = New ClassName |
data _null_; set obj = ClassName(); |
10 |
Tarih Fonksiyonları | DateDiff("d", startDate, endDate) |
intck('day', startDate, endDate) |
4 |
Dosya G/Ç İşlemleri | Open "file.txt" For Input As #1 |
data _null_; infile "file.txt"; |
6 |
Kullanıcı Tanımlı Türler | Type Person |
proc sql; create table Person as ...; |
9 |
VBA dilinde, değişkenler Dim
ifadesi kullanılarak, türü belirterek tanımlanır. SAS dilinde ise değişken türleri çıkarım yoluyla ya da açıkça bir veri adımında tanımlanır.
VBA Örneği:
Dim x As Integer
SAS Örneği:
data _null_;
x = 0; /* Değişken türü çıkarım yoluyla belirlenir */
run;
Referans: VBA Değişken Bildirimi
VBA For...Next
döngüleri kullanırken, SAS do
döngülerini kullanır.
VBA Örneği:
For i = 1 To 10
' Bir şey yap
Next i
SAS Örneği:
data _null_;
do i = 1 to 10;
/* Bir şey yap */
end;
run;
Referans: VBA For...Next İfadesi
Her iki dil de koşullu ifadeleri destekler, ancak sözdizimi biraz farklıdır.
VBA Örneği:
If x > 10 Then
' Bir şey yap
End If
SAS Örneği:
data _null_;
if x > 10 then do;
/* Bir şey yap */
end;
run;
Referans: VBA If...Then İfadesi
VBA dizileri belirli sınırlarla tanımlanırken, SAS array
ifadesini kullanır.
VBA Örneği:
Dim arr(1 To 5) As Integer
SAS Örneği:
data _null_;
array arr(5) _temporary_; /* Geçici dizi */
run;
Referans: VBA Diziler
VBA ve SAS dillerinde fonksiyon tanımlamanın sözdiziminde önemli farklılıklar vardır.
VBA Örneği:
Function Add(a As Integer, b As Integer) As Integer
Add = a + b
End Function
SAS Örneği:
proc fcmp outlib=work.funcs.math;
function Add(a, b);
return (a + b);
endsub;
run;
Referans: VBA Fonksiyonlar
Hata yönetimi mekanizmaları iki dil arasında önemli ölçüde farklılık gösterir.
VBA Örneği:
On Error Resume Next
SAS Örneği:
options; /* Günlüklerde kaynak kodunu bastır */
Referans: VBA Hata Yönetimi
VBA nesne yönelimli programlamayı desteklerken, SAS OOP için sınırlı destek sunar.
VBA Örneği:
Set obj = New ClassName
SAS Örneği:
data _null_;
set obj = ClassName(); /* Sınırlı OOP desteği */
run;
Referans: VBA Nesne Yönelimli Programlama
Tarih manipülasyon fonksiyonları iki dil arasında farklılık gösterir.
VBA Örneği:
DateDiff("d", startDate, endDate)
SAS Örneği:
intck('day', startDate, endDate)
Referans: VBA Tarih Fonksiyonları
Dosya girdi/çıktı işlemleri farklı sözdizimi ve yöntemlere sahiptir.
VBA Örneği:
Open "file.txt" For Input As #1
SAS Örneği:
data _null_;
infile "file.txt"; /* Dosyadan oku */
run;
Referans: VBA Dosya G/Ç
Kullanıcı tanımlı türlerin oluşturulması VBA ile SAS'nin yaklaşımı arasında farklılık gösterir.
VBA Örneği:
Type Person
Name As String
Age As Integer
End Type
SAS Örneği:
proc sql;
create table Person as
select 'John' as Name, 30 as Age;
quit;
Referans: VBA Kullanıcı Tanımlı Türler