Làm sao để tạo ra 1 ngôn ngữ lập trình?

Chào cả nhà, cho em hỏi là làm sao để viết 1 ngôn ngữ lập trình, em chưa có hướng gì cả… em nghĩ nó không giống như console commands. Các bác giúp em vs.
+Cấu trúc của nó như thế nào?
+Những kiến thức nào cần biết?
+Làm thế nào để viết 1 compiler hay interpreter?
bla bla
Em có xem qua code của Ruby và Python nhưng toàn #Endif vs #if -> chả hiểu gì :sweat_smile:
Mong có cao nhân giúp đỡ

3 Likes

Chắc định lên kế hoặc lật đổ Nguyễn Anh Khoa 15 tuổi đây mà :laughing:

Đùa thôi, để cao thủ vào :smiley:

3 Likes

nung nấu từ hồi học java rồi :smile: , chứ để thấy người khác làm được mà mình chẳng làm được gì cả :’( .Cũng tủi thân lắm

2 Likes

Hiện tại hình như có mỗi BK là học môn compiler, hỏi mấy anh bên đó xem, :smiley:

2 Likes

a có link fb ko :’( em xin, em ko có ai quen bên BK cả

1 Like

This post was flagged by the community and is temporarily hidden.

3 Likes

hình như bên TutorialsPoint cũng có 1 source về Compiler Designing thì phải :smile:

1 Like

This post was flagged by the community and is temporarily hidden.

1 Like

Nếu biết tiếng Anh thì bạn học các môn học về automata, compiler và programming language là được à, theo thứ tự:
http://online.stanford.edu/course/automata


http://cs.brown.edu/courses/cs173/2012/Videos/

3 Likes

Thử viết cái thông dịch đơn giản trc cho brainphúc xem :stuck_out_tongue:
Khi viết được rồi, cố gắng thêm tính năng cho nó. Như thêm hàm, rồi làm sao cho nhanh hơn, …
Sau khi được rồi thì tiếp tục viết compiler cho nó :>
Biết đâu trong lúc viết lại ngộ ra được điều gì cần học.

4 Likes

Khóa anh khong ai học BK hêt em :D.

2 Likes

Trước có 1 bài như này, xem có thông tin gì hữu ích không ?

1 Like

theo đúng tiêu đề thì tạo ra 1 ngôn ngữ lập trình không bao hàm tạo ra compiler, debugger hay tool gì cả
you just have to define the language
xem qua https://en.wikipedia.org/wiki/Backus–Naur_Form
và ví dụ define python: https://docs.python.org/3/reference/index.html
để hỉu sơ bộ trước :grinning:

4 Likes

Hồi trước bên Code pro có dự án ngôn ngữ lập trình tên P gì đấy, nhưng down server nên mất hết link rồi. Nhưng đại khái thì tác giả mô tả là khá đơn giản :wink:

1 Like

PL sẽ mang tên “Hung++” :smile:

1 Like

Nope, Torrent hoặc là Slide nhé :wink:

2 Likes

=.= quá là bất khả thi luôn

1 Like

Thím hướng làm PL hướng đối tượng hay thông dịch vậy :slight_smile:

1 Like

Mới đọc được bài này, có phần mềm cho phép xây dựng tự động nè :sweat_smile:. https://medium.com/@octskyward/graal-truffle-134d8f28fb69#.4fbjfv29w
Nhưng mà vẫn phải hiểu về lý thuyết ngôn ngữ lập trình mới xài được.

1 Like

Example code:

import win64 as default /*Set environmet*/
import math
import utils as default

var main(): int = {
   var a: int = cos(60) //this function available in math
   print("Hello World")
   print("This is a = $a") //-> This is a = 0,5
   print("This is a = " + math.format.fraction(a).toString()) //-> This is a = 1/2
   return 0
}

cảm ơn @Itachi_Citus nhé

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?