Rascal-da katta-kichik harflarga sezgir bo'lmagan kalit so'zlardan foydalaning (vaqtinchalik yechim)

Raskalda kalit so'zni katta-kichik harflar bilan qanday zahiralashim mumkinligini kimdir biladimi?

GitHub da xabar qilingan №968-son tufayli (https://github.com/usethesource/rascal/issues/968) Men oddiy tirnoqlarni ishlata olmayman. Bu muammo, ehtimol, hal qilinadi. Men hozirda kalit so'zlar katta-kichik harflarga sezgir bo'lmagan til bilan ishlayapman va kimdir tasodifiy tuya harfini yoki kalit so'zlardagi barcha bosh harflarni qo'llagan kodni tahlil qilmoqchiman, ammo men vaqtinchalik yechim izlayapman. Hozircha men har bir kalit so'zni uchta usulda aniqlayapman. Camelcase-ni qo'llashda xatolar bo'lganligi sababli (masalan, GroupbyGroup, tuya sumkasida GroupByGroup bo'lishi kerak edi) men kalit so'zlarni yanada turli yo'llar bilan qayta belgilashga majburman. Shuning uchun, kimdir yaxshiroq vaqtinchalik echimni bilishiga umid qilgandim (yoki bu muammoni aniq hal qila oladi).


person Olav Trauschke    schedule 24.06.2016    source manba


Javoblar (1)


'abc' nimani anglatishini aniqlash uchun quyidagi grammatika avtomatik ravishda kengaytiriladi

lexical CaseInsensitive = 'abc';

shunday:

lexical CaseInsensitive = 'abc';
lexical 'abc' = [aA][bB][cC];

Grammatikangiz uchun buni o'zingiz ham qilishingiz mumkin, ammo bu aniqlanishning semantikasini o'zgartirmaydi. \ belgisi hali kontekstsiz tildan [aA][bB][cC] tomonidan yaratilgan oddiy tillarni olib tashlamaydi. Amalga oshirilmaydi.

Yaxshi vaqtinchalik vaqtinchalik yechim grammatikani noaniq saqlash va to'g'ri daraxtni filtrlash uchun rascal koddan foydalanish bo'ladi.

person Davy Landman    schedule 24.06.2016
comment
Javobingiz uchun rahmat. O'zingiz aytganingizdek mukammal holat emas, lekin, albatta, vaqtinchalik echim sifatida ko'rib chiqilishi kerak bo'lgan ba'zi foydali variantlar. - person Olav Trauschke; 24.06.2016
comment
to'g'ri. bu xususiyatni qo'shishimiz kerak. kodda bir nechta TODO mavjud. - person Jurgen Vinju; 25.06.2016