d8ee19c19b680e2aca663bb02adece03ed33d2b1
10 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
2fa7ba29cf |
2010-06-03 16:43 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* package/winuni/mpkg_win_uni.nsi
* 2.0 -> 2.1
* src/hbextern/hbextern.prg
* src/pp/pplib.c
* src/pp/ppcore.c
* src/pp/pplib2.c
* src/pp/hbpp.c
* src/pp/pplib3.c
* src/main/harbour.c
* src/debug/dbgtwin.prg
* src/debug/dbghelp.prg
* src/debug/dbgtmenu.prg
* src/debug/dbgtmitm.prg
* src/debug/dbgtobj.prg
* src/debug/dbgbrwsr.prg
* src/debug/dbgmenu.prg
* src/debug/dbgthsh.prg
* src/debug/tbrwtext.prg
* src/debug/dbgwa.prg
* src/debug/debugger.prg
* src/debug/dbgtarr.prg
* src/debug/dbgtinp.prg
* src/common/hbgete.c
* src/common/hbffind.c
* src/common/hbver.c
* src/common/hbwin.c
* src/common/hbtrace.c
* src/common/funcid.c
* src/common/hbfsapi.c
* src/common/hbprintf.c
* src/common/hbverdsp.c
* src/common/hbwince.c
* src/common/hbfopen.c
* src/common/expropt1.c
* src/common/hbstr.c
* src/common/expropt2.c
* src/common/hbdate.c
* src/common/hbmem.c
* src/common/strwild.c
* src/common/hbhash.c
* src/nortl/nortl.c
* src/macro/macro.yyc
* src/macro/macro.y
* src/macro/macrolex.c
* src/compiler/compi18n.c
* src/compiler/hbmain.c
* src/compiler/ppcomp.c
* src/compiler/hbfix.c
* src/compiler/cmdcheck.c
* src/compiler/hbdbginf.c
* src/compiler/hbpcode.c
* src/compiler/genhrb.c
* src/compiler/complex.c
* src/compiler/hbdead.c
* src/compiler/hbcomp.c
* src/compiler/genobj32.c
* src/compiler/genc.c
* src/compiler/hbopt.c
* src/compiler/hbident.c
* src/compiler/hbusage.c
* src/compiler/gencc.c
* src/compiler/hbcmplib.c
* src/compiler/hblbl.c
* src/compiler/harbour.yyc
* src/compiler/hbstripl.c
* src/compiler/harbour.y
* src/compiler/hbfunchk.c
* src/compiler/hbgenerr.c
* include/hbpp.h
* include/set.ch
* include/achoice.ch
* include/hbrdddbf.h
* include/hbstdgen.ch
* include/hbvmpub.h
* include/hbgtinfo.ch
* include/vm.api
* include/hbpcode.h
* include/hbset.h
* include/hbver.h
* include/hbtrace.h
* include/extend.api
* include/hbapicdp.h
* include/hbrddnsx.h
* include/button.ch
* include/hbstack.h
* include/item.api
* include/inkey.ch
* include/hbapilng.h
* include/hbhrb.ch
* include/tbrowse.ch
* include/common.ch
* include/rdd.api
* include/gt.api
* include/hbgtcore.h
* include/dbinfo.ch
* include/hbundoc.api
* include/hbapifs.h
* include/hbtask.h
* include/hbsetup.ch
* include/hbwince.h
* include/hbvmopt.h
* include/hb_io.h
* include/hbthread.h
* include/hbxvm.h
* include/setcurs.ch
* include/hbdefs.h
* include/hbmsgreg.h
* include/dbedit.ch
* include/hblang.ch
* include/filesys.api
* include/hbdebug.ch
* include/hbextcdp.ch
* include/hbsetup.h
* include/hbmacro.h
* include/hbzlib.ch
* include/hbinit.h
* include/hbtypes.h
* include/hbmacro.ch
* include/hbusrrdd.ch
* include/hbrddsdf.h
* include/hbgtreg.h
* include/hbwinuni.h
* include/hbapi.h
* include/simpleio.ch
* include/hbmemory.ch
* include/hbpers.ch
* include/error.ch
* include/hb.ch
* include/hbapiitm.h
* include/hbmath.h
* include/hbmath.ch
* include/memoedit.ch
* include/hbvmint.h
* include/hbver.ch
* include/fileio.ch
* include/rddsys.ch
* include/hbrddntx.h
* include/hbapicom.h
* include/hbatomic.h
* include/extend.h
* include/hbznet.h
* include/hbvm.h
* include/std.ch
* include/hbapidbg.h
* include/hbmemvar.ch
* include/hbcomp.h
* include/hbapirdd.h
* include/hbextlng.ch
* include/color.ch
* include/hbcompdf.h
* include/hbclass.ch
* include/hbsxdef.ch
* include/hbmather.h
* include/dbstruct.ch
* include/hbsocket.ch
* include/hbdyn.ch
* include/hbrdddel.h
* include/hbtrace.ch
* include/error.api
* include/hbapistr.h
* include/hbwmain.c
* include/hbexpra.c
* include/hbexprop.h
* include/hbiniseg.h
* include/hbgfx.ch
* include/hbsocket.h
* include/hbchksum.h
* include/hbdbf.h
* include/hbbfish.h
* include/hbdbsort.h
* include/hbcdpreg.h
* include/hbapigt.h
* include/hbfloat.h
* include/hbgfxdef.ch
* include/hbsix.ch
* include/hbextern.ch
* include/hbapicls.h
* include/hberrors.h
* include/directry.ch
* include/clipdefs.h
* include/hboo.ch
* include/box.ch
* include/hbinkey.ch
* include/hbapierr.h
* include/hbhash.h
* include/assert.ch
* include/hbassert.h
* include/getexit.ch
* include/reserved.ch
* include/hbregex.h
* include/fm.api
* include/hbthread.ch
* include/hbexprb.c
* include/ord.ch
* include/hbdate.h
* Deleted 'www.' from harbour-project.org website name.
(www.harbour-project.org -> harbour-project.org)
|
||
|
|
b1a27cbed7 |
2009-02-13 16:03 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* bin/hbmk.bat
+ Added autodetection of Harbour dirs. So this batch will
now work when called from any directories, and even if
'/bin' dir is added to the PATH. IOW, it's not anymore
necessary to supply these envvars in normal cases:
HB_INSTALL_PREFIX, HB_BIN_INSTALL, HB_LIB_INSTALL,
HB_INC_INSTALL. If someone moves this batch file away
from its original place, these envvars can still be used
to point to the Harbour tree, but support for this may
be removed in the future to keep things simple.
+ Added support for multiple .prg files on the command line.
The first will be the main program.
+ Added support to supply .c files on the command line.
[these features need Windows NT or upper]
; TODO: Test OpenWatcom. I had to remove -fo and FILE
directives from script, if this was required we
need to find a solution to support multiple
input files.
* bin/hbmk_b32.bat
* bin/hbmk_vc.bat
+ Now these files can be called from any directories and even
when '/bin' dir is added to the PATH.
+ Added support for unlimited number of command line parameters.
[these features need Windows NT or upper]
* Changed to not interfere with 'echo off' setting of the
caller.
; NOTE: After this change it's possible to get rid of all
non-customized version of hbmk_b32.bat/hbmk_vc.bat
files in the source tree. I plan to remove these in
the near future. The rest can be simplified in most
places. This will only cause some inconvenience
for developers still using Win95/98/ME.
+ bin/hbmk_gcc.bat
+ bin/hbmk_ow.bat
+ Added make batch files to MingW/GCC and OpenWatcom.
* contrib/hbwin/win_tprn.prg
! Fixed recent typo.
* include/hbstdgen.ch
- Removed #undef __FILE__. I understand this isn't needed anymore.
|
||
|
|
5725adf803 |
2009-02-10 02:04 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* doc/whatsnew.txt
* include/hbextern.ch
* source/vm/runner.c
* source/rdd/dbcmd.c
* __HRB*() functions marked as HB_LEGACY_LEVEL2 compatibility,
please update your code to use HB_HRB*().
* __RDDGETTEMPALIAS() marked as HB_LEGACY_LEVEL2 compatibility,
please update your code to use HB_RDDGETTEMPALIAS().
; I've permanently remove these symbols from hbextern.ch, so
regardless of the legacy setting, hbrun won't have them
anymore. This is merely technical, as it would need some
hacks in the make system to push through HB_LEGACY_OFF
to pptable.c generation. If someone wants to deal with
this, even better.
* include/hbstdgen.ch
* Added #undef __FILE__.
* include/hbsetup.ch
* Minor.
|
||
|
|
ccd1a88f7b |
2008-11-05 19:16 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* bin/hb-func.sh
* include/hbstdgen.ch
* include/hbver.h
* contrib/examples/pp/pp.c
* source/pp/ppcore.c
* source/pp/hbpp.c
* source/common/hbver.c
* HB_VER_REVISION -> HB_VER_RELEASE.
INCOMPATIBLE.
|
||
|
|
dddbc1c824 |
2008-11-02 07:33 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbstdgen.ch
- Removed HB_VERSION mistakenly left there.
* include/hbextern.ch
* source/rtl/version.c
+ Added HB_OSISWINNT()
+ Added HB_OSISWINCE()
[TOMERGE 1.0]
* include/hbver.ch
* source/rtl/version.c
+ Added:
hb_version( HB_VERSION_MT ) -> <logical>
hb_version( HB_VERSION_UNIX_COMPAT ) -> <logical>
hb_version( HB_VERSION_PLATFORM ) -> <string> (same as ending of __PLATFORM__* macros)
This makes these functions/macros deprecated:
- HB_MTVM()
- __PLATFORM__* (not for all possible situations)
; TOFIX: Cleanup REVISION/SVN term usage in source.
; TOFIX: Remove HB_VER_* predefined macro usage on .prg level.
; TODO: Removed some deprecated by hb_version() functions/macros.
* include/hbapi.h
* source/vm/itemapi.c
* source/common/hbstr.c
* source/common/expropt2.c
* source/rtl/chrasc.c
* source/rtl/hbi18n.c
* Minor formatting.
|
||
|
|
0e53a69d71 |
2008-06-27 13:22 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbstdgen.ch
* include/hbver.h
* Cleanups to previous change.
! Fixed HB_STD_CH_ to not be #defined in .prgs by default.
|
||
|
|
53c7ccc18b |
2008-06-27 12:24 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbstdgen.ch
* include/hbver.h
* include/hbdefs.h
* source/pp/pplib.c
* source/pp/ppcore.c
* source/pp/hbpp.c
* source/common/hbver.c
* source/common/hbverdsp.c
* contrib/hbsqlit3/hbsqlit3.c
* contrib/examples/pp/hbppdef.h
* Changed .c level __HARBOUR__ to have the same value
as the existing .prg level one.
* PP now gets the __HARBOUR__ define directly from the .c
level instead of generating it locally.
; QUESTION: Should or shouldn't we change __HARBOUR__
to contain revision number too? (0x0100 -> 0x01000)
This would allow for a greater level of development
opportunities between minor revisions, more "agile"
development.
* include/hbpp.h
* source/pp/ppcore.c
- Two __XHARBOUR__ guards removed.
|
||
|
|
56267f28dd |
2007-04-14 12:40 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour/include/hbstdgen.ch
* harbour/include/box.ch
* harbour/include/hbclass.ch
* harbour/include/hbcommon.ch
* harbour/include/hbextern.ch
* harbour/include/hbgetcmt.ch
* harbour/include/hbsetup.ch
* harbour/include/ord.ch
* harbour/source/rdd/dbdelim.prg
* harbour/source/rdd/dbfuncs.prg
* harbour/source/rdd/dbjoin.prg
* harbour/source/rdd/dblist.prg
* harbour/source/rdd/dbsort.prg
* harbour/source/rdd/dbstrux.prg
* harbour/source/rdd/dbtotal.prg
* harbour/source/rdd/dbupdat.prg
* harbour/source/rdd/rddord.prg
* harbour/source/rtl/alert.prg
* harbour/source/rtl/browdb.prg
* harbour/source/rtl/browdbx.prg
* harbour/source/rtl/checkbox.prg
* harbour/source/rtl/dircmd.prg
* harbour/source/rtl/getsys.prg
* harbour/source/rtl/input.prg
* harbour/source/rtl/mssgline.prg
* harbour/source/rtl/pushbtn.prg
* harbour/source/rtl/radiobtn.prg
* harbour/source/rtl/radiogrp.prg
* harbour/source/rtl/setfunc.prg
* harbour/source/rtl/setta.prg
* harbour/source/rtl/tbcolumn.prg
* harbour/source/rtl/tget.prg
* harbour/source/rtl/tgetint.prg
* harbour/source/rtl/tmenuitm.prg
* harbour/source/rtl/tpopup.prg
* harbour/source/rtl/ttopbar.prg
* harbour/source/rtl/typefile.prg
* harbour/source/vm/harbinit.prg
* harbour/utils/hbrun/external.prg
* harbour/utils/hbtest/rt_main.ch
+ Following #defines are now available by default without
the need to #include "hbsetup.ch". These are of course
also available for applications as defined at Harbour
build time:
HB_EXTENSION
HB_C52_UNDOC
HB_C52_STRICT
HB_COMPAT_C53
HB_COMPAT_XPP
HB_COMPAT_VO
HB_COMPAT_FLAGSHIP
HB_COMPAT_FOXPRO
HB_COMPAT_DBASE
HB_COMPAT_CLIP
HB_COMPAT_XHB
HB_SHORTNAMES
HB_FILE_VER_STATIC
* harbour/source/compiler/hbusage.c
* Mail address update.
|
||
|
|
fb4d3ca4b8 |
2007-02-25 17:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbstdgen.ch
* added #undef HB_COMPAT_XHB
* harbour/source/common/hbstr.c
* indenting
* harbour/source/compiler/ppcomp.c
* updated line numbering in #pragma dump code and error messages
executed for disabled code
* harbour/source/pp/ppcore.c
* changed the precedence of #pragma BEGINDIUMP/ENDDUMP - now
it has higher precedence then conditional compilation with
#IF[DEF]/#ENDIF
* added support for defined() pseudo function in #IF / #ELIF
directives, f.e.:
#if defined( __HARBOUR__ ) .and. !defined( HB_COMPAT_XHB )
#stdout "Harbour compiler compiled without xHarbour extensions."
#endif
|
||
|
|
437b04a8ea |
2006-11-08 12:55 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/bin/hb-func.sh
+ added linker parametrs to hbcc
* harbour/include/hbapi.h
+ added hb_retclenAdoptRaw()
* harbour/include/hbapifs.h
* harbour/source/common/hbfsapi.c
* changed first parameters of hb_fsAddSearchPath() to const char *
* harbour/include/hbclass.ch
* update for new PP. I think that now we can try to create final
version of our OOP rules.
* harbour/include/hbdefs.h
+ added UCHAR and SCHAR typedefs
* harbour/include/hbrddcdx.h
* indenting
* harbour/source/rdd/workarea.c
! fixed minor typo
* harbour/source/common/hbdate.c
* harbour/source/rtl/dates.c
* moved hb_dateToday() and hb_dateTimeStr() from RTL to COMMON library
- harbour/include/hbpp.h
- harbour/source/pp/ppcomp.c
- harbour/source/pp/ppcore.c
- harbour/source/pp/pplib.c
- harbour/source/pp/pptable.c
- harbour/source/pp/pragma.c
* harbour/utils/hbpp/Makefile
* harbour/utils/hbpp/hbpp.c
+ harbour/utils/hbpp/hbpp.h
+ harbour/utils/hbpp/ppcomp.c
+ harbour/utils/hbpp/ppcore.c
+ harbour/utils/hbpp/pplib.c
+ harbour/utils/hbpp/pptable.c
+ harbour/utils/hbpp/pragma.c
* moved all PP code to harbour/utils/hbpp
It's interesting and working preprocessor and the code can be
usable for some other things so I do not want to remove it.
Probablly we should move it to contrib/hbpptext
* harbour/include/hbcomp.h
* harbour/include/hberrors.h
* harbour/include/hbsetup.ch
+ harbour/include/hbpp.h
+ harbour/include/hbstdgen.ch
* harbour/source/common/hbstr.c
* harbour/source/compiler/Makefile
* harbour/source/compiler/cmdcheck.c
* harbour/source/compiler/harbour.c
* harbour/source/compiler/harbour.l
* harbour/source/compiler/hbgenerr.c
+ harbour/source/compiler/ppcomp.c
* harbour/source/pp/Makefile
+ harbour/source/pp/ppcore.c
+ harbour/source/pp/pplib.c
+ harbour/source/pp/ppgen.c
+ New PP code written from scratch. It works in similar way to
Clipper PP even the error codes are replicated. The code is MT
safe does not have any limitation on size of preprocessed code,
line, etc. It's also Clipper compatible lexer. It means that
we do not longer need FLEX or SIMPLEX which can be replaced
by new PP after some small modifications. Anyhow I haven't
decided to make it myself. I would like to agree with with the
rest of developers. I will be very happy if such modifications
will be done by someone else, Ryszard?
Meanwhile I current PP join on output the line tokens and give
the string line to FLEX/SIMPLEX. It does not have any sense and
all FLEX/SIMPLEX limitations are still existing. Ryszard, even
if we keep it then I hope you can remove at least FLEX line buffer
and use the one returned from PP.
Because string tokens in parsed line are converted to text which is
later once again decoded to tokens by FLEX I had to introduce new
string format which supports embedded string delimiters. I chose
modified version of xHarbour extension with escaped strings e"<sting>"
so now FLEX understand such strings and decode them like C escaped
strings. It means that you can use them also in the .prg code f.e.:
outstd( e"Hello\n\rWorld" )
The new PP is also noticeable faster. You should see the difference
compiling long files. The build in PP rules are generated automatically
by ppgen program created from source/pp/ppgen.c
I had to add to GNU source/pp/Makefile these two lines:
pptable.c : ppgen$(EXE_EXT)
./ppgen$(EXE_EXT) $(TOP)$(ROOT)include/hbstdgen.ch -opptable.c -q
Sth like that will have to be done also in non GNU make system.
Now Harbour can be compiled only using GNU make.
Marek can you update non GNU make files? I would like to leave this
modification to you or other developers who can test it.
It was quite big modification and I do not believe that I haven't
make any mistakes but I hope that in few weeks I'll fix any reported
bugs and it will resolve any PP problems.
TODO:
* error messages
create one common list of errors and warnings and keep it
in common library. PP and compiler can still generate different
errors with the same number. It can be confusing for the users
and hard to document and add i18n translations.
If possible we should also try to keep Clipper error numbers.
In new PP code I added Clipper error numbers but I cannot use
them until compiler code is not updated.
We should aslo remove the ctype passed to error functions and
hack with first character in warning messages and use only
error number. The codes from 1000 to 1999 should be warnings
where range 1000:1099 is activated by -w, 1100:1199 by -w1,
1200:1299 by -w2, etc. 2000:2999 are errors and 3000:3999
fatal errors. All compiler functions which generate an error
should expect that error function will not stop the compiler
but return and cleanly finished their job. It's necessary for
MT support in compiler and making compiler part of some other
programs which may still work and compile different source code.
* FLEX/SIMPLEX
remove them at all and add some final pass to PP to create
more precise tokens for grammar parser or at least add better
integration to remove some redundant code and existing limits.
* hb_inLine() support - it's broken in new PP but as I can see
it was never working correctly. I can add a hack to PP to support
hb_inLine() but I'm not sure it's worth to do. Maybe in few days.
+ harbour/include/std.ch
+ added new std.ch. It was created without using Clipper's std.ch.
It's quite possible that some rules are wrong and should be fixed
so please help. Anyhow I created a set of programs based on new PP
code generating all possible combinations of different commands I
collected from different source code, documentation and match patterns
of rules I was adding to new std.ch and then I was comparing .ppo
files generated by Clipper and Harbour so I do not expect any bigger
problems then some minor typos. I had to introduce some modifications
in spacing as workaround for FLEX/SIMPLEX which cannot properly decode
text preprocessed by Clipper after stringify.
* harbour/utils/hbpptest/pretest.prg
* updated for new PP
It reports 16 wrong translations but some of them are valid
and some others are caused by escaped string e"..." (one of hack
for FLEX/SIMPLEX support)
I also had to remove all spaces in comparison the results
because they were not Clipper ocmpatible at all. Ryszard please
look at it.
|