the-super-tiny-compiler
Next.js
the-super-tiny-compiler | Next.js | |
---|---|---|
19 | 2,061 | |
27,473 | 121,256 | |
- | 1.3% | |
0.0 | 10.0 | |
3 months ago | 5 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
-
Essential Tools & Technologies for New Developers
Next.js is a powerful React framework that enables developers to build server-rendered applications, static websites, and more. It's designed for production and provides features like automatic code splitting and optimized prefetching.
-
Tips from open-source: Set a maximum time limit on fetch using Promise.race()
// source: https://github.com/vercel/next.js/blob/canary/packages/next/src/lib/worker.ts#L121C15-L129C16 for (;;) { onActivity() const result = await Promise.race(\[ (this.\_worker as any)\[method\](...args), restartPromise, \]) if (result !== RESTARTED) return result if (onRestart) onRestart(method, args, ++attempts) }
-
Deploying organization repo to Vercel with a hobby plan
https://github.com/vercel/next.js/discussions/27666 One of them said 'renaming folder to uppercase' might cause trouble. git might not recognize case-sensetive changes by default.
-
How to Build Your Own ChatGPT Clone Using React & AWS Bedrock
Next.js has long cemented itself as one of the front runners in the web framework world for JavaScript/TypeScript projects so we’re going to be using that. More specifically we’re going to be using V14 of Next.js which allows us to use some exciting new features like Server Actions and the App Router.
-
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.
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