Re: [abcusers] !Current specification!

2004-04-25 Thread Bert Van Vreckem
Christian M. Cepel wrote:
Might it not be interesting to start a project on Sourceforge with CVS 
tracking for a centralized open source parser module or engine that can 
be utilized by everyone?
Hear, hear. Whoever's interested is free to use the facilities of the 
abc.sf.net project. Send me your SourceForge user name and I make you a 
project member and even admin if you want.

Stephen Kellett wrote:
 Christian M. Cepel [EMAIL PROTECTED] writes
 I would assume that such a beast would be written in straight ansi c
 to make it available to any present  or future operating system
 sporting a c compiler, as well as to make it as small and as resource
 non-intensive as possible.

 C++ Surely? C is very restrictive in comparison. Writing object based
 code in C is hard work (read: un-necessary extra code, and lack of
 type safety) compared to C++.
Why only writing a parser for one language (either C, C++, C# or Java)? 
Surely it should be possible to generate a parser for any language from 
a BNF grammar specification using a parser generator like SLK? 
Incidentally, SLK is available for both Win32 as Linux.

 Java and C# are not worthwhile alternatives. Both quite restrictive
 because nothing is truly passed as a reference (try modifying a string
 object you pass in and see if it really was changed after the method
 call - if it was really passed as a reference it would be). Makes
 things  trivial in C and C++ a real pain in Java and C#.
Java Strings are immutable objects. This allows for some optimisations, 
but it has its consequences. In general, primitive types are passed by 
value, while objects (including arrays) are passed by reference. But a 
String object can't be changed, so, indeed, what you describe here will 
not work...

Cheers,

bert
--
Bert Van Vreckem  http://flanders.blackmill.net/
Te audire non possum. Musa sapientum fixa est in aure.
To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html


Re: [abcusers] reusable parser

2004-04-25 Thread Stephen Kellett
In message [EMAIL PROTECTED], Jack Campin 
[EMAIL PROTECTED] writes
Resource economy is a non-issue - it's not going to be that big and
by the time it's done, any computer that will use it will be much,
much bigger and faster than anything now running ABC software.
I don't see what you are getting at. Writing the code so that it is 
maintainable will be more easily done with C++ than C. The amount of 
memory or speed of the processor is a non-issue and was not what I was 
referring to.

Sharing by reference is a great way to make code less maintainable,
and parsers don't need to do it, ever.
I didn't say it was. Java and C# are touted as good because everything 
is pass by reference. Neither truly implement pass by reference. 
Neither is pass by reference a suitable mechanism by which all data 
should be passed.  I dislike both languages for the very reason they 
prevent you from making good choices in software design.

If they were easier to compile into libraries, SML, Haskell, Lisp
or Prolog would be better options - they all have a hell of a lot
of accumulated experience in use for parsing refractory syntaxes.
Be my guest. I think you'll be able to count the number of volunteers on 
the fingers of your left hand :-)

C++ can do everything C can do, but much better and there are a lot of 
people capable of using the language well, not to mention many free 
compilers and linkers around from GNU/Borland and more recently, 
Microsoft's Visual Studio 7.1 compiler toolchain is also free.

Pragmatism dictates either C/C++ or VB, due to the number of people 
skilled in the language and then who wish to donate their time to such a 
cause. C/C++ knocks out the VBers, and VB will probably have the same 
effect of the C/C++ people unless they are interested in cross training 
to VB. C/C++ give more freedom of expression than VB.

Is this a case of if the only tool you have is a hammer, every
problem looks like a folk singer?
No. I was commenting on the recommended use of C with a sideswipe at the 
current trendy languages being promoted by the industry. How you could 
arrive at the comment above from what I wrote is beyond me.

A Ferrari will get me from my house to my girlfriends house faster than 
my car will (much as a one of the languages you cite may write a better 
parser). Pragmatism dictates I don't have the budget for the Ferrari, so 
I'll make do with the Volkswagon. Pragmatism likewise dictates for an 
open source project you go with the programming volunteers and 
maintainability options available, so C++/VB/Python/etc are the likely 
candidates, not the languages you cite.

Stephen
--
Stephen Kellett
Object Media Limitedhttp://www.objmedia.demon.co.uk
RSI Information:http://www.objmedia.demon.co.uk/rsi.html
To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html


Re: [abcusers] reusable parser

2004-04-25 Thread Stephen Kellett
Top posting (like this) makes it impossible to see which particular 
point you are replying to. If read my reply to Jack's post you can see 
clearly which parts of his article I comment on.

Top posting is a context free way of replying. So much of the relevant 
information is lost (or can only be regained by you re-reading the 
original article, which is a gross waste of time). It really is totally 
worthless. Which is why I hardly ever do it, except to explain why it is 
so worthless.

Stephen

In message [EMAIL PROTECTED], Christian M. Cepel 
[EMAIL PROTECTED] writes
Jack Campin wrote:

\[order fixed - please don't top-post]
Stephen Kellett wrote: Christian M. Cepel
[EMAIL PROTECTED] writes

I would assume that such a beast would be written in straight ansi
c to make it available to any present  or future operating system
sporting a c compiler, as well as to make it as small and as 
resource non-intensive as possible.

C++ Surely? C is very restrictive in comparison. Writing object based 
code in C is hard work (read: un-necessary extra code, and lack of 
type safety) compared to C++.

Resource economy is a non-issue - it's not going to be that big and
by the time it's done, any computer that will use it will be much,
much bigger and faster than anything now running ABC software.


Java and C# are not worthwhile alternatives. Both quite restrictive 
because nothing is truly passed as a reference (try modifying a 
string object you pass in and see if it really was changed after the 
call - if it was really passed as a reference it would be).  Makes
things trivial in C and C++ a real pain in Java and C#.

But, things relevant to this problem?

Sharing by reference is a great way to make code less maintainable,
and parsers don't need to do it, ever.
If they were easier to compile into libraries, SML, Haskell, Lisp
or Prolog would be better options - they all have a hell of a lot
of accumulated experience in use for parsing refractory syntaxes.
Is this a case of if the only tool you have is a hammer, every
problem looks like a folk singer?
-
Jack Campin: 11 Third Street, Newtongrange, Midlothian EH22 4PU; 0131 6604760
http://www.purr.demon.co.uk/jack * food intolerance data  recipes,
Mac logic fonts, Scots traditional music files, and my CD-ROM Embro, Embro.
-- off-list mail to j-c rather than abc at this site, please --
To subscribe/unsubscribe, point your browser to: 
http://www.tullochgorm.com/lists.html


I'm afraid you've lost me once again.  I suffer from small brain 
condition. I'm not sure if you're for or against the idea of an open 
source shared parsing engine, and for it, what shape you suggest it take.

I also fail to see the concern with top posting, but then I spoze 
people must have their pet peeves.

--
Stephen Kellett
Object Media Limitedhttp://www.objmedia.demon.co.uk
RSI Information:http://www.objmedia.demon.co.uk/rsi.html
To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html


Re: [abcusers] !Current specification!

2004-04-25 Thread Bernard Hill
In message [EMAIL PROTECTED], Stephen Kellett 
[EMAIL PROTECTED] writes
C++ Surely? C is very restrictive in comparison. Writing object based 
code in C is hard work (read: un-necessary extra code, and lack of type 
safety) compared to C++.

Java and C# are not worthwhile alternatives. Both quite restrictive 
because nothing is truly passed as a reference (try modifying a string 
object you pass in and see if it really was changed after the method 
call - if it was really passed as a reference it would be). Makes 
things trivial in C and C++ a real pain in Java and C#.

Stephen
In my opinion any parser should produce ascii code and be 
self-contained, written as a command-line procedure using stdin and 
stdout

abcparse inputfilename outputfilename

The structure of the outputfile would probably obey some sort of XML 
language (although I hate it).

--
Bernard Hill
Braeburn Software
Author of Music Publisher system
Music Software written by musicians for musicians
http://www.braeburn.co.uk
Selkirk, Scotland
To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html


Re: [abcusers] reusable parser

2004-04-25 Thread Jeremy Cowgar
Keep it in C++. Anyone can compile and use a C++ program. I would suggest 
using a GNU based GCC. It can then easily be compiled on about any OS using 
GCC, MinGW, etc... and the binary can be used by someone who does not have 
the proper run time.

Jeremy

To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html


Re: [abcusers] reusable parser

2004-04-25 Thread Christian M. Cepel
Jeremy Cowgar wrote:

Keep it in C++. Anyone can compile and use a C++ program. I would 
suggest using a GNU based GCC. It can then easily be compiled on about 
any OS using GCC, MinGW, etc... and the binary can be used by someone 
who does not have the proper run time.

Jeremy

To subscribe/unsubscribe, point your browser to: 
http://www.tullochgorm.com/lists.html

There seems to be considerable interest in the idea, as well as a lot of 
differing opinions as to how to implement the idea.

No one has yet said anything against the choice of sourceforge to give 
the project structure and direction.

Can anyone offer any reasons this is not a good idea?  I'm not sure if 
that was Jack's intentions, or if he was discussing implementation 
ideas.  Stephen seemed better able to understand the intent, and it left 
me a bit clearer.  Anyways.  if anyone is harboring reservations against 
the idea, please speak up.  There ideas that seem good that should still 
_not_ be implemented.  If you have a reason, please share.

But... Since most seems positive, even if the details might be left to 
be hashed out...  Does anyone feel up to stepping up to the plate as 
head of such a project.  Bert has made a kind offer, but I must admit 
that I don't have the knowledge to know quite what he's offering.  I 
guess the job description asks for someone who is more of a systems 
analyst, than strictly a programmer.  Someone who is capable of seeing 
the project through the long haul, capable of negotiating seas of 
differing opinions and ideas, capable of understanding the nitty gritty 
of building such a beast, and capable of arbitrating and encouraging a 
group of what are typically an egocentric bunch of programmers with 
vastly different skills and backgrounds.  Submit your resumes *laugh*.

Guess I need to get me a SourceForge account...   And talk the lovely 
wife into the letting me budget the expense.   That is of course 
assuming the eventual leader will accept me as a contributing team member :)

//Christian

--

 //Christian

Christian Marcus Cepel| And the wrens have returned 
[EMAIL PROTECTED] icq:12384980  | are nesting; In the hollow of
371 Crown Point, Columbia, MO | that oak where his heart once
65203-2202 573.999.2370   | had been; And he lifts up his
Computer Support Specialist, Sr.  | arms in a blessing; For being
University of Missouri - Columbia | born again.--Rich Mullins
To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html


Re: [abcusers] reusable parser

2004-04-25 Thread Stephen Kellett
In message [EMAIL PROTECTED], Christian M. Cepel 
[EMAIL PROTECTED] writes
Can anyone offer any reasons this is not a good idea?
I've never taken part in a sourceforge project, but every sourceforge 
project, without exception, that I have visited, I have been left 
feeling very confused as to which code to download, should I decide to 
download. I find this confusing, given that my software experience is 
now entering its 3rd decade. Lord knows how beginners get on with 
sourceforge. I recently visited the mingw free compiler/gnu for windows 
site and was so confused about which package I should download I didn't 
download a thing (I had a choice of about 20 to 30 odd with no decent 
description of each).

That said, there are a lot of projects happening there, so maybe its 
just a perception thing and I think in different ways to the people that 
designed sourceforge.

typically an egocentric bunch of programmers with vastly different 
skills and backgrounds.
You know your target audience :-)

Sadly I can't take part in this. I'm committed to many other projects 
already. These take up crazy amounts of my time without me trying to do 
another one.

Isn't that nice, the NT box has just BSOD'd. Wonderful.

Stephen
--
Stephen Kellett
Object Media Limitedhttp://www.objmedia.demon.co.uk
RSI Information:http://www.objmedia.demon.co.uk/rsi.html
To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html


Re: [abcusers] reusable parser

2004-04-25 Thread Richard Robinson
On Sun, Apr 25, 2004 at 06:15:21PM +0100, Stephen Kellett wrote:
 
 typically an egocentric bunch of programmers with vastly different 
 skills and backgrounds.
 
 You know your target audience :-)

grin

These comments aren't really intended to follow on from that, it's just a
convenient way of jumping in. Honest. No, really ...

(I have the same perception of sourceforge, by the way. I find it
difficult and confusing, sometimes impossible, to find my way round it.)


Mainly, I'd like to back off from the details - languages, websites, c
- and ask, what is the purpose of this project; what are people intending
to produce here ? It seems to me that a lot of attempts over the last
few years to clarify thing have tended to become part of the situation
that subsequent attempts then need to clarify, and it'd be nice if this
didn't go the same way ...

As an ABC user, with some ability (not huge) to write various languages,
I have schemes from time to time, to put together code to do various
things to/with ABC files. I took a deliberate decision, quite a long
time ago, that I was really going to try and avoid writing an ABC
parser. because, the more parsers there are, the more it seems
impossible to write one that will deal with everything that all the
others collectively deal with; it's too likely that another parser woud
just introduce another variant dialect. On the other hand, if somebody
is brave enough to try this ... well, if there was one that other coders
could then plug into their projects, that would help, in the long run -
it would be possible for people to build their own applications around
it, that would then all be able to parse in the same, known, way. Is
that the idea, here ? Parsing code, with a clear, clearly documented,
API for 3rd parties to make use of in applications ? Maybe, ideally, a
standalone library package ?


Though, languages  techniques _are_ relevant :- it seems to me that
part of the problem is that, most of the popular ABC applications are
specific to one platform (or one way of working - a Windows bod can use
abcm2ps, but try explaing a cli program to someone who's never used one
...), so there's mutual ignorance. It _would_ be valuable to have one
that could be usable on as many platforms as possible. Apart from Java,
WxWidgets seems to be the most viable framework (that I know of), so
maybe C++ that would be compatable with this ? 


And, lastly, I note that the abc-ps family are GPL'ed already. Do any
of their people have comments about this ? I think Jeff suggested once
that abcm2ps might be a suitable starting point ?


-- 
Richard Robinson
The whole plan hinged upon the natural curiosity of potatoes - S. Lem

To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html


Re: [abcusers] !Current specification!

2004-04-25 Thread Neil Jennings
Rubbish. To be useful, the parser should be a procedure with an API which
can be called from a standard
executable program. If you produce an acsii file, you have just replaced one
problem with another.


- Original Message -
From: Bernard Hill [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: 25 April 2004 13:29
Subject: Re: [abcusers] !Current specification!


 In message [EMAIL PROTECTED], Stephen Kellett
 [EMAIL PROTECTED] writes
 C++ Surely? C is very restrictive in comparison. Writing object based
 code in C is hard work (read: un-necessary extra code, and lack of type
 safety) compared to C++.
 
 Java and C# are not worthwhile alternatives. Both quite restrictive
 because nothing is truly passed as a reference (try modifying a string
 object you pass in and see if it really was changed after the method
 call - if it was really passed as a reference it would be). Makes
 things trivial in C and C++ a real pain in Java and C#.
 
 Stephen

 In my opinion any parser should produce ascii code and be
 self-contained, written as a command-line procedure using stdin and
 stdout

 abcparse inputfilename outputfilename


 The structure of the outputfile would probably obey some sort of XML
 language (although I hate it).

 --
 Bernard Hill
 Braeburn Software
 Author of Music Publisher system
 Music Software written by musicians for musicians
 http://www.braeburn.co.uk
 Selkirk, Scotland

 To subscribe/unsubscribe, point your browser to:
http://www.tullochgorm.com/lists.html

To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html