30/09/2018, 22:03

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ì
Mong có cao nhân giúp đỡ

Người bí ẩn viết 00:17 ngày 01/10/2018

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

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

Quốc Hùng viết 00:19 ngày 01/10/2018

nung nấu từ hồi học java rồi , 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

Nguyen Ca viết 00:16 ngày 01/10/2018

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,

Quốc Hùng viết 00:12 ngày 01/10/2018

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

Tao Không Ngu. viết 00:08 ngày 01/10/2018

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

Quốc Hùng viết 00:10 ngày 01/10/2018

Còn 1 cái tút khác học lậu rồi không tìm được link!

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

Tao Không Ngu. viết 00:16 ngày 01/10/2018

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

Itachi Citus viết 00:04 ngày 01/10/2018

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

lagunita.stanford.edu

Compilers

This course discusses ideas in the implementation of compilers. Learn how a program for humans is translated into a program more suited to machines!


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

*grab popcorn* viết 00:13 ngày 01/10/2018

Thử viết cái thông dịch đơn giản trc cho brainphúc xem
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.

Nguyen Ca viết 00:14 ngày 01/10/2018

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

abcxyz viết 00:18 ngày 01/10/2018

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

Xem video ở trên thì đó là mã nhị phân

Chế Tiệp Chân Khoa viết 00:19 ngày 01/10/2018

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

GodOfGod viết 00:19 ngày 01/10/2018

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

Nguyễn Anh Khoa viết 00:04 ngày 01/10/2018

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

Quốc Hùng viết 00:12 ngày 01/10/2018

Nope, Torrent hoặc là Slide nhé

Tran Van Nam viết 00:12 ngày 01/10/2018

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

Nguyễn Anh Khoa viết 00:14 ngày 01/10/2018

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

Itachi Citus viết 00:13 ngày 01/10/2018

Mới đọc được bài này, có phần mềm cho phép xây dựng tự động nè . 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.

Quốc Hùng viết 00:06 ngày 01/10/2018

I want to make a modern language, it’s the combination of functional oriented and object-oriented for the best productivity. But i don’t want to make it as interpreter because some reasons. It give you free in code, bug-less, more maintainable and readable.

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é

Nguyễn Anh Khoa viết 00:04 ngày 01/10/2018

Oh I see

Bài liên quan
0