-
When you first start learning a programming language, how to do it, write a compiler, and learn the low-level programming methods is a very effective way to learn how computers work. Compilers are often seen as complex projects. In fact, writing a production compiler is a huge task.
But writing a small, usable compiler is not so difficult.
The secret is to first introduce the introductory programming tutorial, find the smallest possible project, and then add the features you want. This approach also means "a shortcut to a compiler construct," says Abdulaziz Ghuloum, as he mentioned in his famous article. But this method does work.
Just follow the first step in this article to get a really usable compiler. Of course, it can only be compiled by a very small subset of programming languages, but it is indeed a real compiler available. You are free to extend this compiler and then learn more and learn more.
In some sense, this is more difficult than writing a compiler for a scheme (because you have to parse C's complex syntax), but in some ways it's convenient (you don't have to deal with runtime types). To write such a compiler, one only needs to start with the smallest compiler available. No variables, no function calls, no extra dependencies, not even if statements, no loop statements, everything looks as simple as that.
After taking the first step in the introductory programming tutorial, it's up to you how to do it next. You can do everything as you are instructed in the article and make a more complex compiler. You need to write a more elaborate syntax tree to generate the assembly**.
The next steps are: (1) allow any value to be returned (e.g., return3; Some executable**); (2) Add support for "non" (e.g., return 1; Some executable**); Each additional feature can teach you more about the C language, how the compiler actually executes, and how other compilers around the world think.
Here's how to build babyc. babyc now has if statements, loops, variables, and the most basic data structure.
-
I think it's first of all interest, it's better to know how to build executable software, and then get something to send to my classmates, and that's how I came here.
-
Calm down. Study hard.
Read more books and read programs.
Multi-machine debugging.
Which language should beginners start with?
First of all, do not rush to deny yourself, no one is born a genius. >>>More
Hello landlord. It's not that beginners should learn that language first, it should be that you want to learn that kind of ok, I also just learned C not long ago, I just started learning C++ but according to my current work needs, I changed to learn C (C evolved) I have now also studied C for 2 months, I feel okay, since it is a language, there must be similar knowledge points between various languages, as far as I learn C++ and C are concerned, there are a lot of similarities, so learning that language is not considered to be the basis for learning another. >>>More
With the advancement of technology, our daily life and social environment have become more and more convenient and rich, and smartphones and the Internet have become an indispensable part of our lives. >>>More
First of all, beginners, no foundation is not terrible, because everyone comes from 0 foundation, there is nothing to be afraid of, as long as you pay more than others and study more, then you will accumulate more than others. >>>More