[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Kyan Optimizer
- Subject: Re: Kyan Optimizer
- From: "A2Pro" <a2@wilserv.com>
- Date: 6 Jul 2006 15:28:15 -0700
- Complaints-to: groups-abuse@google.com
- Injection-info: s53g2000cws.googlegroups.com; posting-host=206.148.20.201; posting-account=xUT8kw0AAADKaw7807_TMEhiIwGCOQU5
- Newsgroups: comp.sys.apple2
- Organization: http://groups.google.com
- References: <44a6c1de$0$833$ba4acef3@news.orange.fr>
- User-agent: G2/0.2
- Xref: g2news2.google.com comp.sys.apple2:10122
Hi, y'all!
Guillaume Tello wrote:
> Has anybody a documentation about the kyan pascal's OPTIMIZER (OP)?
> Or just a short description of its parameters, if any...
<--- snip --->
'OP' is a peephole optimizer for the assembly language source files
generated by 'PC', the Kyan Pascal compiler. To run successfully, the
files "OPLIB.PASCAL.I", "OPLIB.MAIN1.I" and "OPLIB.MAIN2.I" must
be in the current directory or in the "BIN" subdirectory.
By entering 'OP' from the command line provided by "KIX", the shell
that comes with Kyan Pascal, the file "P.OUT" is used as input and the
file "OP.OUT" is created. After "OP" ends, the assembler is started
and the executable file "A.OUT" is created.
If you enter 'OP -O filename' then the executable file "filename" is
created by the assembler instead of "A.OUT".
If you enter 'OP -S' then any comments in "P.OUT" will appear in
"OP.OUT". Also, the assembler will not be started and run.
Comments in "P.OUT" result from including '-S' in the command
line when invoking "PC", the compiler. These comment lines
contain the original Pascal source.
If you enter 'OP -R' then additional optimization will occur.
Specifically, the macros that check the validity of subscript
values will be optimized.
Example of "OP.OUT" created without the '-R' option:
;program test;
include oplib.pascal.i
;
;type ac = array[5..10] of char;
;
;var i: integer;
; av: ac;
;
;begin
_1
_lnk 0,2,0
; av[i] := 'x';
_lga 8
_lga 2
_ldw
_min 5
_max 5
_ndxb
_lcw 120
_stb
;end.
_end 2,8
include oplib.main1.i
include oplib.main2.i
_lomem equ *
Example of "OP.OUT" created with the '-R' option:
;program test;
include oplib.pascal.i
;
;type ac = array[5..10] of char;
;
;var i: integer;
; av: ac;
;
;begin
_1
_lnk 0,2,0
; av[i] := 'x';
_opiav 8,2,5,0
_lcw 120
_stb
;end.
_end 2,8
include oplib.main1.i
include oplib.main2.i
_lomem equ *
Willi