Nhiều trong số các công cụ này làm việc trực tiếp với cây cú pháp trừu tượng (hay đúng hơn là trực quan một-một trực tiếp về nó). Điều đó bao gồm Blockly, mà bạn đã thấy, và các ngôn ngữ và trình soạn thảo dựa trên khối khác giống như nó ( Scratch , Pencil Code / Dropplet , Snap ! , GP , Tiled Grace , v.v.).
Các hệ thống đó không hiển thị biểu diễn đồ thị đỉnh và cạnh truyền thống, vì các lý do được giải thích ở nơi khác (không gian và độ khó tương tác), nhưng chúng đại diện trực tiếp cho một cây. Một nút, hoặc khối, là con của một nút khác nếu nó trực tiếp, vật lý bên trong cha mẹ.
Tôi đã xây dựng một trong những hệ thống này ( Tiled Grace , giấy , giấy ). Tôi có thể đảm bảo với bạn, nó hoạt động rất nhiều với AST trực tiếp: những gì bạn nhìn thấy trên màn hình là một đại diện chính xác của cây cú pháp, như các phần tử DOM lồng nhau (vì vậy, một cây!).
Đây là AST của một số mã. Root là một nút gọi phương thức "for ... do". Nút đó có một số con, bắt đầu bằng "_ .. _", bản thân nó có hai con, nút "1" và nút "10". Những gì xuất hiện trên màn hình chính xác là những gì trình biên dịch phụ trợ trình bày ở giữa quá trình - về cơ bản là cách hệ thống hoạt động.
Nếu bạn thích, bạn có thể nghĩ về nó như một bố cục cây tiêu chuẩn với các cạnh hướng ra khỏi màn hình về phía bạn (và bị chặn bởi khối phía trước chúng), nhưng lồng nhau là một cách hợp lệ để hiển thị một cây như một đỉnh sơ đồ.
Nó cũng sẽ "thực hiện chuyến đi khứ hồi từ nguồn tới đồ thị nút và sau đó quay lại nguồn khi cần". Trên thực tế, bạn có thể thấy điều đó xảy ra khi bạn nhấp vào "Chế độ xem mã" ở phía dưới. Nếu bạn sửa đổi văn bản, nó sẽ được phân tích lại và cây kết quả được hiển thị để bạn chỉnh sửa lại và nếu bạn sửa đổi các khối, điều tương tự cũng xảy ra với nguồn.
Pencil Code về cơ bản cũng giống như vậy, tại thời điểm này, một giao diện tốt hơn . Các khối mà nó sử dụng là chế độ xem đồ họa của CoffeeScript AST. Các hệ thống dựa trên khối hoặc gạch khác cũng vậy, mặc dù một số trong số chúng không làm cho khía cạnh lồng nhau rõ ràng trong biểu diễn trực quan và nhiều người không có ngôn ngữ văn bản thực sự đằng sau chúng nên " cây cú pháp "có thể là một chút ảo tưởng, nhưng nguyên tắc là có.
Sau đó, điều bạn đang thiếu là các hệ thống này thực sự đang hoạt động trực tiếp với cây cú pháp trừu tượng. Những gì bạn nhìn thấy và thao tác là một kết xuất cây hiệu quả trong không gian, trong nhiều trường hợp theo nghĩa đen là AST, trình biên dịch hoặc trình phân tích cú pháp tạo ra.