clear
;コマンドエイリアスaliasのテスト
echo $_FILE

list ;-d
;alias abc?
;#exit

unalias 	-all;
alias

alias 0
alias 9
alias A
alias Z
alias a
alias z
alias _
alias _0
					;
alias バイト		12				;バイト値
list -d
alias 漢字		{12}				;OK
alias 漢字		{12}				;OK すでに存在する
alias 漢字		{12}	abc			;OK すでに存在する
list 
alias 123		{12}				;NG
alias _123		{12}				;OK
alias _123表		{12}				;OK

alias a12345678901234			;OK 15文字
alias _12345678901234			;OK
alias a1234567890123456789012345678901234567890		;エイリアスシンボルが長すぎる
alias 123456789　123456789				;不正な文字、全角空白を含む
alias 123456789,					;不正な文字
alias 123456789(					;不正な文字
alias $123456789					;不正な文字
alias @123456789					;不正な文字
alias \123456789					;不正な文字
alias 123456789\					;不正な文字
alias 123456789						;OK
alias _123456789					;OK
alias __123456789~					;NG
alias a1	{"12345" 'abcdsf'}		;
alias a2	{"12345 \"ABC\" ; \n" 'abcdsf \'123\' ; \n'};
alias a3	{"12345" 'abcdsf';}		;
alias a4	{"12345 \"ABC\" ; \n" 'abcdsf \'123\' ; \n';  };
alias a5	{	"12345" 'abcdsf'	}		;
alias a6	{	"12345 \"ABC\" ; \n" 'abcdsf \'123\' ; \n'	};
alias ab+cd
alias -123

alias a1
alias a2	
alias a1; OK
alias a2;OK
alias a1	; OK
alias a2	;OK

alias

alias b1	1234 567;
alias b1	{1234 567;
alias b1	{ 1234 567;
alias b1	{{1234 567;
alias b1	{{1234 567;abc}
alias b1	1234 567;}
alias b1	1234 567;}}
alias b1	{1234 567;}}

alias c1	{cd ; echo $abc @func(1, 3 ,) ; }
alias c2	{cd ; echo $abc @func(1, 3 ,) ; }1234
alias c3	{cd ; echo $abc @func(1, 3 ,) ; }  1234
alias c4	{cd ; echo $abc @func(1, 3 ,) ; };1234
alias c5	{cd ; echo $abc @func(1, 3 ,) ; }	;1234

list ;-d
c1 -w

define abc 1234
define wide -w
alias z1	{cd ; echo $abc @inc(1, 3 ,) ; }
z1 -w
alias z2 	{z1 $wide}
z2 -b 11 22 33

alias z3	{cd ; echo $abc @inc(1, 3 ,) ; z4;}
z3


#break
alias z4	{z2; z4}	;循環呼び出し
z4
z3


alias エイリアス	{cd ; echo $abc @inc(1, 3 ,) ; }
エイリアス

alias z5	{print print = test #0 #1 #2 #3 #4 #5 #6 #7 #8 #9 #10 #11 #12 #13 #14end > out}
alias z6	{print print = test #* end > out}
define wide 	-w -n
z5 -b 11 22 33 "xyz" $wide $abc @byte ( 1234 ) (1*2 + 3*$abc)
z5
z6 -b 11 22 33 "xyz" $wide $abc @byte(1234) (1*2+3*$abc)
z6 -b 11 22 33 "xyz" $wide $-abc @1byte(1234) (1*2+3*$abc))


alias z7	{print 12345; printt error; print 67890;}	;コマンドマクロ内でエラー
z7	;コマンドマクロ内でエラー

#exit

alias

list -d

unalias
unalias	c1
alias
unalias	c1 c2 c3 ;
alias d1 {dir -d}
alias

unalias -all
alias

;#exit

alias _FILE
alias _FILE;

		alias abc
		alias abc
		alias abc?
		alias abc"
		alias abc'd
		aliase cdf


#exit

 alias bb 	@byte($バイト)
 alias ww	@word($ワード) 	
 alias dd	@dword($ダブルワード)

 alias b1 	@byte($b1)
 alias ww	@word($ワード) 	
 alias dd	@dword($ダブルワード)

echo $NONE
echo $NONE	;空
echo $バイト
echo $バイト	;バイト値
echo $abcdef	;未定義
echo $a　bc	;不正な文字

echo $b1	;循環参照



alias 循環	$バイト $ワード $循環	"abcd"	;
echo $循環

alias dup1	$バイト $ワード $dup $バイト

alias dup	$dup1	;循環参照(展開時に検出）

;cout s1

echo $dup1			;循環参照
echo $バイト $dup1		;循環参照

undef dup
alias dup	$dup
echo $dup			;循環参照

undef dup
undef dup1
alias dup	$バイト $ワード $dup $バイト	;循環参照(展開時に検出）
alias dup1	$バイト $ワード $dup $ダブルワード
echo $dup1		;循環参照

alias dup2	$dup1
echo $dup2		;循環参照

alias dup10	$dup10
alias dup11	$dup10
alias dup12	$dup11
alias dup13	$dup12
echo $バイト $dup13




echo A= $バイト , 	B= $バイト , 	C= $バイト
echo A= ($バイト-1) , 	B= ($バイト + 	$バイト)

echo A= $バイト , B= $バイト, C=$バイト*2	;OK　$<id>の前後に空白はなくてもよい

echo $abc $abc
echo $ワード @byte($ワード) @byte($ワード) @byte(@word($ワード))

echo @byte($ワード, $ワード)
echo @byte( 10 ,20, 30 )

echo $str1 $str2
echo $str1$str2; comment
echo $str1+$str2
echo &$$str1


echo $abc
echo $abc?
echo $abc"
echo $abc'd



alias

