sakarya2929
Öğrenci
- Katılım
- 4 Mart 2017
- Mesajlar
- 4
- Reaksiyon puanı
- 1
- Puanları
- 3
Arkadaşlar projem var bazı kısımlarında takıldım java'da txt dosyasından okuduğumuz metinleri ekrana yazdırma ancak belli kurallar dahilinde BNF denen bir format var aşağıdaki şekildeki gibi txt dosyasının içinde bulunan bu bnf formatını alıp içinde bulunan köşeli parantezler içindekileri yok sayarak sadece sayıları alt alta sıralama yaparak kaç adet veri ekrana yazdırdığımızı da göstermemiz isteniyor.
BNF.txt dosyasının içinde
[sayı] ::=[rakam] | [sayı] [rakam]
[rakam] ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
bu yazıları alıp sadece sayılar kısmını alarak ekrana alt alta yazdırmak aslında bizden istenen bir dönüştürücü ekran çıktısı örneğin
Toplam Terminal:10
Terminaller:
0
1
2
3
4
5
6
7
8
9
bu bnf.txt dosyasının içeriği onun formatına göre farklı bir yazıda olabilir sadece kural köşeli parantezleri ve ::= gibi ifadeleri yok etmek onları nonterminal saymak örneğin txt dosyası içine
[A] ::= [A]B | C | [D]
[D] ::= C[D] | C
yazsak ekran çıktısı olarak bize javada
Toplam Terminal Sayısı: 2
Terminaller:
B
C
olarak vermesi gerekli bu proje ödevini yapın demiyorum yanlış anlaşılmasın sadece daha önce java görmedim ben c#biliyorum çok ileri düzey olmasada benim yaptığım çalışmada bir Arraylist oluşturup txt dosyasındaki verileri içine atıp onların içinde replace komutuyla bazı karakterleri atmak ve arraylisti ekrana yazdırmak oldu ama yukarıda verilen 2. örnekte bu yazdığım kodlar pek işe yaramadı sanırım regex.Pattern komutlarını kullanacağız ama yani yardımcı olabilecek bir arkadaş ufak örnek kod dizini ile bi fikir verebilirmi en azından nasıl ilerleyeceğimi görmek adına.
BNF.txt dosyasının içinde
[sayı] ::=[rakam] | [sayı] [rakam]
[rakam] ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
bu yazıları alıp sadece sayılar kısmını alarak ekrana alt alta yazdırmak aslında bizden istenen bir dönüştürücü ekran çıktısı örneğin
Toplam Terminal:10
Terminaller:
0
1
2
3
4
5
6
7
8
9
bu bnf.txt dosyasının içeriği onun formatına göre farklı bir yazıda olabilir sadece kural köşeli parantezleri ve ::= gibi ifadeleri yok etmek onları nonterminal saymak örneğin txt dosyası içine
[A] ::= [A]B | C | [D]
[D] ::= C[D] | C
yazsak ekran çıktısı olarak bize javada
Toplam Terminal Sayısı: 2
Terminaller:
B
C
olarak vermesi gerekli bu proje ödevini yapın demiyorum yanlış anlaşılmasın sadece daha önce java görmedim ben c#biliyorum çok ileri düzey olmasada benim yaptığım çalışmada bir Arraylist oluşturup txt dosyasındaki verileri içine atıp onların içinde replace komutuyla bazı karakterleri atmak ve arraylisti ekrana yazdırmak oldu ama yukarıda verilen 2. örnekte bu yazdığım kodlar pek işe yaramadı sanırım regex.Pattern komutlarını kullanacağız ama yani yardımcı olabilecek bir arkadaş ufak örnek kod dizini ile bi fikir verebilirmi en azından nasıl ilerleyeceğimi görmek adına.