ඔබට GitHub Issues පේජ් එකේ දිස්වන කුඩා සෙවුම් කොටස ගැන සිතන්න. is:open label:bug author:me created:>2024-01-01 වැනි වචන ටයිප් කරලා, ඒක තත්වයෙන්ම ප්රතිඵල දෙනවා. බොහොමයක් දෙනා මේක පිටුපස රෙගෙක්ස් සහ ආශිර්වාදයන් මත පදනම් වූ අඩු‑දෝෂයක් ඇති පාර්සර් එකක් තියෙන බව සිතනවා.
මැණෙශ්වර් නමැති සංවර්ධකයා, git-lrc කියන Micro AI code reviewer එකේ කොටසක් ලෙස, මේ සෙවුම් කොටස Go භාෂාවෙන් නැවත සාදන්න තීරණය කළා. ඔහු Participle නමින් අලෙක් තොමස් විසින් රචිත පුස්තකාලයක් භාවිතා කරයි. Participle හි විශේෂත්වය වන්නේ, ඔබේ ග්රාමරය Go struct එකක් ලෙස ලියන විට, එම struct එකේ field‑වලට ටැග් දී පාර්සර් එක ස්වයංක්රීයව ජනනය කර ගත හැකි බවයි.
උදාහරණයක් ලෙස, key:value යුගලයක් පාර්සර් කිරීම සඳහා පහත struct එක ලියන්න පුළුවන්:
type Pair struct { Key string `parser:"@Ident"` Colon string `parser:"@Colon"` Value string `parser:"@Ident"` }
මෙම සැලැස්මෙන් පසු, මැණෙශ්වර් තුළින් තුන්වෙනි struct මගින් සම්පූර්ණ GitHub‑මිනිමල් සෙවුම් භාෂාව (qualifiers, comparisons, free‑text, negation) නිරූපනය කරයි. අවසානයේ, පාර්සර් කරපු AST (Abstract Syntax Tree) එක SQL පරාමිතීන් සමඟ සුරක්ෂිතව සම්බන්ධ කර, දත්ත ගබඩාවෙන් නිවැරදි ප්රතිඵල ලබා ගත හැකිය.
ශ්රී ලංකාවට ඇති වැදගත්කම
මෙම ව්යාපෘතියේ තාක්ෂණික උපකරණ ශ්රී ලංකාවේ සංවර්ධකයින්ට බොහොම වැදගත්. ප්රධාන වශයෙන්:
- Go සහ Participle භාවිතය – අපේ දේශීය විශ්වවිද්යාල සිසුන්ට නව පාර්සර් තාක්ෂණය ඉගෙන ගැනීමට හොඳ උදාහරණයක්.
- AI‑සහාය code review – git‑lrc වැනි Micro AI මෙවලම්, දෝෂ හඳුනා ගැනීමේ කාලය අඩු කර, සොෆ්ට්වෙයා ගුණාත්මකත්වය වැඩි කරයි.
- Open‑source ප්රජාව – සෑම කෙනෙකුටම GitHub‑ෙහි සොයාගත හැකි, නිදහස් කේතයක් ලෙස, ස්ථානික start‑up කම්පැනි වලට ඉක්මනින් අනුකූල කරගත හැකිය.
ඉතින්, Go භාෂාවෙන් පාර්සර් නිර්මාණය කිරීමේ ක්රමවේදය, රෙගෙක්ස්‑පදනම් වූ පසුබැසීම් වලට වඩා ඉතා පැහැදිලි, නඩත්තු කරගත හැකි, සහ ආරක්ෂිත විසඳුමක් ලබා දෙයි. ශ්රී ලංකාවේ තාක්ෂණික පරිසරය මේ වගේ ව්යාපෘති මගින් තවත් ශක්තිමත් වනු ඇත.
ඔබටත් ඔබේ කේත විශ්ලේෂණය ස්වයංක්රීය කර ගැනීමට උනන්දු නම්, git‑lrc ගබඩාවට පිවිසිලා, star එකක් දී, ඔබේ අදහස බෙදා ගන්න. නව තාක්ෂණික සංකල්පයන් සමඟ අපි එකට ඉදිරියට යමු!