Repository này được dùng để nghiên cứu CIL (Common Intermediate Language) của .NET và mong muốn tạo một compiler frontend để biên dịch thành các assembly cho dotnet chạy và nạp vào chương trình khác.
NEN/NENTest/Example sources/AssemblerTest.nen
Lines 2 to 161 in 43b274d
| sử_dụng System; | |
| lớp Chương_Trình | |
| @Chính @Tĩnh | |
| phương_thức Chính() -> Void | |
| Phụ::Test("Foo"); | |
| Phụ::Kiểm_Tra_Khởi_Tạo_Đối_Tượng(); | |
| Phụ::Kiểm_Tra_Gọi_Hàm(); | |
| Phụ::Kiểm_Tra_Kiểu_Luận_Lý(); | |
| Phụ::Kiểm_Tra_Nếu(); | |
| kết_thúc | |
| kết_thúc | |
| lớp Phụ | |
| @Tĩnh @Công_Khai | |
| phương_thức Test(a thuộc String) -> Void | |
| Console::WriteLine("{0} Bar!", a); | |
| biến bro thuộc String gán "mọi người"; | |
| biến str2 thuộc String gán "OK"; | |
| biến int32 thuộc Int32 gán 3; | |
| biến int64 thuộc Int64 gán 5L; | |
| biến b thuộc Int32 gán 1 * 3 * (10 + 3) * 4 / 5; | |
| biến c thuộc Int64 gán 2L *32L / 4L; | |
| biến d thuộc Int64 gán c * (25L + 62L); | |
| c gán 10L; | |
| biến mảng1 thuộc String[] gán tạo String[3] { "mảng", "của", "mảng" }; | |
| biến mảng2 thuộc Int32[] gán tạo Int32[] { 0, b, 2, 3, 4 }; | |
| biến mảng_của_mảng thuộc String[][] gán tạo String[][] { | |
| tạo String[] { "Đây", "là" }, | |
| mảng1 | |
| }; | |
| Console::WriteLine(mảng1[0]); | |
| mảng1[0] gán "array"; | |
| Console::WriteLine(mảng1[0]); | |
| Console::WriteLine(bro); | |
| Console::WriteLine(c); | |
| biến là_sai thuộc Boolean gán str2.Contains("H"); | |
| biến là_đúng thuộc Boolean gán str2.Contains("K"); | |
| System::Console::WriteLine(là_đúng); | |
| Console::WriteLine("Hellu {0}", "everyone"); | |
| Console::WriteLine("Yo chào {0}", bro); | |
| Console::WriteLine(d); | |
| Console::WriteLine("1 + 1 = {0}", 1 + 1); | |
| kết_thúc | |
| @Tĩnh @Công_Khai | |
| phương_thức Kiểm_Tra_Khởi_Tạo_Đối_Tượng() -> Void | |
| biến người thuộc Người gán tạo Người { | |
| Tên gán "Nguyễn Văn A", | |
| Tuổi gán 25 | |
| }; | |
| người.Tên gán "Nguyễn Thị B"; | |
| người.Tuổi gán 63; | |
| Người::Số_Người gán 1; | |
| Console::WriteLine(người.Tên); | |
| người.Chào(); | |
| người.Chào(".NET 9"); | |
| biến mảng_người thuộc Người[] gán tạo Người[] { | |
| tạo Người { | |
| Tên gán "A", | |
| }, | |
| tạo Người { | |
| Tuổi gán 0, | |
| }, | |
| tạo Người { | |
| Tên gán "C", | |
| Tuổi gán 34 | |
| } | |
| }; | |
| Console::WriteLine(mảng_người[0].Tên); | |
| kết_thúc | |
| @Tĩnh @Công_Khai | |
| phương_thức Cộng(a thuộc Int32, b thuộc Int32) -> Int32 | |
| trả_về a + b; | |
| kết_thúc | |
| @Tĩnh @Công_Khai | |
| phương_thức Kiểm_Tra_Gọi_Hàm() -> Void | |
| biến m thuộc String[] gán tạo String[] { "Đây", "là", "một", "test" }; | |
| Console::WriteLine(String::Join(" ", m)); | |
| Console::WriteLine("5 + 10 = {0}", Phụ::Cộng(5, 10)); | |
| kết_thúc | |
| @Tĩnh @Công_Khai | |
| phương_thức Kiểm_Tra_Kiểu_Luận_Lý() -> Void | |
| biến a thuộc Int32 gán 12; | |
| biến là_đúng thuộc Boolean gán đúng; | |
| biến là_sai thuộc Boolean gán sai; | |
| biến là_đúng_hay_sai thuộc Boolean gán 5 = 1 hoặc a = 12; | |
| Console::WriteLine(là_đúng); | |
| Console::WriteLine(là_sai); | |
| Console::WriteLine(là_đúng_hay_sai); | |
| Console::WriteLine(a = 4 hoặc 5 >= 3 + 1); | |
| kết_thúc | |
| @Tĩnh @Công_Khai | |
| phương_thức Kiểm_Tra_Nếu() -> Void | |
| nếu 1 + 1 = 2 thì | |
| Console::WriteLine("1 + 1 = 2"); | |
| không_thì | |
| Console::WriteLine("Ủa sao vậy"); | |
| kết_thúc; | |
| nếu đúng thì | |
| Console::WriteLine("OK"); | |
| kết_thúc; | |
| nếu sai thì | |
| không_thì nếu đúng thì | |
| nếu đúng thì | |
| Console::WriteLine(đúng); | |
| kết_thúc; | |
| nếu đúng thì | |
| Console::WriteLine(đúng); | |
| nếu đúng thì | |
| Console::WriteLine(đúng); | |
| kết_thúc; | |
| kết_thúc; | |
| nếu đúng thì | |
| Console::WriteLine(đúng); | |
| kết_thúc; | |
| kết_thúc; | |
| kết_thúc | |
| kết_thúc | |
| lớp Người | |
| @Công_Khai | |
| phương_thức Chào() -> Void | |
| Console::WriteLine("Chào bạn, tôi là {0}", Tên); | |
| Console::WriteLine("Tôi có một thuộc tính giấu! Giá trị của nó là {0}", giấu); | |
| Test1(); | |
| Test2(); | |
| kết_thúc | |
| @Công_Khai | |
| phương_thức Chào(tên thuộc String) -> Void | |
| Console::WriteLine("Chào bạn {0}!", tên); | |
| kết_thúc | |
| @Tĩnh @Công_Khai thuộc_tính Số_Người thuộc Int32 gán 10; | |
| @Công_Khai thuộc_tính Tên thuộc String; | |
| @Công_Khai thuộc_tính Tuổi thuộc Int32; | |
| thuộc_tính giấu thuộc Int32 gán 15; | |
| phương_thức Test1() -> Void | |
| Console::WriteLine("Test1"); | |
| kết_thúc | |
| @Tĩnh | |
| phương_thức Test2() -> Void | |
| Console::WriteLine("Test2"); | |
| kết_thúc | |
| kết_thúc |