SynthMaker

Parser in 1.1.6 acting up

Archive · 2010 4 old posts

From the original SynthMaker forum (2004–2014), with its members’ names and dates.

mwvdlee ·

When upgrading to 1.1.6 yesterday, a new error was introduced in my code. It seems the parser+text combination is to blame:

The problem is the extra linebreak at the end of the text module on the left. Remove the linebreak and the parser returns True in "success" output. With it, it's False.

In 1.1.5, both situations return True.

I can't leave the linebreak out since it's actually the string array module that introduces the extra linebreak! (again; see the schematic) so if you use string arrays, you can't really work around it.

malc ·

How odd. No changes were made to the parser. We did update some of the libraries we use, perhaps that introduced the problem. I'll need to check.

mwvdlee ·

malc wrote: How odd. No changes were made to the parser. We did update some of the libraries we use, perhaps that introduced the problem. I'll need to check.

Well, I fixed my own situation by doing some string stuff instead of string arrays and what happenned to the parser could be interpreted as "correct behaviour" depending on how one interprets the skipper; is it part of the grammar or not?

The REAL issue seems to stem from the extra linebreak that comes from the String Array. There's no good functional reason why it should do this (though I get how it would be easier to implement like that) and for some reason it now seems to hurt cooperation with the parser. Perhaps this is an issue with the

p.s. you really HAVE to tell me; are you using the Boost.Spirit library for the parser? I used to be part of the team that worked on the earliest versions of it back in 2001 or so (mostly did support and testing) and I recognize some oddities in SM's parser modules; i.e. using ">>" for sequence and "!" for optional.

malc ·

Yeah we're using Spirit. How coincidental that you used to work on it 🙂

In 1.1.6 we updated to the latest version so that must account for the difference.

You have a point about the String Array. Changing it may cause other problems though.

Good to hear you have a workaround at least.

Wrote something here? To have a post removed or your name hidden, write to [email protected].

Before your first post

A few rules keep this a friendly place. You agree to them once.

Shown next to what you post, here and in the app. It doesn’t have to be your real name: 3–24 lower-case letters, digits or _ (capitals become lower case, spaces become _).

    Then your post goes up straight away.

    Delete this reply?

    Open it in SynthMaker?

    It goes on the track you’re editing there, in place of that track’s sound, and into My sounds. Your other tracks stay as they are.

    Want to keep that track’s sound? Start a new song in SynthMaker first (Song › New song), then open this.

    Report this reply?

    Only the developer reads reports. The person isn’t told who reported them.

    What’s wrong with it?

    Block this person?

    You won’t see their posts and replies here any more. They aren’t told, and you can unblock them at any time.

    People you’ve blocked

    Their posts and replies are hidden from you. Unblock someone to see them again.

    The community rules

    A few rules keep this a friendly place. Everyone agrees to them once, before their first post.