PParenWick
ขั้นตอนการทำงาน

ขั้นตอนการเขียนโค้ด · แยกวิเคราะห์นิพจน์ S แบบจำกัด

03
ผลิตภัณฑ์

ขั้นตอนการทำงาน

แยกวิเคราะห์นิพจน์ S ในวงเล็บหนึ่งนิพจน์ที่ยาวไม่เกิน 4096 อักขระเป็นรายการและสตริงอะตอม ASCII. ทดสอบรายการว่าง ความลึก 16 และ 1024 โหนด แล้วปฏิเสธรูปแบบส่วนเกิน รายการที่ไม่ปิดและไวยากรณ์อัญประกาศที่ไม่รองรับโดยไม่ประมวลผลนิพจน์.

01

ดาวน์โหลดแอป

เลือกโฟลเดอร์และให้ผู้ช่วยอ่านไฟล์ที่เกี่ยวข้องก่อนแก้ไข ระบุเป้าหมายและขอบเขตของงานให้ชัดเจน

02

เปิดโฟลเดอร์โปรเจกต์

เลือก endpoint ที่เข้ากันได้ เครื่องมือที่ใช้ได้และคุณภาพคำตอบขึ้นอยู่กับโมเดลและเซิร์ฟเวอร์ที่ตั้งค่า

03

เชื่อมต่อและทดสอบโมเดล

ตรวจสอบการแก้ไขและผลลัพธ์คำสั่ง รันการตรวจสอบของโปรเจกต์ก่อนยอมรับผล โค้ดที่สร้างขึ้นไม่ได้ผ่านการทดสอบโดยอัตโนมัติ

04

ตรวจสอบการแก้ไขและรันการทดสอบ

เปรียบเทียบการทำงานจริงกับผลที่คาดหวัง หากการตรวจสอบไม่ผ่าน ให้หาสาเหตุก่อนแก้ไขเพิ่มเติม

แยกวิเคราะห์นิพจน์ S แบบจำกัด

ขั้นตอนการทำงาน
import re

def read_sexpression(text):
    if type(text) is not str or len(text) > 4096:
        raise ValueError("sexpr.input")
    stack, result, count = [], None, 0
    for match in re.finditer(r"\(|\)|[^\s()]+", text):
        token = match[0]
        if token == "(":
            if len(stack) == 16 or (not stack and result is not None):
                raise ValueError("sexpr.depth")
            item = []
            if stack:
                stack[-1].append(item)
            stack.append(item)
            count += 1
        elif token == ")":
            if not stack:
                raise ValueError("sexpr.close")
            item = stack.pop()
            if not stack:
                result = item
        else:
            if not stack or re.fullmatch(r"[A-Za-z_][A-Za-z0-9_-]*|[+-]?[0-9]+", token) is None:
                raise ValueError("sexpr.atom")
            stack[-1].append(token)
            count += 1
        if count > 1024:
            raise ValueError("sexpr.nodes")
    if stack or result is None:
        raise ValueError("sexpr.unclosed")
    return result

ตรวจสอบก่อนนำไปใช้. ตรวจสอบการแก้ไขและผลลัพธ์คำสั่ง รันการตรวจสอบของโปรเจกต์ก่อนยอมรับผล โค้ดที่สร้างขึ้นไม่ได้ผ่านการทดสอบโดยอัตโนมัติ

พื้นที่เขียนโค้ดด้วย AI

ไอเดียถัดไปเริ่มต้นที่นี่

ดาวน์โหลดสำหรับ Windows ↗