Tuhaf sözcüksel sözdizimi
- Bu ay 42 programlama dilini öğrenip
llamafile için yeni bir sözdizimi vurgulayıcı oluşturdu. Cadılar Bayramı vesilesiyle en şaşırtıcı sözdizimlerini paylaşmak istiyor.
- Desteklenen diller şunlar: Ada, Assembly, BASIC, C, C#, C++, COBOL, CSS, D, FORTH, FORTRAN, Go, Haskell, HTML, Java, JavaScript, Julia, JSON, Kotlin, ld, LISP, Lua, m4, Make, Markdown, MATLAB, Pascal, Perl, PHP, Python, R, Ruby, Rust, Scala, Shell, SQL, Swift, Tcl, TeX, TXT, TypeScript, Zig.
Sözdizimi vurgulayıcı nasıl kodlanır
- Bir sözdizimi vurgulayıcıyı uygulamak zor değildir. C++ ve GNU gperf yararlı araçlardır.
gperf, performansı en üst düzeye çıkarmak için mükemmel hash tabloları üretebilir.
- Temel bir sözdizimi vurgulayıcı, string'lere, yorumlara ve anahtar sözcüklere odaklanan bir sonlu durum makinesiyle uygulanabilir.
Demo
llamafileın yeni sözdizimi vurgulayıcısı, ollamaya kıyasla daha güçlü avantajlara sahip.
- Windows 10 üzerinde Meta LLaMA 3.2 3B Instruct modelini kullanarak çeşitli programlama dillerinde kod üretimini gösteren bir demo sunuyor.
Şaşırtıcı sözcüksel sözdizimi örnekleri
- C: C dilinin basit olduğu iddia edilir, ancak trigraphs gibi karmaşık unsurları vardır.
- Haskell: İç içe yorumlara izin verir.
- Tcl: Tanımlayıcıların içinde tırnak işareti bulunabilir.
- JavaScript: Düzenli ifade sözdizimine sahiptir ve UNICODE karakterlerini satır sonu karakteri olarak kullanır.
- Shell:
heredoc sözdizimi çeşitli şekillerde kullanılabilir.
- String Interpolation: Kotlin, Scala ve TypeScript, string içinde kod eklemeye izin verir.
- Swift: String'ler birden fazla
# ile çevrelenebilir.
- C#: String'leri sarmalamak için birden fazla tırnak işareti kullanılabilir.
- FORTH: Her şeyi boşluk sınırlarına göre token'lara ayırır.
- FORTRAN ve COBOL:
llamafile, bu diller için sözdizimi vurgulamayı destekler.
- Zig: Çok satırlı string'ler iki ters eğik çizgiyle başlar.
- Lua: Çok satırlı string'lerde köşeli parantez ve eşittir işareti kullanır.
- Assembly: Pek çok lehçesi olduğu için sözdizimi vurgulaması zordur.
- Ada: Tek tırnak işaretini çeşitli amaçlarla kullanır.
- BASIC: String'lerin sonunda tırnak işareti zorunlu değildir.
- Perl: Düzenli ifade sözdizimi kendine özgüdür.
- Ruby: Sözdizimi karmaşık ve anlaşılması zordur.
Desteklenen dillerin karmaşıklığı
- FORTH en basit, Ruby ise en karmaşık dildir.
- Karmaşıklık, her dilin sözdizimi vurgulaması için gereken kod satırı sayısına göre değerlendirilir.
GN⁺ özeti
- Bu yazı, çeşitli programlama dillerinin benzersiz sözdizimlerini inceliyor ve bir sözdizimi vurgulayıcısı uygulamak için gereken içgörüleri sunuyor.
llamafileın sözdizimi vurgulayıcısı çok sayıda dili destekliyor ve özellikle eski dillerin bakımında yararlı olabilir.
- Programlama dillerinin sözdizimsel karmaşıklığını anlamaya yardımcı oluyor ve sözdizimi vurgulayıcı geliştirmeyle ilgilenenler için faydalı olacaktır.
- Benzer işlevlere sahip projeler arasında Pygments ve Emacs bulunuyor.
1 yorum
Hacker News görüşü
||mantıksal operatörünü kullanan kısa devre kuralı açıklanıyor