>> --- .hbp
>> -hbdyn
>> -inc
>> -...
>> -o
>> 
>> #HBIDE.FILES_START
>> test.prg
>> #HBIDE.FILES_END
>> ---
>> 
>> You can add similar sections for every .hbp parts 
>> which are allowed to be controlled also by GUI means.
>> 
>> If you stick with above method, you can use this 
>> method to store HBIDE-only settings inside .hbp file:
>> 
>> #HBIDE.category.option1=valuex
>> #HBIDE.category.option2=valuey
>> 
> 
> To include hbIDE specific stuff in .hbp is easier.
> But the   reverse is tough from current .hbp format.
> It would been heartening if .hbp would been sectionized.

The idea is exactly that it should not be sectionized, 
but just a free flow of tokens, this ensures these files 
can be embedded for example, and make parsing easy as a 
stream. Nevertheless, with above method, you can add 
quasi-sections for HBIDE, and human users to understand 
and respect, and hbmk2 just ignores.

> Let us parse hbide.hbp
> 
> #
> # $Id: hbide.hbp 13533 2010-01-11 13:44:04Z druzus $
> #
> 
> ../hbxbp/hbxbp.hbc
> -inc
> -w3 -es2 -gc3
> -ohbide
> 
> # Trick to make QT 4.6 link using default Harbour build
> -ldflag={msvc}-nodefaultlib:msvcrt.lib
> -ldflag={msvc}-defaultlib:libcmt.lib
> 
> hbide.prg
> ideobject.prg
> idestylesheets.prg
> idetags.prg
> idemisc.prg
> ideactions.prg
> ideeditor.prg
> idefindreplace.prg
> idedocks.prg
> idesaveload.prg
> iderequests.prg
> idethemes.prg
> ideprojmanager.prg
> idesources.prg
> 
> ideparseexpr.c
> 
> 
> What I can recognize:
> Lines starting with    #   comments

Yes, that's always guaranteed to be true.

>                            ..    hbc location
>                             -    switch 
> Lines having            =    switch 

These are not necessarily line based, you 
can have any number of tokens (options, input 
files) in one line. Tokens with '.hbc' extension 
are just one kind of input file.

Tokens starting with '-' (and in some 
cases '/') are always options, the rest is 
input file. Types of input files are recognized 
by extension and/or '@' prefix.

[ nit pick: some input files are specced 
as options, f.e. -l<lib> ]

> Everything else              source file

_input file_ rather. Some input files are source 
files (based on extension), some others are hbmk2 
config files, or other misc input files, like 
.clp, .d or .po files.

> Am I right in my observation ?

Partially. It's a freeform format. I hope above 
comments helped to clear it. If not, pls ask.

Brgds,
Viktor

_______________________________________________
Harbour mailing list (attachment size limit: 40KB)
[email protected]
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to