Add deobfuscated versions of 199[1-3]/ant

Anthony/@SirWumpus kindly provided these files. The source code and
their Makefiles are in a deobfuscated/ subdirectory (for each of the
three entries) but running make alt
from the entry directory works. It uses the deobfuscated version's
Makefile but copies the compiled binary to the entry's directory to keep
things clean (deobfuscated code separate from the entry) to simplify
using the deobfuscated versions.

Entries that had a test suite Makefile have a new one for the
deobfuscated code and a try.alt.sh script was added to 1992/ant and
1993/ant but the entry_text is a bit different than the usual to
indicate that it's the deobfuscated version.

It might be that the way this is done should be reorganised some but
that can be decided on later.

The entries from 2004 and 2005 have not yet been added because some
decisions have to be made as those are the ones with a configure script.

The manifest was updated and the .entry.json and index.html files were
updated. It is not clear yet if the inventory_order is right but that
will be looked at in the next day or two.

Thank you Anthony!
This commit is contained in:
Cody Boone Ferguson committed 2024-07-05 12:53:32 -07:00
1 parent 95efa5ada6
commit a4fb0a8c8c
39 files changed
+3174 -48

No files matched your search

+240
View File
@@ -0,0 +1,240 @@
#
# Test Driver for Anthony's Grep
#
# Public Domain 1992, 1993 by Anthony Howe. No warrant.alty.
#
SHELL=/bin/sh
PRG=./ant.alt
all: ant.alt char word anchor literal wild closure option branch sub class
#
# Built the entry
#
ant.alt: Makefile
make -f Makefile ant.alt
#
# Test simple text patterns without the use of meta characters.
#
empty:
$(PRG) '' ant.alt.test.mk
char:
$(PRG) 'q' ant.alt.test.mk
word:
$(PRG) 'simple' ant.alt.test.mk
#
# Test meta characters.
#
anchor: anchor1 anchor2 anchor3 anchor4 anchor5
anchor1:
$(PRG) '^anchor1' ant.alt.test.mk
anchor2:
$(PRG) 'Grep$$' ant.alt.test.mk
#
# Find all empty lines.
#
anchor3:
$(PRG) '^$$' ant.alt.test.mk
#
# This is valid but will never match.
#
anchor4:
-$(PRG) 'x^a' ant.alt.test.mk
#
# This is valid but will never match.
#
anchor5:
-$(PRG) 'mk$$x' ant.alt.test.mk
literal: literal1 literal2
#
# Every line with a dollar-sign.
#
literal1:
$(PRG) '\$$' ant.alt.test.mk
#
# Every line with a backslash.
#
literal2:
$(PRG) '\\' ant.alt.test.mk
#
# wild #1#
# wild #a#
# wild #%#
#
wild:
$(PRG) '#.#' ant.alt.test.mk
#
# closure !!
# closure !x!
# closure !xxxxxx!
#
closure:
$(PRG) 'closure !x*!' ant.alt.test.mk
#
# option ++
# option +a+
# option +b+
# option +c+
# option +abc+
#
option: option1 option2
option1:
$(PRG) '+b?+' ant.alt.test.mk
option2:
$(PRG) '+.?+' ant.alt.test.mk
branch: branch1 branch2 branch3 branch4 branch5 branch6
branch1:
$(PRG) 'q|simple' ant.alt.test.mk
#
# This pattern should be the same as '(^all)|(Public)|(Grep$)'.
#
branch2:
$(PRG) '^all|Public|Grep$$' ant.alt.test.mk
#
# This pattern should generate the same results as branch2.
#
branch3:
$(PRG) 'Grep$$|^all|Public' ant.alt.test.mk
#
# Null expression between start of pattern and vertical-line.
#
branch4:
$(PRG) '|Grep' ant.alt.test.mk
#
# Null expression between vertical-line and end of pattern.
#
branch5:
$(PRG) 'Grep|' ant.alt.test.mk
#
# Null expression between vertical-line and vertical-line.
#
branch6:
$(PRG) 'all||Grep' ant.alt.test.mk
#
# sub aabcbcbcxx
# sub aagxx
# sub aaggxx
# sub aadddxx
# sub aaxx
#
sub: sub0 sub1 sub2 sub3 sub4 sub5 lparen1 lparen2 rparen1 rparen2
#
# Null sub-expressions.
#
sub0:
$(PRG) 's()u()b()' ant.alt.test.mk
sub1:
$(PRG) '#(1|%)#' ant.alt.test.mk
sub2:
$(PRG) 'aa((bc)*|g)xx' ant.alt.test.mk
#
# Null expression between the left-parenthesis and the vertical-line.
#
sub3:
$(PRG) '#(|1)#' ant.alt.test.mk
#
# Null expression between the vertical-line and the right-parenthesis.
#
sub4:
$(PRG) '#(1|)#' ant.alt.test.mk
#
# Null expression between the vertical-line and the right-parenthesis.
#
sub5:
$(PRG) '#(%||1)#' ant.alt.test.mk
#
# Missing left-parenthesis generates an error.
#
lparen1:
-$(PRG) 'left ( only' ant.alt.test.mk
lparen2:
$(PRG) 'left \( only' ant.alt.test.mk
#
# Right-parenthesis without preceding left parenthesis should be a literal.
#
rparen1:
-$(PRG) 'right ) only' ant.alt.test.mk
rparen2:
$(PRG) 'right \) only' ant.alt.test.mk
#
# 12345678
# -----------------
# =0= 1 45
# =1= 2 45 78
# =2= 2 45
# =3= 2 45 78
# =4= 2 45
# =5= 2 45
# =6= 2 45
# =7= 2 45
# =8= 2 45
# =9= 1 45
# =]= 23 6
# =-= 2 4 678
# = = 2 4 6
#
class: class1 class2 class3 class4 class5 class6 class7 class8
class1:
$(PRG) '=[09]=' ant.alt.test.mk
class2:
$(PRG) '=[^09]=' ant.alt.test.mk
class3:
$(PRG) '=[]]=' ant.alt.test.mk
class4:
$(PRG) '=[^]]=' ant.alt.test.mk
class5:
$(PRG) '=[0-9]=' ant.alt.test.mk
class6:
$(PRG) '=[^0-9]=' ant.alt.test.mk
class7:
-$(PRG) '=[3-1]=' ant.alt.test.mk
class8:
$(PRG) '=[-13]=' ant.alt.test.mk