Đại khái, chương trình có một hộp console, một hộp nhập mã lệnh và một thanh trình đơn. Trên thanh trình đơn, chúng ta sẽ chỉ bàn tới 3 mục:
• Thi hành • Dừng
• Tạm ngưng ở cuối chương trình Lệnh Thi hành được viết như sau:
Syntax: [ Download ] [ Hide ] [ Select ] [ Expand ]
Using csharp Syntax Highlighting
private void mnuPRun_Click(object sender, EventArgs e) {
if (txtProgram.TextLength != 0) {
txtProgram.Visible = false; //ẩn hộp mã lệnh
txtConsole.Visible = true; //hiện hộp console
txtConsole.Clear();
mnuPStop.Enabled = true;
mnuEdit.Enabled = false;
mInterpreter.Run(txtProgram.Text);
if (mnuPPause.Checked)
txtConsole.ReadLine();
txtProgram.Visible = true; //hiện hộp mã lệnh
txtConsole.Visible = false; //ẩn hộp console
mnuPStop.Enabled = false;
mnuEdit.Enabled = true;
} }
Parsed in 0.011 seconds, using GeSHi 1.0.8.4
Lệnh Dừng rất gọn:
Syntax: [ Download ] [ Hide ]
Using csharp Syntax Highlighting
private void mnuPStop_Click(object sender, EventArgs e) {
mInterpreter.NoError = false;
}
Parsed in 0.007 seconds, using GeSHi 1.0.8.4
Mục Tạm ngưng cuối chương trình là một tùy chọn.
Syntax: [ Download ] [ Hide ]
Using csharp Syntax Highlighting
private void mnuPPause_Click(object sender, EventArgs e) {
mnuPPause.Checked = !mnuPPause.Checked;
}
Parsed in 0.008 seconds, using GeSHi 1.0.8.4
Khi khởi động, nhớ làm vài việc:
Syntax: [ Download ] [ Hide ] [ Select ] [ Expand ]
Using csharp Syntax Highlighting
private Interpreter mInterpreter;
private void frmMain_Load(object sender, EventArgs e) {
this.mInterpreter = new Interpreter(txtConsole.ReadLine, txtConsole.Write, txtConsole.Write);
txtProgram.Visible = true;
txtConsole.Visible = false;
mnuPStop.Enabled = false;
}
Parsed in 0.008 seconds, using GeSHi 1.0.8.4
Về các thành phần khác, xin xem mã nguồn đính kèm.
8. Kết luận
Chương trình thông dịch biểu thức phiên bản 3.0 Liên Hoa đã ra đời như thế!
Tuy chương trình không cầu kỳ như một trình thông dịch thực sự, ngôn ngữ Sen Trắng cũng không phức tạp như Python, nhưng so với hai phiên bản đầu thì đây cũng là một tiến bộ lớn. Thêm nữa, qua phiên bản này, chúng ta đã được làm quen với các kỹ thuật căn bản của một chương trình dịch. Nhờ vào đó, ta phần nào hiểu được cách thức hoạt động của quá trình dịch một tập mã nguồn sang mã máy, cũng như cách cấu tạo nên một ngôn ngữ.
Bài hướng dẫn tới đây là kết thúc. Song tôi hy vọng rằng bạn sẽ không bao giờ dừng bước trong hành trình tìm hiểu những điều lý thú trong cõi lập trình. Cảm ơn bạn đã theo dõi loạt bài dài dòng và ngô nghê này.
Tham khảo
anhtuyenbk – Sử dụng Delegate trong VB.NET và C#: viewtopic.php?f=23&t=2482&p=39537
Định nghĩa bội toán tử:
http://en.wikipedia.org/wiki/Operator_overloading
TẬP TIN ĐÍNH KÈM
Biểu Thức 3.0 - Liên Hoa
(97.72 KiB) Đã tải về 120 lần
Sửa lần cuối bởi alexanderdna vào ngày Thứ 4 12/01/2011 8:56 am với 1 lần sửa trong tổng số. Bổn quốc tự kim cổ,
Việt tộc dựng cơ đồ.
Bắc phương sao cuồng vọng? Sẽ thấy tự chuốc khổ!
alexanderdna
Guru
Bài viết: 193
Ngày tham gia: Thứ 3 14/07/2009 11:13 am
Đến từ: Sài Gòn Đã cảm ơn:1 lần Được cảm ơn:6 lần Đ ầ u t r a n g
Re: Viết chương trình thông dịch biểu thức
gửi bởi kedatinh233 » Thứ 3 11/01/2011 9:16 pm
sao mấy file đính kèm không download được vậy?
kedatinh233
Thành viên chính thức
Bài viết: 21
Ngày tham gia: Thứ 3 23/12/2008 9:26 am
Đã cảm ơn: 0 lần Được cảm ơn: 0 lần Đ ầ u t r a n g
Re: Viết chương trình thông dịch biểu thức
gửi bởi alexanderdna » Thứ 4 12/01/2011 8:57 am @kedatinh233: đã cập nhật tập tin mới.
Bổn quốc tự kim cổ, Việt tộc dựng cơ đồ.
Bắc phương sao cuồng vọng? Sẽ thấy tự chuốc khổ!
alexanderdna
Guru
Bài viết: 193
Ngày tham gia: Thứ 3 14/07/2009 11:13 am
Đến từ: Sài Gòn Đã cảm ơn:1 lần Được cảm ơn:6 lần Đ ầ u t r a n g
Re: Viết chương trình thông dịch biểu thức
gửi bởi ltdhung » Chủ nhật 30/01/2011 12:52 am
Cám ơn bạn rất nhiều. Bài viết rất hay và bổ ích.
ltdhung
Bài viết: 1
Ngày tham gia: Chủ nhật 30/01/2011 12:48 am
Đã cảm ơn: 0 lần Được cảm ơn: 0 lần Đ ầ u t r a n g
Hiển thị những bài viết cách đây: Sắp xếp theo
Gửi bài trả lời
6 bài viết • Bạn đang xem trang 1 / 1 trang Quay về [.NET] Bài viết hướng dẫn
Chuyển đến:
T?t c? bài vi?t Ngày g?i Tăng d?n
Chuy?n
AI ĐANG TRỰC TUYẾN?
Đang xem chuyên mục này: Không có thành viên nào đang trực tuyến và 1 khách • Trang chủ
• Ban điều hành • Xoá cookie của website • Thời gian được tính theo giờ UTC + 6 Giờ [ Giờ DST ]
Copyright © 2005 - 2010 by Visual Basic Club
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group Vietnamese language pack for phpBB 3.0.x download and support.