101010.pl is one of the many independent Mastodon servers you can use to participate in the fediverse.
101010.pl czyli najstarszy polski serwer Mastodon. Posiadamy wpisy do 2048 znaków.

Server stats:

482
active users

#compiler

3 posts2 participants0 posts today
cryptax<p>This article, on how to reverse Rust, and how some Rust concepts translate into its assembly is really a good read:</p><p><a href="https://research.checkpoint.com/2023/rust-binary-analysis-feature-by-feature/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">research.checkpoint.com/2023/r</span><span class="invisible">ust-binary-analysis-feature-by-feature/</span></a></p><p><a href="https://mastodon.social/tags/rust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rust</span></a> <a href="https://mastodon.social/tags/compiler" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>compiler</span></a> <a href="https://mastodon.social/tags/IDA" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>IDA</span></a> <a href="https://mastodon.social/tags/reverse" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>reverse</span></a></p>
cryptax<p>Today, I discovered that Rust does monomorphization... and what monomorphization is!</p><p><a href="https://rustc-dev-guide.rust-lang.org/backend/monomorph.html" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">rustc-dev-guide.rust-lang.org/</span><span class="invisible">backend/monomorph.html</span></a></p><p>Basically, it's mostly important (I think) if you are reversing Rust or need to understand what the compiler does. <br>The idea is that with monomorphization, code which is apparently generic is actually compiled in a specialized manner for your code. Like you use "map", well, you'll get your own map with your own specificities.</p><p><a href="https://mastodon.social/tags/rust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rust</span></a> <a href="https://mastodon.social/tags/assembly" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>assembly</span></a> <a href="https://mastodon.social/tags/compiler" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>compiler</span></a></p>
Abhinav 🌏<p>I want to read a <a href="https://fantastic.earth/tags/compiler" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>compiler</span></a> book written in the last 15 years that covers same topics as the Modern Compiler Implementation book by Appel, but uses recent terminology, tools and techniques. Any recommendations? <a href="https://fantastic.earth/tags/compilers" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>compilers</span></a> <a href="https://fantastic.earth/tags/programminglanguages" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programminglanguages</span></a></p><p>EDIT: It seems like no such book exists. I guess I’ll have to read docs, blogs and papers along with old books to put things together myself.</p>
Brian Swetland<p>Committing the softrisc32 ISA to github so the "AI"s can start learning how to generate code for my new architecture while I finish the toolchain. That's how this works now, right?</p><p>Okay, actually so folks can follow along with my silly hobby project if they like.</p><p><a href="https://github.com/swetland/softrisc32" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">github.com/swetland/softrisc32</span><span class="invisible"></span></a></p><p><a href="https://chaos.social/tags/projects" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>projects</span></a> <a href="https://chaos.social/tags/compiler" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>compiler</span></a></p>
☮ ♥ ♬ 🧑‍💻<p>“Hedge funds will go to great lengths in pursuit of <a href="https://ioc.exchange/tags/profits" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>profits</span></a>, whether it is by counting cars in satellite photos of parking lots or shipping gold across the Atlantic. Building a <a href="https://ioc.exchange/tags/compiler" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>compiler</span></a>—a piece of <a href="https://ioc.exchange/tags/software" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>software</span></a> that turns human-written code into programs a computer can execute—for your homegrown language? That still raises eyebrows.</p><p><a href="https://ioc.exchange/tags/JaneStreet" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>JaneStreet</span></a> is the quant shops’ quant shop, and it does just that, with great success. Last year its trading revenue almost doubled, to $21bn, putting it on a par with giants such as <a href="https://ioc.exchange/tags/Citigroup" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Citigroup</span></a> and <a href="https://ioc.exchange/tags/MorganStanley" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>MorganStanley</span></a>. And the goose that lays the golden egg is its <a href="https://ioc.exchange/tags/tech" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>tech</span></a> system.</p><p>But it is what this system is built from that is really unusual. Other firms employ a hotchpotch of <a href="https://ioc.exchange/tags/ProgrammingLanguages" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ProgrammingLanguages</span></a>, allowing staff to choose the right one for the job. At Jane Street almost everyone works in an obscure tongue developed by French academics: <a href="https://ioc.exchange/tags/OCaml" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OCaml</span></a>. </p><p>Ask a <a href="https://ioc.exchange/tags/trader" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>trader</span></a> at the firm for its benefits and they will reel off a string of features, such as its support for <a href="https://ioc.exchange/tags/StaticTyping" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>StaticTyping</span></a> and <a href="https://ioc.exchange/tags/FunctionalProgramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>FunctionalProgramming</span></a>, that make it hard to learn but powerful when applied to a problem. The company says the language helps “maximise the <a href="https://ioc.exchange/tags/productivity" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>productivity</span></a> of each person we hire”.”</p><p><a href="https://ioc.exchange/tags/HedgeFunds" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>HedgeFunds</span></a> / <a href="https://ioc.exchange/tags/finance" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>finance</span></a> &lt;<a href="https://www.economist.com/finance-and-economics/2025/06/26/jane-streets-sneaky-retention-tactic" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">economist.com/finance-and-econ</span><span class="invisible">omics/2025/06/26/jane-streets-sneaky-retention-tactic</span></a>&gt; (paywall) / &lt;<a href="https://archive.md/DQ0ku" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">archive.md/DQ0ku</span><span class="invisible"></span></a>&gt;</p>
Bread80<p>Sub-ranges feel like quite an obscure feature of a language. But in Pascal they're an essential part of arrays<br>array ['a'..'z'] of Integer<br>So I'm filling out their implementation before I continue with arrays. The next step is the assignment validation when range checking is on.</p><p><a href="https://mstdn.social/tags/quiche" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>quiche</span></a> <a href="https://mstdn.social/tags/quichelang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>quichelang</span></a> <a href="https://mstdn.social/tags/pascal" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>pascal</span></a> <a href="https://mstdn.social/tags/compiler" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>compiler</span></a> <a href="https://mstdn.social/tags/z80" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>z80</span></a> <a href="https://mstdn.social/tags/delphi" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>delphi</span></a></p>
Dylan Language<p>A new release of the Open Dylan compiler, IDE, and tools is now available for download! It has been a while since we've done a release and this release includes various bug fixes for the compiler, a new multi-line string literal syntax, the Dylan LSP server for emacs and VS Code, and enhancements to Deft, the Open Dylan command-line tool.</p><p>See the 2025.1 Release Notes for an overview of what's in this release: <a href="https://opendylan.org/release-notes/2025.1.html" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">opendylan.org/release-notes/20</span><span class="invisible">25.1.html</span></a></p><p><a href="https://opendylan.org" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">opendylan.org</span><span class="invisible"></span></a></p><p><a href="https://fosstodon.org/tags/DylanLang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DylanLang</span></a> <a href="https://fosstodon.org/tags/lsp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>lsp</span></a> <a href="https://fosstodon.org/tags/compiler" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>compiler</span></a></p>
Dr. Brian Callahan<p>I am building gcc-15.1.0 on my iMac G4 (Tiger) machine. It is on stage2, which is a good sign.</p><p>It will include C, C++, Fortran, Modula-2, Objective C, and Objective C++ compilers.</p><p>It will depend on my new PowerPC Mac OS X modernization library, libpcc: <a href="https://github.com/ibara/libppc" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="">github.com/ibara/libppc</span><span class="invisible"></span></a></p><p>I'll write a blog post about how to use it once it is all compiled; my goal is to produce a turnkey solution that just works(TM), including assembler, linker, and other utilities, as recent as possible for PowerPC.</p><p>And libppc can be instantly extendable to incorporate more C11 and later features. Hopefully others in the retro Mac community are interested in building that up with me.</p><p>My ultimate goal is to build some flavor of WebKit some day and have a modern web experience (even if slow, and possibly using X11). But in the meantime we will probably build a lot of excellent modern software to keep these machines going.</p><p><a href="https://bsd.network/tags/gcc" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>gcc</span></a> <a href="https://bsd.network/tags/compiler" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>compiler</span></a> <a href="https://bsd.network/tags/compilers" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>compilers</span></a> <a href="https://bsd.network/tags/c" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>c</span></a> <a href="https://bsd.network/tags/unix" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>unix</span></a> <a href="https://bsd.network/tags/linux" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>linux</span></a> <a href="https://bsd.network/tags/macos" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>macos</span></a> <a href="https://bsd.network/tags/macosx" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>macosx</span></a> <a href="https://bsd.network/tags/osx" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>osx</span></a> <a href="https://bsd.network/tags/apple" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>apple</span></a> <a href="https://bsd.network/tags/powerpc" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>powerpc</span></a> <a href="https://bsd.network/tags/retro" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>retro</span></a> <a href="https://bsd.network/tags/retrocomputing" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>retrocomputing</span></a> <a href="https://bsd.network/tags/bsd" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>bsd</span></a> <a href="https://bsd.network/tags/mac" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>mac</span></a> <a href="https://bsd.network/tags/macintosh" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>macintosh</span></a></p>
Vala<p>GSoC update! <span class="h-card" translate="no"><a href="https://mastodon.social/@AlleyCH" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>AlleyCH</span></a></span> is diving into the Vala compiler to bring native JSON (de)serialization support.</p><p>She has been exploring the full compilation pipeline and is working on a new valajsonmodule.vala. Adding native support will make it much easier for Vala developers to work with structured data out of the box—less boilerplate, better developer experience. ✨</p><p>Read the full blog post:<br><a href="https://alleych.github.io/gnome/compiler-knowledge/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">alleych.github.io/gnome/compil</span><span class="invisible">er-knowledge/</span></a></p><p><a href="https://mastodon.social/tags/vala" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>vala</span></a> <a href="https://mastodon.social/tags/compiler" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>compiler</span></a></p>
Bread80<p>Before I got sidetracked into the type system I was working to get the command line compiler fully up and running.</p><p>The sticking point was command line arguments. I tried using <a href="https://mstdn.social/tags/FreePascal" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>FreePascal</span></a>'s built in parser but it didn't have the flexibility I needed. I've now written something which does and I can now set the platform and deployment options.</p><p><a href="https://mstdn.social/tags/quiche" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>quiche</span></a> <a href="https://mstdn.social/tags/quichelang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>quichelang</span></a> <a href="https://mstdn.social/tags/compiler" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>compiler</span></a> <a href="https://mstdn.social/tags/pascal" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>pascal</span></a> <a href="https://mstdn.social/tags/z80" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>z80</span></a></p><p>1/n</p>
Jan :rust: :ferris:<p>Dylint - Run <a href="https://floss.social/tags/Rust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Rust</span></a> lints from dynamic libraries:</p><p><a href="https://github.com/trailofbits/dylint" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">github.com/trailofbits/dylint</span><span class="invisible"></span></a></p><p>"Dylint is a Rust linting tool, similar to Clippy. But whereas <a href="https://floss.social/tags/Clippy" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Clippy</span></a> runs a predetermined, static set of lints, Dylint runs <a href="https://floss.social/tags/lints" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>lints</span></a> from user-specified, dynamic libraries. Thus, Dylint allows developers to maintain their own personal lint collections."</p><p>Looks like a really cool project!</p><p><a href="https://floss.social/tags/Lint" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Lint</span></a> <a href="https://floss.social/tags/RustLang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>RustLang</span></a> <a href="https://floss.social/tags/StaticAnalysis" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>StaticAnalysis</span></a> <a href="https://floss.social/tags/Compiler" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Compiler</span></a></p>
Strider Uwe 🇺🇦🇨🇦🇲🇽<p><span class="h-card" translate="no"><a href="https://hachyderm.io/@selfcare" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>selfcare</span></a></span> I’m hacking on a <a href="https://norcal.social/tags/scheme" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>scheme</span></a> <a href="https://norcal.social/tags/compiler" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>compiler</span></a>… so, right about this instant</p>
Bread80<p>And writing to an array element. As before the index expression is parsed and an AddrOf operation added to the IL code, which generates the address to write to. Then the right hand side expression is parsed, and a PtrStore operation added to write the data to the address.</p><p><a href="https://mstdn.social/tags/quiche" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>quiche</span></a> <a href="https://mstdn.social/tags/compiler" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>compiler</span></a> <a href="https://mstdn.social/tags/z80" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>z80</span></a> <a href="https://mstdn.social/tags/pascal" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>pascal</span></a></p>
Bread80<p>Moving towards array references in <a href="https://mstdn.social/tags/Quiche" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Quiche</span></a>. This code uses an index literal, an index variable, and an index expression.</p><p>A ParseArrayIndex function generates IL for the expression (if any), then an AddrOf operation which takes the array variable and index and returns a pointer to the data.</p><p>The a PtrLoad operation loads the data and stores to a variable.</p><p>There's no bounds validation or code yet, and only code generation for the literal case so far.</p><p><a href="https://mstdn.social/tags/compiler" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>compiler</span></a> <a href="https://mstdn.social/tags/Z80" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Z80</span></a> <a href="https://mstdn.social/tags/Pascal" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Pascal</span></a></p>
heise online<p>heise+ | Von JavaScript zu TypeScript: Bequemer und fehlerärmer programmieren</p><p>Die dynamische Typisierung von JavaScript erleichtert anfangs das Entwickeln, führt dann aber schnell zu Problemen. Setzen Sie besser gleich TypeScript ein.</p><p><a href="https://www.heise.de/hintergrund/Von-JavaScript-zu-TypeScript-Bequemer-und-fehleraermer-programmieren-10357975.html?wt_mc=sm.red.ho.mastodon.mastodon.md_beitraege.md_beitraege&amp;utm_source=mastodon" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">heise.de/hintergrund/Von-JavaS</span><span class="invisible">cript-zu-TypeScript-Bequemer-und-fehleraermer-programmieren-10357975.html?wt_mc=sm.red.ho.mastodon.mastodon.md_beitraege.md_beitraege&amp;utm_source=mastodon</span></a></p><p><a href="https://social.heise.de/tags/Compiler" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Compiler</span></a> <a href="https://social.heise.de/tags/IT" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>IT</span></a> <a href="https://social.heise.de/tags/JavaScript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>JavaScript</span></a> <a href="https://social.heise.de/tags/TypeScript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>TypeScript</span></a> <a href="https://social.heise.de/tags/Webentwicklung" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Webentwicklung</span></a> <a href="https://social.heise.de/tags/news" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>news</span></a></p>
Erik C. Thauvin<p>GCC 15.1 Released With COBOL Compiler &amp; Many Other Improvements</p><p><a href="https://mastodon.social/tags/clanguage" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>clanguage</span></a> <a href="https://mastodon.social/tags/cobol" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>cobol</span></a> <a href="https://mastodon.social/tags/compiler" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>compiler</span></a> <a href="https://mastodon.social/tags/cplusplus" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>cplusplus</span></a> <a href="https://mastodon.social/tags/gcc" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>gcc</span></a> <a href="https://mastodon.social/tags/rust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rust</span></a></p><p><a href="https://www.phoronix.com/news/GCC-15.1-Released" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">phoronix.com/news/GCC-15.1-Rel</span><span class="invisible">eased</span></a></p>
Bread80<p>I moving on to start implementing user types in the <a href="https://mstdn.social/tags/Quiche" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Quiche</span></a> <a href="https://mstdn.social/tags/compiler" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>compiler</span></a>. I figure the most useful type to have is arrays and, by implication, strings. Arrays boil down to typed pointers internally so I'm starting with the pointer stuff.</p><p>This now works to assign the address of a variable to a typed pointer, and to instantiate a variable to assign that pointers value to. The PI variable is to test that assigning a ^Byte to it fails (which it does).</p><p><a href="https://mstdn.social/tags/Z80" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Z80</span></a></p>
Giona2_lfc<p>As a first post on this account, I've decided to make an explanation on a compiler I'm writing. Please refer to my main account, <span class="h-card" translate="no"><a href="https://mastodon.social/@Giona_2" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>Giona_2</span></a></span>, if you would like more information on it.</p><p>This post is meant to explain each module of my compiler (Optimizer, Tokenizer, Assembler). Each module will have a dedicated paragraph who were their originally their own posts, but I think it's a great way to kick off this first post</p><p># Optimizer<br>The Optimizer is the most simplistic part of my compiler. It's job is to arrange the raw text file into a more readable format for the Tokenizer.</p><p>Essentially, it arranges the source code you wrote into an array where each word (keyword, number, symbol, etc) is it's own element. This allows the Tokenizer to iterate through each word more reliably than if it just read the raw text file verbatim.</p><p># Tokenizer<br>The Tokenizer is arguably the most important module.</p><p>The Tokenizer takes the list generated from the Optimizer and iterates through each word. When it finds a keyword in the list, it goes through the following steps:<br>1. Finds the end of the declaration the keyword is indicating<br>2. Sends this full declaration to a function that'll parse it into a token</p><p>The final result is arranged as an array of tokens that emulates the steps the final executable must go through.</p><p># Assembler<br>Finally, the Assembler is what's responsible for turning the token array generated by the Tokenizer and turning it into the final program.</p><p>All this does is iterate over each token in the array and translate it into its assembly-instruction equivalent.</p><p>This module, by far, is my favorite for one reason and one reason only: It's extremely volatile in the sense that it can turn the token array into pretty much anything you want Unimal to compile to.</p><p><a href="https://mastodon.bsd.cafe/tags/programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programming</span></a> <a href="https://mastodon.bsd.cafe/tags/coding" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>coding</span></a> <a href="https://mastodon.bsd.cafe/tags/compiler" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>compiler</span></a></p>
Bread80<p>Adding array definitions to the <a href="https://mstdn.social/tags/Quiche" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Quiche</span></a> <a href="https://mstdn.social/tags/Compiler" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Compiler</span></a></p><p>An array boils down to a bounds and an element type. For multidimensional arrays the 'inner' element type is itself an array definition.</p><p>The parser for this works recursively which gives an elegantly simple solution (although the actual code is a little gnarly given the syntaxes). Parsing the bounds is parsing a type definition (of a suitable enumerable type). Parsing the element type means parsing another array definition.</p>
Dr. Brian Callahan<p>A new <a href="https://bsd.network/tags/blog" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>blog</span></a> post appears!</p><p>I built a native GCC 14.2.0 for Mac OS X 10.4 Tiger PowerPC.</p><p><a href="https://briancallahan.net/blog/20250329.html" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="ellipsis">briancallahan.net/blog/2025032</span><span class="invisible">9.html</span></a></p><p><a href="https://bsd.network/tags/macos" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>macos</span></a> <a href="https://bsd.network/tags/macosx" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>macosx</span></a> <a href="https://bsd.network/tags/tiger" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>tiger</span></a> <a href="https://bsd.network/tags/powerpc" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>powerpc</span></a> <a href="https://bsd.network/tags/power" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>power</span></a> <a href="https://bsd.network/tags/unix" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>unix</span></a> <a href="https://bsd.network/tags/bsd" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>bsd</span></a> <a href="https://bsd.network/tags/freebsd" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>freebsd</span></a> <a href="https://bsd.network/tags/openbsd" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>openbsd</span></a> <a href="https://bsd.network/tags/netbsd" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>netbsd</span></a> <a href="https://bsd.network/tags/dragonflybsd" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>dragonflybsd</span></a> <a href="https://bsd.network/tags/linux" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>linux</span></a> <a href="https://bsd.network/tags/solaris" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>solaris</span></a> <a href="https://bsd.network/tags/illumos" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>illumos</span></a> <a href="https://bsd.network/tags/gcc" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>gcc</span></a> <a href="https://bsd.network/tags/llvm" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>llvm</span></a> <a href="https://bsd.network/tags/clang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>clang</span></a> <a href="https://bsd.network/tags/compiler" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>compiler</span></a> <a href="https://bsd.network/tags/compilers" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>compilers</span></a> <a href="https://bsd.network/tags/assembler" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>assembler</span></a> <a href="https://bsd.network/tags/linker" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>linker</span></a> <a href="https://bsd.network/tags/toolchain" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>toolchain</span></a> <a href="https://bsd.network/tags/freesoftware" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>freesoftware</span></a> <a href="https://bsd.network/tags/opensource" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>opensource</span></a> <a href="https://bsd.network/tags/gnu" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>gnu</span></a></p>