Skip to content

Releases: udem-dlteam/pnut

pnut-1.1

23 Mar 16:14
b659eb1

Choose a tag to compare

Version 1.1 release of pnut 🥜

This release was made on commit b659eb1f7f5d026cdc50f9163e7f7c30cedbfdb2.

Short Changelog

  1. New pnut AWK backend (pnut-awk): #228
  2. More robust C code annotations, include documentation in annotated shell scripts: #222 and #238
  3. Reduce size of pnut-sh's inline printf: #229

Release Files

The precompiled pnut-sh.sh corresponds to the minimal version of pnut-sh. The precompiled pnut-exe.sh corresponds to the minimal version of pnut-exe (i386 Linux). Both scripts can bootstrap the fully featured pnut-exe executable, which can in turn bootstrap more complete compilers such as TCC.

Annotated shell files

Pnut-sh has an option to include the original C source code as comments in the generated shell script. The C source code is included verbatim (with conditional cpp lines removed), and is interleaved with the generated shell code. This script can extract the original C source code from itself using the -C <filename> option, which outputs C code that can be used to rebootstrap the compiler. With pnut-sh.sh, this results in the exact same pnut-sh.sh file, while with pnut-exe.sh, an executable pnut-exe is obtained.

Release steps

To reproduce this release, run the following commands:

make pnut-sh.sh MINIMAL=1 ANNOTATE_C_CODE=0 # pnut-sh.sh 
make pnut-sh.sh MINIMAL=1 ANNOTATE_C_CODE=1 # pnut-sh-annotated.sh 
make pnut-exe.sh TARGET=Linux.i386 MINIMAL=1 ANNOTATE_C_CODE=0 # pnut-exe.sh 
make pnut-exe.sh TARGET=Linux.i386 MINIMAL=1 ANNOTATE_C_CODE=1 # pnut-exe-annotated.sh

Stats

File sizes (LOC):

Variant min annotated
pnut-sh 6133 12762
pnut-exe 5681 12066

What's Changed

Full Changelog: pnut-sh-1.0...pnut-1.1

pnut-sh-1.0.sh

18 Nov 03:53
afa24a6

Choose a tag to compare

Version 1.0 release of pnut-sh.sh 🥜

The distributed version of pnut corresponds to the minimal version of pnut-sh, supporting the minimum set of features to get pnut-exe bootstrapped, fitting in only 6226 lines of shell code. From pnut-exe, more complete compilers such as TCC can then be bootstrapped.

The following pnut-sh.sh file has been audited, meaning every line was compared to the original C source code (total time: ~10h), and reproduced on 2 different machines. To reproduce the same file, run ./bootstrap-pnut-sh.sh --shell bash --minimal-pnut on commit dc43340bd8f3e4d109da7cdfd9b3664016986cf0.

Release for SLE2024 artifact

23 Sep 21:07
d7ddac0

Choose a tag to compare

Pre-release
Merge pull request #96 from udem-dlteam/laurent/fix-make-artifact.sh

Use --no-cache in make-artifact.sh