Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>PQA — Programmable Query AutomationNew to Visual Studio Code? Get it now.
PQA — Programmable Query Automation

PQA — Programmable Query Automation

pqa

|
2 installs
| (0) | Free
Hỗ trợ ngôn ngữ PQA và DSL PQA Web trực tiếp trong VS Code.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

PQA — Programmable Query Automation

PQA là viết tắt của Programmable Query Automation: một ngôn ngữ lập trình mới, độc lập, có kiểu tĩnh, lấy mô hình task–data–automation làm trung tâm. Phiên bản v0.2.0 có hai nhánh biên dịch:

mã task .pqa → lexer → parser/AST → type checker → interpreter
mã website .pqa → PQA Web parser → website chạy trên trình duyệt

PQA Web dùng cú pháp giao diện riêng; người viết PQA không phải viết HTML, CSS hay JavaScript.

Chạy nhanh

Yêu cầu Python 3.10 trở lên.

python -m venv .venv
source .venv/bin/activate
python -m pip install -e '.[dev]'
pqa run examples/hello.pqa

Kết quả:

Hello PQA

Chỉ kiểm tra cú pháp và kiểu, không chạy chương trình:

pqa check examples/calculator.pqa

Không cần cài đặt cũng có thể chạy bằng:

PYTHONPATH=src python -m pqa run examples/hello.pqa

Dùng trong VS Code

Repository có extension PQA — Programmable Query Automation. Sau khi cài tệp .vsix:

Để dùng bảng màu cố định của PQA, mở Preferences: Color Theme bằng ⌘K ⌘T trên macOS hoặc Ctrl+K Ctrl+T trên Windows/Linux, rồi chọn PQA Rainbow Cartoon.

  1. Tạo một folder dự án mới và mở folder đó trong VS Code.
  2. Tạo tệp start.pqa.
  3. Gõ start rồi chọn snippet để tạo chương trình mẫu.
  4. Bấm nút ▶ ở góc trên bên phải editor để chạy.

Extension tự nhận diện .pqa, hiển thị biểu tượng PQA, tô màu cú pháp, tự đóng ngoặc, cung cấp snippet và đánh dấu lỗi ngay trên dòng code. Runtime PQA đã được đóng trong extension; máy chỉ cần Python 3.10 trở lên.

Bạn cũng có thể nhấp chuột phải vào tệp .pqa rồi chọn Chạy tệp PQA hoặc Kiểm tra tệp PQA. Với website, chọn Xem PQA Web hoặc nút hình quả địa cầu để biên dịch, mở trình duyệt và chạy máy chủ xem trước. Lệnh Run mở Terminal để chương trình có thể nhận dữ liệu từ bàn phím; kết quả Check xuất hiện trong bảng Output → PQA.

Để đóng gói lại extension:

npm run check
npm run package

Sau đó vào Extensions → menu ... → Install from VSIX... và chọn pqa-language-support-0.2.0.vsix.

PQA Web

Website được viết hoàn toàn bằng DSL riêng của PQA:

website "Trang PQA" {
    palette {
        primary violet;
        background night;
        surface plum;
        text snow;
        accent sun;
    }

    page "/" {
        stack center {
            badge "PQA WEB";
            heading "Xin chào từ PQA";
            text "Không cần viết HTML, CSS hay JavaScript.";
            button "Bắt đầu" shows "PQA Web đang hoạt động!";
        }
    }
}

Biên dịch hoặc xem trực tiếp:

pqa web examples/first-web.pqa
pqa web examples/first-web.pqa --serve

Xem hướng dẫn PQA Web để biết page, stack, row, card, field, link, image và bảng màu riêng của PQA.

Ví dụ

task add(a: Whole, b: Whole) gives Whole {
    yield a + b;
}

task start() gives Whole {
    const result: Whole = add(10, 20);
    write(result);
    yield 0;
}

Mọi chương trình cần có task start() gives Whole. PQA kiểm tra toàn bộ cú pháp và kiểu dữ liệu trước khi chạy start, vì vậy lỗi ở task chưa được gọi vẫn được báo sớm.

OOP

object Person {
    const name: Text;
    state age: Whole;

    task create(name: Text, age: Whole) gives Nothing {
        self.name = name;
        self.age = age;
    }

    task birthday() gives Nothing {
        self.age = self.age + 1;
    }
}

task start() gives Whole {
    const person: Person = Person("Minh", 20);
    person.birthday();
    write(person.age);
    yield 0;
}

Mọi thuộc tính phải được khởi tạo trong create. Thuộc tính const chỉ được gán lần đầu trong constructor; thuộc tính state có thể thay đổi trong các method.

Tính năng hiện có

  • Kiểu Whole, Decimal, Flag, Text, Nothing và Array<T>.
  • const, state, phép gán, biểu thức số/logic/so sánh.
  • Câu lệnh đơn kết thúc bằng dấu ;, tương tự C/C++.
  • Task, tham số, gives, yield và phạm vi lồng nhau.
  • OOP với object, thuộc tính, task khởi tạo create, self và method.
  • when/otherwise, repeat, each item from items.
  • cycle-repeat, stop, next và span cho vòng lặp đếm.
  • Nhập liệu read, chuyển kiểu tường minh và thư viện toán học cơ bản.
  • Mảng an toàn bằng Array<T>: chỉ số, count, append, take và mảng nhiều chiều.
  • Hàm dựng sẵn write(value).
  • DSL PQA Web với page, bố cục, thành phần, palette và hành động button.
  • Lỗi từ vựng, cú pháp, kiểu và lỗi lúc chạy bằng tiếng Việt, kèm dòng/cột.
  • CLI pqa run, pqa check và pqa web.

struct, import, WebAssembly, HTTP, MQTT và backend mã máy vẫn nằm ngoài phạm vi hiện tại. Xem triết lý thiết kế, đặc tả ngôn ngữ, giáo trình và lộ trình.

Kiểm thử

python -m pytest

Giấy phép

MIT. PQA và Programmable Query Automation là tên của ngôn ngữ trong dự án này; cần kiểm tra nhãn hiệu trước khi phát hành công khai.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft