Re: ERR: Parse error 'syntax error, unexpected ERROR_TOK, expecting SEMICOLON_TOK' on token '"'

"Alexander Schwarzkopf" <schwarzkopf.alexander-S0/[email protected]> Sun, 4 Nov 2012 08:27:34 +0100 (CET)
Newsgroups gmane.comp.multimedia.dvdauthor.user
Message-ID <trinity-c11354bc-2f1d-4cb1-9407-44548db28aeb-1352014054384@3capp-webde-bs41>
Yes, they were.

I have checkers for XML syntax. And I think I can spot an unbalanced XML statement
if it is formatted for human readability.

What makes debugging so hard is that I (yet) have much of a clue what the menu
navigation has to look like.

At the moment my mastered DVD has all the menus and it starts playing the movie.
I also can by hand jump to the menus created. 

Thanks for helping me to get this far!

What does not work at the moment is any action done inside the menus. It does not 
display anything, but it also has no effect at all. 

I'm pretty confident that I still have some bugs in the script generating this. 

But I have problems spotting the correct bugs because I don't really know how the
interation looks like when it is done correctly. 

The (little more complex) recent XML looks like this:

<dvdauthor dest="/scratch/DVD">
        <vmgm>
                <fpc> { g8=0; jump menu entry title; } </fpc>
                <menus>
                        <pgc entry="title" pause="0">
                                <pre> {
                                                g1=0; g4=101; g6=102;
                                                if (g5 lt g4) g5=g4;
                                                if (g5 gt g6) g5=g6;
                                                if (g8 eq 1) jump title 1;
                                                if (g5 eq 101) jump menu 2;
                                                if (g5 eq 102) jump menu 3;
                                          }
                                </pre>
                                <vob file="/scratch/empty.mpg" />
                        </pgc>
                        <pgc pause="0">
                                <pre> { if (g0 lt 1024) g0=1024; button=g0; } </pre>
                                <vob file="/scratch/vmgm/VTS_1.mpg" pause="0" />
                                <button name="Title_1"> { g0=button; jump title 1; } </button>
                                <button name="Title_2"> { g0=button; g5=102; jump menu entry title; } </button>
				<button name="1"> { g0=button; jump title 1; } </button>
                                <button name="noop"> { jump menu entry title; } </button>
                                <button name="Next"> { g5=g5+1; g0=0; jump menu entry title; } </button>
                                <button name="Prev"> { g5=g5-1; g0=0; jump menu entry title; } </button>
                                <post> { g0=button; jump title 1; } </post>
                        </pgc>
                        <pgc pause="0">
                                <pre> { if (g0 lt 1024) g0=2048; button=g0; } </pre>
                                <vob file="/scratch/vmgm/VTS_2.mpg" pause="0" />
                                <button name="Title_1"> { g0=button; g5=101; jump menu entry title; } </button>
                                <button name="Title_2"> { g0=button; jump title 2; } </button>
				<button name="2"> { g0=button; jump title 2; } </button>
                                <button name="noop"> { jump menu entry title; } </button>
                                <button name="Next"> { g5=g5+1; g0=0; jump menu entry title; } </button>
                                <button name="Prev"> { g5=g5-1; g0=0; jump menu entry title; } </button>
                                <post> { g0=button; jump title 2; } </post>
                        </pgc>
                </menus>
        </vmgm>
	<titleset>
		<menus>
                        <pgc entry="root" pause="0">
                                <pre> {
                                                if (g1 lt 9) g1=1; 
                                                g4=101; g6=101;
                                                if (g7 lt g4) g7=g4;
                                                if (g7 gt g6) g7=g6;
                                                if (g7 eq 101) jump menu 2;
                                          }
                                </pre>
                                <vob file="/scratch/empty.mpg" />
                        </pgc>
                        <pgc pause="0">
                                <pre> { button=13312; } </pre>
                                <vob file="/scratch/vtsm/vts_1_1.mpg" pause="inf" />
                                <button name="Chapter_1"> { jump title 1 chapter 1; } </button>
                                <button name="Chapter_2"> { jump title 1 chapter 2; } </button>
                                <button name="Chapter_3"> { jump title 1 chapter 3; } </button>
                                <button name="Chapter_4"> { jump title 1 chapter 4; } </button>
                                <button name="Chapter_5"> { jump title 1 chapter 5; } </button>
                                <button name="Chapter_6"> { jump title 1 chapter 6; } </button>
                                <button name="Chapter_7"> { jump title 1 chapter 7; } </button>
                                <button name="Chapter_8"> { jump title 1 chapter 8; } </button>
                                <button name="Chapter_9"> { jump title 1 chapter 9; } </button>
                                <button name="Chapter_10"> { jump title 1 chapter 10; } </button>
                                <button name="Chapter_11"> { jump title 1 chapter 11; } </button>
                                <button name="nav_Return"> 
                                        { if (g1 ne 9) jump vmgm menu entry title; 
                                          if (g1 eq 9) resume; } 
                                </button>
                                <button name="nav_VMGM"> { jump vmgm menu entry title; } </button>
                                <button name="nav_Audio"> { jump menu entry audio; } </button>
                                <button name="nav_Subs"> { jump menu entry subtitle; } </button>
                        </pgc>
                        <pgc entry="audio" pause="0">
                                <pre> { button=(audio+1)*1024; } </pre>
                                <vob file="/scratch/vtsm/vts_1_audio.mpg" pause="inf" />
                                <button name="Button_1"> { audio=0;
                                                                                if (g1 eq 0) jump vmgm menu entry title;
                                                                                if (g1 eq 1) jump menu entry root; 
                                                                                if (g1 eq 9) resume;
                                                                         } </button>
                                <button name="Button_2"> { audio=1;
                                                                                if (g1 eq 0) jump vmgm menu entry title;
                                                                                if (g1 eq 1) jump menu entry root; 
                                                                                if (g1 eq 9) resume;
                                                                         } </button>
                                <button name="Button_3"> { audio=2;
                                                                                if (g1 eq 0) jump vmgm menu entry title;
                                                                                if (g1 eq 1) jump menu entry root; 
                                                                                if (g1 eq 9) resume;
                                                                         } </button>
                                <button name="Button_4"> { audio=3;
                                                                                if (g1 eq 0) jump vmgm menu entry title;
                                                                                if (g1 eq 1) jump menu entry root; 
                                                                                if (g1 eq 9) resume;
                                                                         } </button>
                                <button name="nav_Return"> 
                                        { if (g1 eq 0) jump vmgm menu entry title; 
                                          if (g1 eq 1) jump menu entry root; 
                                          if (g1 eq 9) resume; } 
                                </button>
                                <button name="nav_VMGM"> { jump vmgm menu entry title; } </button>
                                <button name="nav_VTSM"> { jump menu entry root; } </button>
                        </pgc>
                        <pgc entry="subtitle" pause="0">
                                <pre> { if (subtitle lt 64) button=(subtitle+1)*1024;
                                            if (subtitle ge 64) button=(subtitle-64+1)*1024; } </pre>
                                <vob file="/scratch/vtsm/vts_1_subtitle.mpg" pause="inf" />
                                <button name="Button_1"> { subtitle=64; 
                                                                                if (g1 eq 0) jump vmgm menu entry title;
                                                                                if (g1 eq 1) jump menu entry root; 
                                                                                if (g1 eq 9) resume;
                                                                         } </button>
                                <button name="subs_Off"> 
                                        { if (subtitle ge 64) subtitle=subtitle-64; 
                                          if (g1 eq 0) jump vmgm menu entry title;
                                          if (g1 eq 1) jump menu entry root; 
                                          if (g1 eq 9) resume;
                                        } </button>
                                <button name="nav_Return"> 
                                        { if (g1 eq 0) jump vmgm menu entry title; 
                                          if (g1 eq 1) jump menu entry root; 
                                          if (g1 eq 9) resume; } 
                                </button>
                                <button name="nav_VMGM"> { jump vmgm menu entry title; } </button>
                                <button name="nav_VTSM"> { jump menu entry root; } </button>
                                <button name="nav_Audio"> { jump menu entry audio; } </button>
                        </pgc>
		</menus>
		<titles>
			<video format="NTSC" aspect="16:9" resolution="720x480" widescreen="NOPANSCAN" />
			<audio lang="DE" />
			<audio lang="EN" />
			<audio lang="DE" />
			<audio lang="EN" />
			<subpicture lang="DE" />
			<subpicture lang="DE" />
			<subpicture lang="DE" />
			<subpicture lang="DE" />
			<subpicture lang="EN" />
			<pgc  pause="0">
				<pre> g1=9; </pre>
				<vob file="/scratch/vts_1_akte_x_der_film_sid11.mpg" chapters="00:00:00.00,00:05:47.00,00:10:55.00,00:21:41.00,00:26:10.00,00:32:36.00,00:35:51.00,00:45:10.00,00:50:49.00,00:54:55.00,01:01:02.00,01:07:28.00,01:16:58.00,01:18:44.00,01:27:21.00,01:37:13.00,01:44:15.00,01:48:00.00,02:02:40.00" pause="0" />
				<post> { g5=g5+1; g8=0; call vmgm menu entry title; } </post>
			</pgc>
		</titles>
	</titleset>
</dvdauthor>

Gesendet: Samstag, 03. November 2012 um 19:57 Uhr
Von: "Lawrence D'Oliveiro" <[email protected]>
An: [email protected]
Betreff: Re: [Dvdauthor-users] ERR: Parse error 'syntax error, unexpected ERROR_TOK, expecting SEMICOLON_TOK' on token '"'
On Sat, 3 Nov 2012 11:25:10 +0100 (CET), Alexander Schwarzkopf wrote:

> I wonder if nobody ever asked for a feature like telling where in a
> possibly hundreds of lines long XML file the parser found a wrong
> token?

In this case, the syntax errors weren’t in the XML, they were in the
interaction language.

------------------------------------------------------------------------------
LogMeIn Central: Instant, anywhere, Remote PC access and management.
Stay in control, update software, and manage PCs from one command center
Diagnose problems and improve visibility into emerging IT issues
Automate, monitor and manage. Do more in less time with Central
http://p.sf.net/sfu/logmein12331_d2d
_______________________________________________
Dvdauthor-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dvdauthor-users[https://lists.sourceforge.net/lists/listinfo/dvdauthor-users]




------------------------------------------------------------------------------
LogMeIn Central: Instant, anywhere, Remote PC access and management.
Stay in control, update software, and manage PCs from one command center
Diagnose problems and improve visibility into emerging IT issues
Automate, monitor and manage. Do more in less time with Central
http://p.sf.net/sfu/logmein12331_d2d
_______________________________________________
Dvdauthor-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dvdauthor-users