Jump to page: 1 2 3
Thread overview
Gauging Interest in Parsing Library
Dec 27, 2004
Matthew
Dec 28, 2004
Matthew
Jan 31, 2005
Matthew
Feb 16, 2005
Matthew
Feb 16, 2005
Matthew
Feb 22, 2005
Zz
Feb 22, 2005
Matthew
Feb 23, 2005
Zz
Mar 02, 2005
Zz
Feb 28, 2005
Matthew
December 26, 2004
Greetings All,

I have finished a first version of a public-domain CFG R-D parser library, the YARD (yet another recursive descent) parser. Would there be any interest in including this library in the STLSoft, assuming of course that I assured it satisfied the technical requirements? More information is avaialable at http://yard-parser.sf.net

TIA

-- 
Christopher Diggins
http://www.cdiggins.com
http://www.heron-language.com


December 27, 2004
Chris

Always interested in all manner of things, especially when they're up to technical requirements. :-)

Specifically, parsing's something I'm very amateurish on, so your proposition sounds appealing on first listen because it sounds like I could learn more.

More objectively, parsing's definitely something that STLSoft does not yet provide - other than straightforward tokenisation (via string_tokeniser<>) - so sounds like it may answer a need.

I'll try and have a gander at YARD later in the week.

(FYI: STLSoft is 100% header only, and is always going to stay that way. However, I'm working on an affiliate structure - so I can 'release' some Synesis / STLSoft interoperation code - whereby things that need to work with arbitrary external libraries would live in the 'stlsoft::x' namespace. Details are a little sketchy atm, but it's important to note that (i) the 100% header only rule is never going to change, but (ii) we're going to find pragmatic ways to workaround it when suitable/necessary.)

Cheers

Matthew

"christopher diggins" <cdiggins@videotron.ca> wrote in message news:cqn9es$2h81$1@digitaldaemon.com...
> Greetings All,
>
> I have finished a first version of a public-domain CFG R-D parser library, the YARD (yet another recursive descent) parser. Would there be any interest in including this library in the STLSoft, assuming of course that I assured it satisfied the technical requirements? More information is avaialable at http://yard-parser.sf.net
>
> TIA
>
> -- 
> Christopher Diggins
> http://www.cdiggins.com
> http://www.heron-language.com
> 


December 27, 2004
"Matthew" <admin@stlsoft.dot.dot.dot.dot.org> wrote in message news:cqo6l3$dgt$1@digitaldaemon.com...
> Chris
>
> Always interested in all manner of things, especially when they're up to technical requirements. :-)
>
> Specifically, parsing's something I'm very amateurish on, so your proposition sounds appealing on first listen because it sounds like I could learn more.
>
> More objectively, parsing's definitely something that STLSoft does not yet
> provide - other than straightforward tokenisation (via
> string_tokeniser<>) - so sounds like it may answer a need.
> I'll try and have a gander at YARD later in the week.

Great!

> (FYI: STLSoft is 100% header only, and is always going to stay that way. However, I'm working on an affiliate structure - so I can 'release' some Synesis / STLSoft interoperation code - whereby things that need to work with arbitrary external libraries would live in the 'stlsoft::x' namespace. Details are a little sketchy atm, but it's important to note that (i) the 100% header only rule is never going to change, but (ii) we're going to find pragmatic ways to workaround it when suitable/necessary.)

YARD is also 100% header. Not something you want in a lager, but definitely an attractive feature in a library ;-)

FYI: YARD has only been tested on Visual C++ 7.1 and GCC 3.4.1. Some other compilers are likely going to complain because it uses a lot of metaprogramming.

-- 
Christopher Diggins
http://www.cdiggins.com
http://www.heron-language.com


December 28, 2004
>> (FYI: STLSoft is 100% header only, and is always going to stay that way. However, I'm working on an affiliate structure - so I can 'release' some Synesis / STLSoft interoperation code - whereby things that need to work with arbitrary external libraries would live in the 'stlsoft::x' namespace. Details are a little sketchy atm, but it's important to note that (i) the 100% header only rule is never going to change, but (ii) we're going to find pragmatic ways to workaround it when suitable/necessary.)
>
> YARD is also 100% header. Not something you want in a lager, but definitely an attractive feature in a library ;-)

Good!

>
> FYI: YARD has only been tested on Visual C++ 7.1 and GCC 3.4.1. Some other compilers are likely going to complain because it uses a lot of metaprogramming.

Then you've come to the right place ... ;)


January 31, 2005
Chris

Still pushed for time, but still interested. Any chance of you pointing me in the direction of a couple of succinct samples showing the usefulness of YARD? :-)

Cheers

Matthew

"christopher diggins" <cdiggins@videotron.ca> wrote in message news:cqo8ob$ful$1@digitaldaemon.com...
> "Matthew" <admin@stlsoft.dot.dot.dot.dot.org> wrote in message news:cqo6l3$dgt$1@digitaldaemon.com...
>> Chris
>>
>> Always interested in all manner of things, especially when they're up to technical requirements. :-)
>>
>> Specifically, parsing's something I'm very amateurish on, so your proposition sounds appealing on first listen because it sounds like I could learn more.
>>
>> More objectively, parsing's definitely something that STLSoft does
>> not yet provide - other than straightforward tokenisation (via
>> string_tokeniser<>) - so sounds like it may answer a need.
>> I'll try and have a gander at YARD later in the week.
>
> Great!
>
>> (FYI: STLSoft is 100% header only, and is always going to stay that way. However, I'm working on an affiliate structure - so I can 'release' some Synesis / STLSoft interoperation code - whereby things that need to work with arbitrary external libraries would live in the 'stlsoft::x' namespace. Details are a little sketchy atm, but it's important to note that (i) the 100% header only rule is never going to change, but (ii) we're going to find pragmatic ways to workaround it when suitable/necessary.)
>
> YARD is also 100% header. Not something you want in a lager, but definitely an attractive feature in a library ;-)
>
> FYI: YARD has only been tested on Visual C++ 7.1 and GCC 3.4.1. Some other compilers are likely going to complain because it uses a lot of metaprogramming.
>
> -- 
> Christopher Diggins
> http://www.cdiggins.com
> http://www.heron-language.com
> 


February 01, 2005
"Matthew" <admin@stlsoft.dot.dot.dot.dot.org> wrote in message news:ctmfbu$203i$1@digitaldaemon.com...
> Chris
>
> Still pushed for time, but still interested. Any chance of you pointing me in the direction of a couple of succinct samples showing the usefulness of YARD? :-)
>
> Cheers

Hi Matthew,

Most definitely, but unfortunately it won't be for at least a couple of weeks. I am currently completely drowning here.

I'll make an announcement here, when it is ready. I am glad to hear you are still interested!

Best,
Christopher


February 16, 2005
Hi Matthew,

Yard version 2.0 has just been released at http://www.ootl.org/yard/ . There is a sample cpp to html program at http://www.ootl.org/yard/examples/cpp_to_html.hpp.htm . I am still working on a comprehensive test suite which will contain numerous succinct examples. (the code was used to generate the pretty source code). Sorry about the delay.

Christopher Diggins
http://www.ootl.org







February 16, 2005
No worries. Things here are still progressing like a weak snail pushing its way through a particularly obdurate bowl of molasses. ;)

"christopher diggins" <cdiggins@videotron.ca> wrote in message news:cv0bq0$11qd$1@digitaldaemon.com...
> Hi Matthew,
>
> Yard version 2.0 has just been released at http://www.ootl.org/yard/ . There is a sample cpp to html program at http://www.ootl.org/yard/examples/cpp_to_html.hpp.htm . I am still working on a comprehensive test suite which will contain numerous succinct examples. (the code was used to generate the pretty source code). Sorry about the delay.
>
> Christopher Diggins
> http://www.ootl.org
>
>
>
>
>
>
> 


February 16, 2005
The example'd benefit from some examples of input and output data

"christopher diggins" <cdiggins@videotron.ca> wrote in message news:cv0bq0$11qd$1@digitaldaemon.com...
> Hi Matthew,
>
> Yard version 2.0 has just been released at http://www.ootl.org/yard/ . There is a sample cpp to html program at http://www.ootl.org/yard/examples/cpp_to_html.hpp.htm . I am still working on a comprehensive test suite which will contain numerous succinct examples. (the code was used to generate the pretty source code). Sorry about the delay.
>
> Christopher Diggins
> http://www.ootl.org
>
>
>
>
>
>
> 


February 20, 2005
"Matthew" <admin@stlsoft.dot.dot.dot.dot.org> wrote in message news:cv0db7$13nu$1@digitaldaemon.com...
> The example'd benefit from some examples of input and output data

I will follow your advice and show input and output data. I actually just recently ended up overhauling the library, trimming some fat. I am still working on some better examples.

Here is another example of YARD which converts http://xxx to html hyperlink's (i.e. adds <a href= tags)

namespace http_replacer
{
  int main()
  {
    ParserInput stream(cin);
    while (!stream.AtEnd()) {
      DefaultParser::iter_type pos = stream.GetPos();
      if (!TextGrammar::Uri::Accept<DefaultParser>(stream)) {
        cout << stream.GetElem();
        stream.GotoNext();
      }
      else {
        string s(pos, stream.GetPos());
        cout << "<a href='" << s << "'>" << s << "</a>";
      }
    }
    return 0;
  }
}

The grammatical rule TextGrammar::Uri is defined in part with the following rules:

    struct HttpPrefix_string { static char const* GetString() { return
"http://"; } };

    struct HyperLinkChar :
      CharSet
      <
        char_set_union
        <
          ident_next_set,
          char_set_list
          <
            '+','-','?','%',
            '/','\\','_','.',
            '&','#','~'
          >
        >
      >
    { };

    struct Uri :
      bnf_and<
        StringNoCase<
          HttpPrefix_string
        >,
        bnf_plus<
          HyperLinkChar
        >
      >
    { };

There is perhaps a single line of code which might particularly interest you in my code formatting tool:

      fstream in;
      fstream out;
      //...
      in > Filter(cpp_to_html::main) > Filter(http_replacer::main) > out;

Does this line make intuitive sense to you? I'll give you a hint, > is intended a redirection/pipe operator.

So what do you think? (1)Yawn (2)Good for you Christopher [patronizing pat on the head] (3)Lay off of the chemicals (4)I gotta have that code!

-- 
Christopher Diggins
Object Oriented Template Library (OOTL)
http://www.ootl.org


« First   ‹ Prev
1 2 3