[BUG] Tokenizer mishandles triple-quoted strings — keywords replaced inside them
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- Nửa ngày
- Mức phù hợp với người mới
- 55/100
Hướng nghiên cứu
The bug lives in _tokenize_preserving_strings in maithili_dsl/transpiler/transpile.py, which only matches single-line quoted strings and # comments. Reproduce by transpiling x = """क " में " ख""" and confirm में is replaced inside the literal. Extend the tokenizer regex to match triple-quoted strings ("""...""" and '''...''', spanning newlines) before the single-quote alternatives, then add tests for keywords inside triple quotes, inner quotes, and a multi-line docstring. Done when those cases pass unchanged and existing transpiler tests still pass.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
File: maithili_dsl/transpiler/transpile.py (_tokenize_preserving_strings)
The tokenizer only knows single-line "..." / '...' strings and # comments. Triple-quoted strings are parsed as pairs of empty strings, so when the content itself contains a quote, part of the string body is treated as code and keywords inside it get replaced:
Input: x = """क " में " ख"""
Output: x = """क " in " ख""" # में replaced inside a string literal
(Verified against v0.3.0. Simple triple-quoted strings without inner quotes survive only by accident.)
Fix: extend the tokenizer regex to match """...""" and '''...''' (with re.DOTALL-style content) before the single-quote alternatives. Consider f-string prefixes (f"...") while in there.
Tests: triple-quoted string with keywords, with inner quotes, multi-line docstring on a कार्य.
- Ngôn ngữ chính
- Python
- Star
- 1
- Fork
- 4
- Merge trung bình
- 12 ngày 21 giờ
- Pull request đã merge (30 ngày)
- 1
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của alphacrack/python-maithili-dsl
-
help wanted infra P2 testing
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 80/100
-
documentation enhancement good first issue help wanted P3
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
documentation good first issue P3
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
-
area:linter enhancement good first issue P3 translation
Độ khó 2/5 Nửa ngày Mức phù hợp với người mới 66/100
-
area:cli enhancement good first issue P3
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Tất cả issue của alphacrack/python-maithili-dsl
Issue tương tự
-
documentation good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
JheysonJhordyHuarauyaRiquelme/sprocguard#18 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement good first issue help wanted
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 80/100
dlq/synthpopcan#59 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
mdn/translated-content#40220 ·
Maintainer thường phản hồi trong vòng 4 ngày
-
enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
ETSInitiative/PETSIRD#243 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
deferred p2
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
cuadrao-ai/argus#2160 ·
Maintainer thường phản hồi trong vòng 1 ngày