Il 28/05/2019 17:40, Troy A. Griffitts ha scritto:
>
> So, a little background surrounding why the logic is difficult to work
> out a solution for this problem:
>
> The current verse parser, which works fairly well, always has 3 sets
> of possibilities in view:
>
> OSISRef
> Current Locale
> English
>
> The parser needs to handle any of these three, typically in the
> preference order listed above.  The issue with changing out symbols
> while parsing is that some symbols (notoriously the comma) are used
> for different purposes across these 3 sets.
>
> One might think that localized output might be easier than parsing,
> e.g., once parsed, we could at least output the reference: Jn 3,16. 
> The problem here is that what the engine outputs it also expects to be
> able to parse.
>
> While we would like to solve this problem, it isn't as simple as
> adding to the locale files:
>
> ChapterVerseSeparator=,
>
> RangeSeparator=-
>
> ListSeparator=.
>
> This would be enough to define the locale, but not solve the problem. 
> We would need a fundamental change in how parsing is done, e.g.,
> explicitly telling the parser, "Hey, I'm sending you localized input,
> so don't guess.  You can count on the symbols I'm sending you to be
> localized"  Right now everyone has the convenience of just passing any
> of the 3 sets of parsing text listed above and theparser just figuring
> it out-- with the caveat that chapter, range, and list separators are
> not localizable.
>
> Hope this gives some background,
>
Yes thank you, but I just don't understand why it is already possible
with two separator (. and : ) and then not only with one? Maybe I can't
understand it because it is too much hard (technicaly) for me ;)
>
> Troy
>
>
> On 5/28/19 6:10 AM, David Haslam wrote:
>> OK - but my observations were not entirely irrelevant. 
>>
>> Some front-ends never need the user to enter a reference in an edit
>> box. Navigation is done entirely via menu selections or clicking
>> search results etc. 
>> AFAICT this is true of PocketSword. 
>>
>> Other front-ends are designed at the opposite extreme. All navigation
>> is done through an edit box. This is true (eg) of STEP Bible. 
>>
>> Best regards,
>>
>> David. 
>>
>> Sent from ProtonMail Mobile
>>
>>
>> On Tue, May 28, 2019 at 13:54, ref...@gmx.net <ref...@gmx.net
>> <mailto:ref...@gmx.net>> wrote:
>>> Sorry, David, that is a complete misunderstanding. Modules need
>>> osisref. There is and will be no need to do anything to the modules.
>>> This is about the engine parser to read references locale
>>> appropriately.
>>>
>>> Sent from my mobile. Please forgive shortness, typos and weird
>>> autocorrects.
>>>
>>>
>>> -------- Original Message --------
>>> Subject: Re: [sword-devel] C++ volunteer
>>> From: David Haslam
>>> To: SWORD Developers' Collaboration Forum
>>> CC:
>>>
>>>
>>>     Parsing native references is not a simple task, as we know from
>>>     the fact that adyeths orefs.py was kicked into touch indefinitely. 
>>>
>>>     And that’s even when punctuation marks are defined in the
>>>     specified configuration file. 
>>>
>>>     Unless we might consider the possibility of adding keys to
>>>     module .conf files that define the module specific
>>>     native reference punctuation marks and separators. 
>>>
>>>     That could be a huge undertaking, considering the need to
>>>     maintain backwards compatibility. 
>>>
>>>     And it’s not as if it really is module specific entirely. A user
>>>     can be switching between modules with different languages, yet
>>>     would need the current reference to always work, no matter what. 
>>>
>>>     Best regards 
>>>
>>>     David
>>>
>>>     Sent from ProtonMail Mobile
>>>
>>>
>>>     On Tue, May 28, 2019 at 12:10, ref...@gmx.net <ref...@gmx.net
>>>     <mailto:ref...@gmx.net>> wrote:
>>>>     The improvement request for allowing commas in references...
>>>>     adding commas in the suggested form would make millions of
>>>>     currently valid Anglo references invalid. The problem is a much
>>>>     wider one, references should be localised in their punctuation
>>>>     too. I am not sure how difficult this would be, but I guess we
>>>>     could make a start by defining what punctuation is used for
>>>>     which purpose , and then take it from there.
>>>>
>>>>     Cyrille, maybe start a page on the wiki and start thinking there.
>>>>
>>>>     Sent from my mobile. Please forgive shortness, typos and weird
>>>>     autocorrects.
>>>>
>>>>
>>>>     -------- Original Message --------
>>>>     Subject: Re: [sword-devel] C++ volunteer
>>>>     From: Cyrille
>>>>     To: SWORD Developers' Collaboration Forum
>>>>     CC:
>>>>
>>>>
>>>>         Hello Richard,
>>>>         Welcome!
>>>>         May I make a very selfish proposal to Richard who offers
>>>>         his help. There are two issues that I really want to be
>>>>         resolved. One of which particularly handicaps Catholic
>>>>         users, (but I discovered today that the issue wasn't been
>>>>         reported!!! I just did it):
>>>>         https://tracker.crosswire.org/browse/API-216
>>>>         And the second:
>>>>         https://tracker.crosswire.org/projects/API/issues/API-180
>>>>
>>>>         If there are more important things that I am not able to
>>>>         estimate not being a developer, I would have tried my luck ;)
>>>>
>>>>         Il 28/05/2019 01:38, Troy A. Griffitts ha scritto:
>>>>>         Richard, sorry, I meant to give you the link to our tracker:
>>>>>
>>>>>         https://tracker.crosswire.org
>>>>>
>>>>>
>>>>>         On 5/27/19 4:32 PM, Troy A. Griffitts wrote:
>>>>>>         Welcome, Richard!
>>>>>>
>>>>>>         I would start at 2 places:
>>>>>>
>>>>>>         First, have a look at our tracker here.  We are not very (very 
>>>>>> not)
>>>>>>         disciplined at keeping it current.  Skimming through there and
>>>>>>         commenting on anything that looks interesting, or even cleaning 
>>>>>> a few
>>>>>>         things up in there that you confirm are no longer a problem 
>>>>>> might be a
>>>>>>         useful exercise to get you poking around at internals and would 
>>>>>> be a
>>>>>>         blessing for us.  Our modus operandi as of late is to create a 
>>>>>> new unit
>>>>>>         test in sword/tests/testssuite/ which fails at the bug and then 
>>>>>> once
>>>>>>         fixed, the test should pass and we leave the test around to be 
>>>>>> sure we
>>>>>>         don't regress.  We can always use more tests in our tests suite.
>>>>>>
>>>>>>         Next, we have the intention to modularize our search engines 
>>>>>> support and
>>>>>>         search types.  Right now, SWModule (which represents a Bible) 
>>>>>> implements
>>>>>>         our SWSearchable interface, which is fine, but right now it has 
>>>>>> a bunch
>>>>>>         of #ifdef logic and switch statements to take different code 
>>>>>> paths
>>>>>>         depending on which search engine is compiled into SWORD and 
>>>>>> which search
>>>>>>         type is specified.  This was fine initially, but has grown to 
>>>>>> such that
>>>>>>         we now support spaghetti in there.  It should probably simply 
>>>>>> have a set
>>>>>>         of SWSearchable objects in a map<SEARCH_TYPE, SWSearchable> and 
>>>>>> proxy
>>>>>>         the search request to the appropriate SWSearchable impl based on 
>>>>>> what
>>>>>>         types are registered for the module.  This would allow us to 
>>>>>> implement
>>>>>>         new types and register them with modules which support special 
>>>>>> search
>>>>>>         types, e.g., advanced Hebrew Morphology searching.  That's the 
>>>>>> general
>>>>>>         idea anyway.
>>>>>>
>>>>>>         You should probably become familiar with SWFilter and how we use 
>>>>>> these
>>>>>>         throughout the engine. These prepare a buffer for particular
>>>>>>         objectives.  We have RenderFilters, EncodingFilters, 
>>>>>> StripFilters, ... 
>>>>>>         The last prepares an SWModule entry for searching by, typically,
>>>>>>         stripping out all markup and leaving only a plaintext buffer 
>>>>>> which can
>>>>>>         be searched.  We have some special code in the SWModule::search
>>>>>>         spaghetti which takes Greek and Hebrew modules and turns buffers 
>>>>>> into a
>>>>>>         series of Strongs#@MorphCode Strong#@MorphCode ... which allows 
>>>>>> regex
>>>>>>         searches to do some advanced morph searching... like: Find this 
>>>>>> strongs
>>>>>>         number, any morphology, followed by a any verb withing 2 words.  
>>>>>> You
>>>>>>         have to be pretty familiar with the Strong#@MorphCode syntax to
>>>>>>         formulate something like that, but the idea is that a frontend 
>>>>>> could
>>>>>>         have a nice UI to help a user come up with some creative 
>>>>>> searches. 
>>>>>>         Anyway, these should all be probably modulized out by renaming 
>>>>>> the
>>>>>>         StripFilter concept to SearchFilter, and then pushing all this 
>>>>>> special
>>>>>>         code out to SearchFilter impls which do these special things...
>>>>>>
>>>>>>         Finally, an objective of all this search modularization is also 
>>>>>> to break
>>>>>>         out the code required to create search indexes for each of the 
>>>>>> search
>>>>>>         engines we support.  Ideally, we should be able to support the 
>>>>>> same
>>>>>>         searches either as an indexed or brute force search.  The same 
>>>>>> code
>>>>>>         which iterates a module, prepares each entry, and pushes that 
>>>>>> entry to
>>>>>>         the search engine, building the search index, should also work 
>>>>>> for a
>>>>>>         brute force search-- iterating the module, preparing each entry 
>>>>>> for the
>>>>>>         search engine.. and then performing a check on that buffer to 
>>>>>> see if it
>>>>>>         matches the search expression.
>>>>>>
>>>>>>         I hope this gives you a few things to think about. It has been 
>>>>>> good for
>>>>>>         me to refresh thoughts on all of this.  Have a look and let me 
>>>>>> know what
>>>>>>         you think.
>>>>>>
>>>>>>         Welcome!  Looking forward to sharing in service together,
>>>>>>
>>>>>>         Troy
>>>>>>
>>>>>>          
>>>>>>
>>>>>>         On 5/27/19 1:09 PM, Richard Smith wrote:
>>>>>>>         Hi,
>>>>>>>
>>>>>>>         My name's Richard Smith. I'm a C++ software engineer with 10 
>>>>>>> years
>>>>>>>         experience in various industries. I was wondering if there was 
>>>>>>> any
>>>>>>>         space for a volunteer. I've started taking a look at things 
>>>>>>> (building
>>>>>>>         repos on Win/unix), but if there are specific things that are
>>>>>>>         required, within my ability, I'm happy to do that.
>>>>>>>
>>>>>>>         Best Regards
>>>>>>>         Richard Smith
>>>>>>>
>>>>>>>         _______________________________________________
>>>>>>>         sword-devel mailing list: sword-devel@crosswire.org
>>>>>>>         http://www.crosswire.org/mailman/listinfo/sword-devel
>>>>>>>         Instructions to unsubscribe/change your settings at above page
>>>>>>         _______________________________________________
>>>>>>         sword-devel mailing list: sword-devel@crosswire.org
>>>>>>         http://www.crosswire.org/mailman/listinfo/sword-devel
>>>>>>         Instructions to unsubscribe/change your settings at above page
>>>>>         _______________________________________________
>>>>>         sword-devel mailing list: sword-devel@crosswire.org
>>>>>         http://www.crosswire.org/mailman/listinfo/sword-devel
>>>>>         Instructions to unsubscribe/change your settings at above page
>>>>
>>>
>>>
>>
>>
>>
>> _______________________________________________
>> sword-devel mailing list: sword-devel@crosswire.org
>> http://www.crosswire.org/mailman/listinfo/sword-devel
>> Instructions to unsubscribe/change your settings at above page
>
> _______________________________________________
> sword-devel mailing list: sword-devel@crosswire.org
> http://www.crosswire.org/mailman/listinfo/sword-devel
> Instructions to unsubscribe/change your settings at above page

_______________________________________________
sword-devel mailing list: sword-devel@crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page

Reply via email to