the-super-tiny-compiler
Next.js
the-super-tiny-compiler | Next.js | |
---|---|---|
19 | 2,045 | |
27,396 | 120,572 | |
- | 0.8% | |
0.0 | 10.0 | |
2 months ago | 6 days ago | |
JavaScript | JavaScript | |
Creative Commons Attribution 4.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
the-super-tiny-compiler
-
ESLint: under the hood
Now, those concepts are a whole entire world to explore, and this is out of the scope of this article. I suggest the reading of the Chapters 4, 5 and 6 of the book Crafting Interpreters by Robert Nystrom for a wider (but still practical) understanding of those subjects. Another practical great resource to look at is The SuperTiny Compiler. To explore them from a theorical point of view, you can find A LOT of resources from books or courses online.
-
Abstract Syntax Trees and Practical Applications in JavaScript
The super tiny compiler by Jamie
-
GCC uses GCC to compile itself
I am currently writing a much more intricate version of the Super Tiny Compiler (https://github.com/jamiebuilds/the-super-tiny-compiler) in Rust, only I plan on handling many basic operations, essentially a compiler for a MUCH simpler version of Go. Great project idea btw, for anyone who wants to explore compilers. But in doing so, have really found a new respect for just what is going on when you gcc -o garbageprogram mytrashcode.c
-
how would you make a programming language if you were a complete beginner?
Here, at least take this floatie: https://github.com/jamiebuilds/the-super-tiny-compiler
-
Any good resources for reading code?
Outside of this, I recently learned about The Super Tiny Compiler which was a project written to be read. Mind you, it has a vast amount of comments, which may be more of a leg-up than you're asking for.
-
Ask HN: Guidance on writing a source to source compiler (transpiler)
You could start here:
https://github.com/jamiebuilds/the-super-tiny-compiler
That converts from lisp-like to javascript. Really though this is a big field, and there are lots of resources out there.
To get started look at your input language; you'll need to lex and parse that. Then massage the parsed structure into the appropriate output.
You can see me convert brainfuck to C, or x86 assembly language here:
https://github.com/skx/bfcc
- The Super Tiny Compiler
Next.js
-
Is purging still the hardest problem in computer science?
Web frameworks like Next.js will usually include this feature, but do check that they set the caching headers correctly!
-
Vite vs Nextjs: Which one is right for you?
Vite and Next.js are both top 5 modern development framework right now. They are both great depending on your use case so we’ll discuss 4 areas: Architecture, main features, developer experience and production readiness. After learning about these we’ll have a better idea of which one is best for your project.
-
A brief history of web development. And why your framework doesn't matter
> It’s important to be aware of what you are getting if you go with React, and what you are getting is a far cry from what a framework would offer, with all the corresponding pros and cons.
Would you like to elaborate on that?
In my experience, with something as great, size/ecosystem-wise as React, there will almost always be at least one "mainstream" package for whatever you might want to do with it, that integrates pretty well. Where a lot of things might come out of the box with a framework, with a library I often find myself just needing to install the "right" package, and from there it's pretty much the same.
For example, using https://angular.io/guide/i18n-overview or installing and using https://react.i18next.com/
Or something like https://angular.io/guide/form-validation out of the box, vs installing and using https://formik.org/
Or perhaps https://angular.io/guide/router vs https://reactrouter.com/en/main
Even adding something that's not there out of the box is pretty much the same, like https://primeng.org/ or https://primereact.org/
React will typically have more fragmentation and therefore also choice, but I don't see those two experiences as that different. Updates and version management/supply chain will inevitably be more of a mess with the library, admittedly.
Now, projects like Next https://nextjs.org/ exist and add what some might regard as the missing pieces and work well if you want something opinionated and with lots of features out of the box, but a lot of those features (like SSR) are actually pretty advanced and not always even necessary.
-
System & Database Design (Day 1) - Creating a SaaS Startup in 30 Days
Next.js: For the website and the admin dashboard
-
Runtime environmental variables in Next.js 14
Until the time of writing, there is no official example of how to enable runtime environmental variables in a Dockerized Next.js app, as utilizing unstable_noStore would only dynamically evaluate variables on the server (node.js runtime). There is also an interesting discussion regarding this topic on GitHub.
-
@matstack/remix-adonisjs VS Next.js - a user suggested alternative
2 projects | 24 Apr 2024
next.js is a very popular React framework. remix-adonisjs includes more functionality through the AdonisJS backend ecosystem, and should be easier to self-host and self-manage.
-
Meet Cheryl Murphy: Full-Stack Developer, lifelong learner, and volunteer Project Team Lead at Web Dev Path
Cheryl Murphy is not only a dedicated full-stack web developer skilled in technologies like React, Next.js, and NestJs but also a community-driven professional who recently took on the role of volunteer project team lead at Web Dev Path. With a dual Bachelor's degree in Computing and Chemical Engineering from Monash University, Cheryl’s journey in tech is marked by a passion for building accessible solutions and a commitment to fostering community within tech.
-
Ensuring Type Safety in Next.js Routing
For more information, check out this issue.
-
Styling Your Site with Next.js and MUI: Creating a Dynamic Theme Switcher
Remember to start the Next.js server with pnpm dev.
- Mastering Next.js 13/14 - Advanced Techniques
What are some alternatives?
write-a-C-interpreter - Write a simple interpreter of C. Inspired by c4 and largely based on it.
vite - Next generation frontend tooling. It's fast!
es6-cheatsheet - ES2015 [ES6] cheatsheet containing tips, tricks, best practices and code snippets
Express - Fast, unopinionated, minimalist web framework for node.
minipack - 📦 A simplified example of a modern module bundler written in JavaScript
SvelteKit - web development, streamlined
flowy - The minimal javascript library to create flowcharts ✨
MERN - ⛔️ DEPRECATED - Boilerplate for getting started with MERN stack
fslightbox - An easy to use vanilla JavaScript plug-in without production dependencies for displaying images, videos, or, through custom sources, anything you want in a clean overlying box.
Angular - Deliver web apps with confidence 🚀
raspberry-pi-os - Learning operating system development using Linux kernel and Raspberry Pi
fastify - Fast and low overhead web framework, for Node.js