Author Topic: Latest Releases  (Read 10019 times)

0 Members and 1 Guest are viewing this topic.

Charles Pegge

  • Guest
Latest Releases
« on: August 31, 2011, 10:36:29 PM »
This one should fix Peter's problem with the colons.

I will put out another release (37) shortly as we have accumulated quite a number of changes and new examples. The in-progress version continues to be updated almost on a daily basis.

Charles

[attachment deleted by admin]

Aurel

  • Guest
Re: Latest Releases
« Reply #1 on: September 01, 2011, 01:16:48 AM »
Charles ...is this release still dependent on oxygen.dll or not ?

Ooups ...this is only a dll....

When we can see oxygen that works without dll?
« Last Edit: September 01, 2011, 01:19:13 AM by Aurel »

Charles Pegge

  • Guest
Re: Latest Releases
« Reply #2 on: September 01, 2011, 02:08:42 AM »
Hi Aurel,

If you run any source code with the runtime library included at the top, it will compile to an independent exe (or dll) that has no further dependency on Oxygen.dll.

For Example, these 2 lines in the SearchFiles program perform this operation. I comment them out when performing direct execution from script, and uncomment them when I'm ready to make an exe

Code: [Select]
 $filename "SearchFiles.exe"
  #include "..\..\inc\rtl32.inc"

Charles

PS. Secondary or run-time compiling (using the compile and uncompile functions) will not work in independent mode. But this is the only exception as far as I know.
« Last Edit: September 01, 2011, 02:16:30 AM by Charles Pegge »

Peter

  • Guest
Re: Latest Releases
« Reply #3 on: September 01, 2011, 02:18:41 AM »
Hi Aurel,

When we can see oxygen that works without dll?

when this happens.

[attachment deleted by admin]

kryton9

  • Guest
Re: Latest Releases
« Reply #4 on: September 01, 2011, 01:17:15 PM »
I see the four horsemen coming Peter.

Aurel

  • Guest
Re: Latest Releases
« Reply #5 on: September 02, 2011, 10:42:04 AM »
So if i want make standalone exe without oxygen.dll i must include rtl32.inc.
Ok i will try....
I don't know that before.

Charles Pegge

  • Guest
Re: Latest Releases
« Reply #6 on: September 30, 2011, 04:04:35 AM »

Alpha 37


No major features in this release but a number of refinements, bug fixes and consistency fixes related to the self-compile project.

Peter's Window.h required 2 small mods, and I hope we resolved satisfactory rules for the use of colon labels :). (zip below)

wc.lpszMenuName  = caption
wc.lpszClassName = "Oxygen"

wc.lpszMenuName  = ?caption
wc.lpszClassName = @"Oxygen"


Charles

Code: [Select]
19:21 14/07/2011  Calling convention "cpu" for fast calls
10:52 16/07/2011  Replace mkl etc. mk2,mk4,mk8
16:37 20/07/2011  Fix Object pointer ecx: problem showed in /examples/oop/features/AttachObject
16:40 20/07/2011  Test CPU call for objects
05:54 22/07/2011  Scite Oxygen.properties change FilePath to FileNameExt (compat Win98..)
11:48 22/07/2011  Prepare o2lexi.bas: trans strptr varptr
12:12 22/07/2011  Transfer isn ascl asclc wval from o2runt to o2lexi
22:54 22/07/2011  Change word() to tword()
22:54 22/07/2011  Fix rtl [ebx+160]=... in o2sema.bas
21:38 23/07/2011  Trap missing right brackets (functions)
21:53 23/07/2011  Prevent macros (params) swallowing right brackets
21:54 23/07/2011  Allow asm mode to support &h &o etc.
03:06 24/07/2011  Line numbers now appear in Asm error messages
11:00 24/07/2011  "label" for procedures: adds plain label above signatured label
17:03 25/07/2011  Fix "export"
12:12 26/07/2011  Support string and wide string constants: const wstring s="abc"
05:10 27/07/2011  Fix function overloading (o2sema.bas)
11:38 28/07/2011  GXO2 & EXO2 Compilers fix -b option to print machine script
16:22 28/07/2011  Refactor o2hdrs.bas makePE decoupling.
11:33 02/08/2011  Refactor dic()
12:54 02/08/2011  Fix assign-within-bracket bug: Return 10+(number=number+1)+100
12:57 02/08/2011  Fix Return ++number
11:34 03/08/2011  Encode string literals as bstrings
14:22 03/08/2011  Const string returns address
06:38 04/08/2011  Dim/const string now supports series of data strings ('data' word is optional)
16:38 04/08/2011  Fix Asm bugs affecting 'test' and 'xchg': test [ebx+4096],eax : xchg [ebx+4096],eax
08:31 05/08/2011  Asm (internal) removal of redundant err messages. Mods to axdi and axim codings.
11:29 07/08/2011  Refactor string compatsig conversions for more efficient string param processing
11:30 07/08/2011  Fix len to return the number of characters in a wode string.
11:31 07/08/2011  Fix multiAssign to assign correctly to zstring ptr members
11:32 07/08/2011  Fix '@' / '&' to return address of string literal: @"ABC"
11:59 07/08/2011  Also applied to returning address of string constants
00:28 15/08/2011  Fix ++v --v when used with autodim: v=42 : a=++v
13:18 15/08/2011  Reintroduce 'exposed' functions (experimental'
07:28 17/08/2011  Allow comma separators between function tagwords: ..as long,callback,exposed etc
06:08 18/08/2011  Add error trap: "Too many procedure nesitings. Depth limit is currently 7
20:03 18/08/2011  ThinBasic Oxygen update
20:03 18/08/2011  Allow comma separators between class tagwords.
04:56 20/08/2011  Plug memory leak due to number-to-string autoconversion
15:30 21/08/2011  Extend string autoconversion for float intrinsics: sin "1"
08:27 23/08/2011  Fix negative variable handling in expressions: x/-v : x/-(v+4) : x/-v[10]
19:21 26/08/2011  Fix array param support in calls without protoypes: call c a[42]
22:06 26/08/2011  Trap mismatching parameters of higher type. apple a : banana b : EatBanana a
03:26 31/08/2011  Tools/search/SearchFiles utility
22:00 31/08/2011  Fix label/procedure colon confusion: fun: fun : fun():
06:22 01/09/2011  Refactor exportable labels
08:27 08/09/2011  RTL32 remove global variable 'a'
09:12 08/09/2011  Support dot labels placed to the left of an asm instruction
06:12 09/09/2011  Fix Void* tolerance when passing higher type params.
06:13 09/09/2011  Unfix label/procedure colon confusion: fun: fun : fun(): (not safe)
08:59 09/09/2011  Revoke signatured / exportable labels
13:25 09/09/2011  Fix multiline #defines (supports line numbers and Basic comments)
15:33 09/09/2011  Fix multiline named paramers (allow right bracket on separate line)
01:05 18/09/2011  Fix string literal assignment to integer types. string pointers must @"string"
10:45 18/09/2011  internal: uword() / wword() terminated by ; or '
11:34 18/09/2011  Internal: remove underscore from method labels
14:07 18/09/2011  Fix temp storage for autoconverted byref variables
13:11 20/09/2011  Colon labels must be on a line with no other statements
17:09 20/09/2011  FPU calling convention: not _return variable leave value on fpu stack.
00:08 25/09/2011  Fix Wstring byref/byval param bug (procedures)
07:50 25/09/2011  Fix wide string<->ascii autoconvert for user procedures
13:56 25/09/2011  Trap assignments to a bstring byval param in a procedure
05:14 26/09/2011  Fix zstring indrection problem with mid left getfile etc
05:37 26/09/2011  Fix assignments to string param passed byval (internal o2expr & o2assm)
22:22 26/09/2011  Line number tracking improvements
23:32 26/09/2011  Fix problem with comment lines following 'public' etc in class header.
11:15 27/09/2011  Changes to prototypes for: mid val unic asc len instr
12:49 27/09/2011  RTL len (lenz) for zstring and zstring2
13:27 27/09/2011  Trap invalid #file filename
16:34 28/09/2011  Revoke dotted macros (refactor macres)
21:32 28/09/2011  Fix data field delomiter misread (internal writestate/readstate)
05:22 29/09/2011  Refactor COM SAPI voice example
05:23 29/09/2011  Refactor 'new' and 'del' : (getmemory freememory)
05:42 29/09/2011  Revoke wide string literal form: w"..."

Charles Pegge

  • Guest
Re: Latest Releases
« Reply #7 on: November 05, 2011, 05:04:07 AM »

Oxygen In-progress

Extended Str for limiting decimal places()

double a=1.23456789
print str a

print str a,3
result: 1.235


Extended Hex for padding with leading zeros

print hex 15 'result F

print hex 15,4 'result 000F

Charles

kryton9

  • Guest
Re: Latest Releases
« Reply #8 on: November 05, 2011, 11:36:15 AM »
Very handy and well thought out implementations Charles for useful features, thanks.

Charles Pegge

  • Guest
Re: Latest Releases
« Reply #9 on: November 05, 2011, 02:30:58 PM »

I have added a lot more error traps recently, Kent. So you may get some unexpected messages, when compiling your programs.

For instance reassigning to a string passed byval is no longer allowed within a function, since the function caller has sole responsibility for the creation and destruction of the string parameter.

But I'm keeping the programs in the projects section in sync. So you will be able to see any remedial alterations.

Charles

Peter

  • Guest
Re: Latest Releases
« Reply #10 on: November 05, 2011, 04:16:22 PM »
Quote
So you may get some unexpected messages, when compiling your programs.

This isn't problematic,  I expected  this in any case. Actually is this standard.
Luckily  is there  a hospital  near of my home.    :D

Charles Pegge

  • Guest
Re: Latest Releases
« Reply #11 on: November 08, 2011, 01:47:42 PM »
The 64 bit RTL is progressing rapidly. I hope to have some small programs running in a few days time.

A few minor changes to the compiler and assembler were also required, around the issue of 32 bit vs. 64 bit width pointers and stack.

So far the services of the men in white coats with the large syringe have not been required



« Last Edit: November 08, 2011, 01:50:00 PM by Charles Pegge »

JRS

  • Guest
Re: Latest Releases
« Reply #12 on: November 08, 2011, 01:57:23 PM »


Looking forward to be driving on that new highway under construction.  ;)

efgee

  • Guest
Re: Latest Releases
« Reply #13 on: November 21, 2011, 08:59:10 PM »
Side-note:
Downloaded the newest zip and saw that method overloading doesn't work.
Maybe still on the todo list...

Looking at the changelog:
Man are you busy  :o

Charles Pegge

  • Guest
Re: Latest Releases
« Reply #14 on: December 22, 2011, 04:58:01 PM »

Alpha 38


Featuring 64-bit compiling.

Code: [Select]
Alpha038

22:22 30/09/2011  Fix Inferred Type Params: function f(txt="A ", va=42.0)
12:46 01/10/2011  Fix autoconversion (num followed by string function) (typg=0)
05:37 03/10/2011  Trap variables where constants are expected (declaring arrays etc)
11:33 04/10/2011  Fix number to zstring and zstring* param autoconversions
07:39 05/10/2011  Support multi-element 'as' in types & classes: a,b,c,d as string
18:49 05/10/2011  Support for pointered multielement vector *a,*b
22:49 05/10/2011  Revoke Statusof
22:49 05/10/2011  Remove outer quote marks from recordof and #recordof
11:31 06/10/2011  New traps for block errors
10:58 08/10/2011  Refactor 'for' with more error traps
20:16 08/10/2011  Correct handling for tmp strings and bstrings passed to byref proc.
20:18 08/10/2011  New RTL function asstmi [ebx+2232] ' fence + asstmp
12:00 10/10/2011  TB o2 updates
03:00 10/10/2011  Fix redefinitions of previously defined type
08:03 11/10/2011  delimit procs without params with +/\ but not * or -
17:56 11/10/2011  Refactor wval and ascii_to_float: update RTL32
04:24 12/10/2011  Fix protected/private methods in class header
04:25 12/10/2011  make class header "/\" more secure with cr
04:25 12/10/2011  Remove blanked lines from class headers (compacting)
06:38 13/10/2011  Refactor "Let"
18:17 13/10/2011  Refactor varbref (string params byref)
06:14 14/10/2011  Print prameter changed to cstr_
06:16 14/10/2011  _mid to modify zstrings
06:17 14/10/2011  Fix zstring concatenation width
06:18 14/10/2011  Replace all stp with cr in internal Assembler encodings
00:00 15/10/2011  Refactor local and temp garbage collection (to support re-entrancy in threads)
17:04 16/10/2011  Refactor attributes to support literalsa and type members as well as main variables
17:06 16/10/2011  New keyword: TypeCodeOf (to support new concatenator)
13:04 19/10/2011  Simplify top level array assigns detection (o2sema)
01:56 20/10/2011  New concatenator - local buffer to support reentrancy for multithreading
14:54 20/10/2011  Fix 64bit PE encoding glitch (Frank)
09:17 23/10/2011  Error traps around named parameters (Kent)
09:18 23/10/2011  Named parameters can be used without brackets
09:19 23/10/2011  Speech utility updated, (using thread safe string management)
09:22 23/10/2011  Improve line number tracking around classes and function prototypes
22:14 26/10/2011  64 bit mode float support
22:14 26/10/2011  RTL64 memory addlist, delist etc
07:43 27/10/2011  RTL64 prologs and epilog
07:44 27/10/2011  RTL64 bootstrap library
08:46 30/10/2011  Modify Attributes: strip quotes when 1st word in statement
08:47 30/10/2011  this supports sibling creation: fruit apple : typeof apple Bramley
13:21 30/10/2011  Tolerate 'void' as function return type
18:54 31/10/2011  NumberFormat 6 params controlling str() format
19:35 31/10/2011  Extended Hex 2nd param fixes width of number: hex(15,4): 000F
10:49 02/11/2011  Support #indexbase inside classes
11:37 02/11/2011  Trap unidentifed operands in Assembler construct: mov [u],eax
12:26 02/11/2011  Support arrays in prototype. (auto byref) long foo(long a[4]){...}
18:34 02/11/2011  Allow dotted members and indirect variables to be used with For: for fruit.i=1 to ...
08:39 04/11/2011  Trap undefined elements in structures
08:40 04/11/2011  Refactor 'ctype' function (internal)
13:59 04/11/2011  Review autoalign for primitives and inherited members
16:13 04/11/2011  Introduce 'packed' for packed types & typedefs (otherwise auto padded)
19:10 04/11/2011  O2 machine script numbers now tolerate gaps: hl 1234 same as hl1234
12:21 05/11/2011  Extended str(n) to limit decimal places. str(n,dp)
13:25 06/11/2011  fix array of objects / string element bug
12:30 09/11/2011  64 bit mode floats
12:30 09/11/2011  Refactor fpu types
07:33 10/11/2011  64 bit string functions debug
01:31 13/11/2011  64 bit compatibility for MinWin
01:32 13/11/2011  64 bit first windows program compiled
10:20 16/11/2011  64 bit classes
10:19 16/11/2011  64 bit DLL
13:16 16/11/2011  64 bit string param fix (Callcoc)
13:13 16/11/2011  64 bit ClassLibrary working.
23:42 18/11/2011  64 bit Opengl Working (compatibility wgl)
17:42 19/11/2011  change "sizeof" string/bstring/wstring/bstring2 to sys (4/8)
21:41 19/11/2011  Fix const evalualtion in MetaVal
00:39 20/11/2011  Fix Mid patch procedure for array elements and object string members
09:20 20/11/2011  Eliminate snap marker system (snp internal)
11:14 20/11/2011  Fix direct assignment for string functions (bypass concatenator)
22:35 20/11/2011  64 bit GDIplus images / Opengl texture transfer
21:56 21/11/2011  64 bit COM SAPI5 IspVoice speak
21:57 21/11/2011  Methods can no longer specify calling convention. Must match Extern spec.
22:00 21/11/2011  Check calling convention at start of procedures (internal)
07:16 26/11/2011  Fix attributes macro for "sizeof string" (corruption varf flag)
01:32 27/11/2011  64 bit compatible GDI (Peter)
09:43 28/11/2011  Add filenames for assembler error tracking
03:03 30/11/2011  Fix padding behaviour on inherited members
03:04 30/11/2011  64 bit string comparisons - stack alignment and calling rcx,rdx
03:53 30/11/2011  64 bit 3Dview now working
12:21 01/12/2011  64 bit comparisons in conditional statement: ensure stack alignment _sp
11:05 03/12/2011  Syntax option: declare abc() allowed as well as declare sub abc() or declare function abc()
12:29 04/12/2011  Fix name name clashes between methods and functions (efgee)
12:30 04/12/2011  Fix 64 bit autoconversion string to val.
15:28 04/12/2011  Fix 64 bit fpu calls: str(val())
04:53 05/12/2011  Passing strings to unprototyped procedures: @zstring, "literal", bstring, *string
05:53 05/12/2011  Support bothe arrays and functions as params in unprotoyped procedures
00:18 07/12/2011  Fix object/hilevel creation byref
19:37 08/12/2011  Refactor dim system: support mixed C and basic prototype members
19:38 08/12/2011  also supports any word order: function foo() export as long
01:20 09/12/2011  Fix dynamic compile string constants
02:12 09/12/2011  Revoke 'uncompile' procedure (now using inline data)
17:47 10/12/2011  Fix assembler error report (after include file) FILENAME: main source
06:40 12/12/2011  Fix conditional boolean function returning short: if GetAsyncKeyState(27) then ...
13:09 12/12/2011  Fix sticky byref/byval in declarations and prototypes
10:52 15/12/2011  64 bit loading of xmm registers put together with cpu registers. (Late)
09:10 21/12/2011  64 bit Internal (type -5) calls and classes use aligned cdecl, (not ms64)


Charles