Hennig86:修订间差异

来自MalacoKnowledge
add help man
无编辑摘要
第1行: 第1行:
= Hennig86 =
= 简介 =
 
== 简介 ==


Hennig86 于 1988 由 James S. Farris 编写并发布,是第一个能在 MS-DOS IBM-PC 及其兼容性机器上运行良好的简约法软件。最初售价 50 美元,目前已经不再分发并且已经被 [[TNT]] 取代,但是他的文件风格以及部分命令已经被众多软件吸取。
Hennig86 于 1988 由 James S. Farris 编写并发布,是第一个能在 MS-DOS IBM-PC 及其兼容性机器上运行良好的简约法软件。最初售价 50 美元,目前已经不再分发并且已经被 [[TNT]] 取代,但是他的文件风格以及部分命令已经被众多软件吸取。
第7行: 第5行:
注意!Hennig86 不是 TNT 的前身!
注意!Hennig86 不是 TNT 的前身!


== 分析基础 ==
= 分析基础 =


你需要安装 [[DOSBox]] 软件,并且具备很少的 DOS 命令基础,比如 <code>MOUNT</code> <code>TYPE</code> 等。
你需要安装 [[DOSBox]] 软件,并且具备很少的 DOS 命令基础,比如 <code>MOUNT</code> <code>TYPE</code> 等。


== 文件基础 ==
= 文件基础 =


Hennig86 自带示例文件如下,跟 TNT 完全兼容。
Hennig86 自带示例文件如下,跟 TNT 完全兼容。
第46行: 第44行:
</pre>
</pre>


== 分析流程 ==
= 分析流程 =


<span id="基础-log"></span>
<span id="基础-log"></span>
=== 基础 log ===
== 基础 log ==


<code>display*</code> 让也在终端显示。
<code>display*</code> 让也在终端显示。
第56行: 第54行:
display*;</pre>
display*;</pre>
<span id="基础-help"></span>
<span id="基础-help"></span>
=== 基础 help ===
== 基础 help ==


<pre>quote This function help send comments to log file;
<pre>quote This function help send comments to log file;
quote Here are functions;
quote Here are functions;
assist;</pre>
assist;</pre>
=== 打开文件 ===
 
== 打开文件 ==


<code>view</code> 查看文件。
<code>view</code> 查看文件。
第68行: 第67行:
view CZ.SS;
view CZ.SS;
procedure CZ.SS;</pre>
procedure CZ.SS;</pre>
=== 设置外群 ===
 
== 设置外群 ==


<code>/num</code> 设置多个外群中相对外的 <code>prime outgroup</code>。<code>0.2</code> 中的 <code>.</code> 代表范围
<code>/num</code> 设置多个外群中相对外的 <code>prime outgroup</code>。<code>0.2</code> 中的 <code>.</code> 代表范围
第76行: 第76行:
outgroup;</pre>
outgroup;</pre>
<span id="查看-character-weighting"></span>
<span id="查看-character-weighting"></span>
=== 查看 character weighting ===
== 查看 character weighting ==


<code>ckeep</code> 和 <code>cget</code> 用于快速保存、选择某一套 character weighting 以及 additive (<code>ccode+.;</code>) 和 non-additive (<code>ccode-.;</code>)。 <code>ccode;</code> 查看状态。
<code>ckeep</code> 和 <code>cget</code> 用于快速保存、选择某一套 character weighting 以及 additive (<code>ccode+.;</code>) 和 non-additive (<code>ccode-.;</code>)。 <code>ccode;</code> 查看状态。
第91行: 第91行:
cget 1;
cget 1;
ccode;</pre>
ccode;</pre>
=== 基础搜索树 ===
== 基础搜索树 ==


<code>hennig</code> <code>bb</code> 都是对单个树计算, <code>keep</code> 对树进行划归组保存为内部树文件。
<code>hennig</code> <code>bb</code> 都是对单个树计算, <code>keep</code> 对树进行划归组保存为内部树文件。
第104行: 第104行:
quote Store it into internal tree file 0;
quote Store it into internal tree file 0;
keep 1;</pre>
keep 1;</pre>
=== 查看树的信息 ===
== 查看树的信息 ==


<code>xsteps</code>主要用于查看树的信息。
<code>xsteps</code>主要用于查看树的信息。
第114行: 第114行:
quote Display max/min steps for per character;
quote Display max/min steps for per character;
steps;</pre>
steps;</pre>
=== 进阶搜索树 ===
== 进阶搜索树 ==


<code>hennig</code> <code>bb</code> 的 <code>m</code> 前缀是多个树的意思,<code>*</code> 后缀是指树的数量要不要做限制。这个搜索保存到内部树文件 2。<code>watch</code> 查看每个命令耗费的时间。
<code>hennig</code> <code>bb</code> 的 <code>m</code> 前缀是多个树的意思,<code>*</code> 后缀是指树的数量要不要做限制。这个搜索保存到内部树文件 2。<code>watch</code> 查看每个命令耗费的时间。
第127行: 第127行:
quote Store them into internal tree file 1;
quote Store them into internal tree file 1;
keep 2;</pre>
keep 2;</pre>
=== 基础合意树 ===
== 基础合意树 ==


合意树保存到内部树文件 3。
合意树保存到内部树文件 3。
第136行: 第136行:
keep 3;</pre>
keep 3;</pre>
<span id="successive-weighting"></span>
<span id="successive-weighting"></span>
=== successive weighting ===
== successive weighting ==


<code>ccode</code>weighting 搜索保存到内部树文件 4。
<code>ccode</code>weighting 搜索保存到内部树文件 4。
第153行: 第153行:
quote Store it into internal tree file 5;
quote Store it into internal tree file 5;
keep 5;</pre>
keep 5;</pre>
=== 穷举法 ===
== 穷举法 ==


<code>ie*;</code> 使用穷举法,保存到内部树文件 6。
<code>ie*;</code> 使用穷举法,保存到内部树文件 6。
第167行: 第167行:
quote Store it into internal tree file 7;
quote Store it into internal tree file 7;
keep 7;</pre>
keep 7;</pre>
=== 时间测试 ===
 
== 时间测试 ==


<code>watch-;</code> 停止测试时间
<code>watch-;</code> 停止测试时间
第173行: 第174行:
<pre>quote Stop watch time;
<pre>quote Stop watch time;
watch-;</pre>
watch-;</pre>
=== 查看树 ===
== 查看树 ==


<code>get</code> 切换不同的内部树文件, <code>tlist</code> 查看文件。
<code>get</code> 切换不同的内部树文件, <code>tlist</code> 查看文件。
第184行: 第185行:
tlist;
tlist;
tsave con.tre;</pre>
tsave con.tre;</pre>
=== 编辑内部树文件 ===
== 编辑内部树文件 ==


<code>erase</code> 删除内部树文件, <code>files</code> 查看内部树文件有哪些。
<code>erase</code> 删除内部树文件, <code>files</code> 查看内部树文件有哪些。
第191行: 第192行:
erase 1;
erase 1;
files;</pre>
files;</pre>
=== 退出 ===
== 退出 ==


<code>log/;</code> 停止记录,<code>yama</code> 退出 Hennig86。
<code>log/;</code> 停止记录,<code>yama</code> 退出 Hennig86。
第198行: 第199行:
log/;
log/;
yama;</pre>
yama;</pre>
=== 查看编辑树 ===
== 查看编辑树 ==


<code>xx</code> 查看树。
<code>xx</code> 查看树。
第207行: 第208行:
;</pre>
;</pre>


== 所有命令一览 ==
= 所有命令一览 =


<pre>
<pre>

2023年7月20日 (四) 19:59的版本

简介

Hennig86 于 1988 由 James S. Farris 编写并发布,是第一个能在 MS-DOS IBM-PC 及其兼容性机器上运行良好的简约法软件。最初售价 50 美元,目前已经不再分发并且已经被 TNT 取代,但是他的文件风格以及部分命令已经被众多软件吸取。

注意!Hennig86 不是 TNT 的前身!

分析基础

你需要安装 DOSBox 软件,并且具备很少的 DOS 命令基础,比如 MOUNT TYPE 等。

文件基础

Hennig86 自带示例文件如下,跟 TNT 完全兼容。

xread
'SALA -- BOLICK ADV. CLAD. 1:115-125 SALMEA (COMPOSITAE: HELIANTHEAE)'
24 11 
ANCT 
000000000000000000000000
SCAN 
000000100001210000000000
ORTH 
000000100001101000000000
OLIG 
100000100002010111000000
PALM 
000000100002000110100000
PETR 
001100100000000000011000
CALE 
100021011110000000000000
GLAB 
000200111100000000000001
MONT 
321010111100000000000000
INSI 
220000011110000000000110
PAUC 
210010011110000000000101

 ;
proc /  ;

分析流程

基础 log

display* 让也在终端显示。

log hennig.log;
display*;

基础 help

quote This function help send comments to log file;
quote Here are functions;
assist;

打开文件

view 查看文件。

quote Open data file and view it;
view CZ.SS;
procedure CZ.SS;

设置外群

/num 设置多个外群中相对外的 prime outgroup0.2 中的 . 代表范围

quote Set outgroups and prime outgroup (0-2 are outgroups and 0 is prime outgroup);
outgroup = 0.2 /0;
outgroup;

查看 character weighting

ckeepcget 用于快速保存、选择某一套 character weighting 以及 additive (ccode+.;) 和 non-additive (ccode-.;)。 ccode; 查看状态。

quote Check character weighting realted settings and store them in internal file 1;
ccode-.;
ckeep 1;
ccode;
quote Set them as additive character and save as internal file 2;
ccode+.;
ccode;
ckeep 2;
quote Check eveything as additive, now run cget to obtain previous config;
cget 1;
ccode;

基础搜索树

hennig bb 都是对单个树计算, keep 对树进行划归组保存为内部树文件。

quote Start an example on how to search tree;
hennig;
bb;
quote Here to disable ascii and have a look;
txascii-;
tplot;
tlist;
quote Store it into internal tree file 0;
keep 1;

查看树的信息

xsteps主要用于查看树的信息。

quote Output Tree Length based on tree number, same with xsteps;
xsteps l;
quote Output characters' steps RI CI;
xsteps c;
quote Display max/min steps for per character;
steps;

进阶搜索树

hennig bbm 前缀是多个树的意思,* 后缀是指树的数量要不要做限制。这个搜索保存到内部树文件 2。watch 查看每个命令耗费的时间。

quote Check current memory; 
bytes;
quote Start watch time;
watch;
quote Start search heavily and swap trees;
mhennig*;
bb*;
quote Store them into internal tree file 1;
keep 2;

基础合意树

合意树保存到内部树文件 3。

quote Generate strict consensus tree, all trees will be removed from memory;
nelsen;
quote Store it into internal tree file 3;
keep 3;

successive weighting

ccodeweighting 搜索保存到内部树文件 4。

quote Successive Weighting can be enabled;
xsteps w;
ccode;
mhennig*;
bb*;
quote Store them into internal tree file 4;
keep 4;

合意树保存到内部树文件 5。

quote Generate strict consensus tree, all trees will be removed from memory;
nelsen;
quote Store it into internal tree file 5;
keep 5;

穷举法

ie*; 使用穷举法,保存到内部树文件 6。

quote Search all the trees;
ie*;
quote Store them into internal tree file 6;
keep 6;

合意树保存到内部树文件 7。

quote Generate strict consensus tree, all trees will be removed from memory;
nelsen;
quote Store it into internal tree file 7;
keep 7;

时间测试

watch-; 停止测试时间

quote Stop watch time;
watch-;

查看树

get 切换不同的内部树文件, tlist 查看文件。

quote Test internal tree files via get;
files;
get 3;
tlist;
get 5;
tlist;
tsave con.tre;

编辑内部树文件

erase 删除内部树文件, files 查看内部树文件有哪些。

quote Delete internal tree file;
erase 1;
files;

退出

log/; 停止记录,yama 退出 Hennig86。

quote Stop log and quit;
log/;
yama;

查看编辑树

xx 查看树。

xx
\
/
;

所有命令一览

           Dox -- Online Help File for Hennig86, Version 1.5
                   Copyright (c) James S. Farris
                        All rights reserved.

assist    batch     bb        bytes     ccode     cget      ckeep     
display   erase     files     get       hennig    ie        keep      
log       mhennig   nelsen    outgroup  procedure quote     reroot    
steps     tchoose   tlist     tplot     tread     tsave     txascii   
view      watch     xread     xsteps    xx        yama      

assist         list available commands

batch          turn on batch switch
batch -        turn it off 

bb             produce multiple trees by branch breaking
bb *           use all available tree space

bytes          display bytes of free ram

ccode          control character coding
               / set weight [ activate ] deactivate + additive - nonadditive
ccode ;        display codings

cget x         set coding from code file x

ckeep x        save current coding in code file x

display        short listings to display
display -      no listing to display
display *      all listing to display

erase  s       delete tree files in scope s

files          display directory of treefiles

get x          make tree file x current

hennig         calculate single tree
hennig *       use branch breaking

ie             find trees by implicit enumeration
ie -           find just one tree
ie *           use all available tree space

keep x         save current tree file as tree file x

log  n         open dos file n as new log file
log  -         deactivate log file
log  *         activate it
log  /         close it

mhennig        calculate multiple trees
mhennig *      use branch breaking

nelsen         calculate nelson consensus tree

outgroup       control outgroup
               [ ingroup ] outgroup
outgroup =     set outgroup to list
outgroup ;     list outgroup alphabetically

procedure n    open dos file n as procedure file
procedure -    deactivate procedure file 
procedure *    activate it
procedure /    close it

quote          copy message

reroot         current treefile according to current outgroup

steps          display max/min steps per character

tchoose  s     select trees in scope s from current tree file

tlist          display trees in parenthetical notation

tplot          produce tree diagrams

tread          read trees 

tsave  n       save current tree file on dos file n 

txascii        use extended ascii characters in tree plots
txascii -      don't

view  n        inspect dos file n
view  *        close and inspect current log file

watch          turn on stopwatch 
watch -        turn it off

xread          read character data

xsteps         diagnose trees in current tree file
xsteps h       list possible states for hypothetical ancestors
xsteps c       list character fits 
xsteps m       list best/worst fits
xsteps l       list tree lengths
xsteps u       produce file of distinct trees
xsteps w       set character weights according to fits

xx             display and modify diagnosed tree

yama           return to dos