Author:
- Name: Yusuke Endoh
Location: JP - Japan
To build:
make
To use:
./prog > foo.c
Try:
./try.sh
The script will ask you if you wish to run make rake
but this is not necessary
to fully enjoy the entry. make rake
will run the rake.sh script and
then prog
if all is built okay. If rake
is not installed then it will check
that gem
is installed. If gem
is not installed it will tell you where to get
it and then tell you how to install rake
. Otherwise, if rake
is installed it
will try running rake
and if that fails to run it will tell you to run a
gem
command as either root or via sudo and then to try running make rake
or
./rake.sh
again. If rake
succeeds it will run ./prog
which can be used to
build main.c
.
What is the difference between running ./prog
and main
?
Judges’ remarks:
Big terminals with tiny fonts have their uses in certain cases. One of them is:
make treacl
./treacl
which is shorthand for:
./prog < prog.c > treacle.c
make treacle
./treacle
When using a smartphone to read the output, you may need to step back to see the bigger picture because that picture is worth more than 1000 words.
Author’s remarks:
Remarks
You may want to use a large display with a very small terminal font.
NOTICE to those who wish for a greater challenge:
If you want a greater challenge, don’t read any further: just try to understand the program via the source.
If you get stuck, come back and read below for additional hints and information.
Q(uine)R code generator
See quine-qr.html.
Inventory for 2014/endoh1
Primary files
- prog.c - entry source code
- Makefile - entry Makefile
- prog.orig.c - original source code
- Rakefile - Ruby Makefile
- quine-qr.html - information about Q(uine)R code generator
- rake.sh - make rake script
- try.sh - script to try entry
- alpha.rb - support program for Rakefile
- assemble.rb - support program for Rakefile
- ast-def.rb - support program for Rakefile
- gen-prog.rb - support program for Rakefile
- gen-table.rb - support program for Rakefile
- link.rb - support program for Rakefile
- machine.rb - support program for Rakefile
- parse.rb - support program for Rakefile
- prog-tmpl.c - source code template used by gen-prog
- register.rb - support program for Rakefile
- serialize.rb - support program for Rakefile
- src.rb - support program for Rakefile
- tool.rb - support program for Rakefile
- vm.c - source code of the VM
Secondary files
- 2014_endoh1.tar.bz2 - download entry tarball
- README.md - markdown source for this web page
- .entry.json - entry summary and manifest in JSON
- .gitignore - list of files that should not be committed under git
- .path - directory path from top level directory
- quine-qr.md - markdown source for deobfuscation.html
- index.html - this web page