+ "</"{Name}{s}">" FAIL("Unexpected end-tag `%s': `</platform_description>' expected.",yytext);
+ . FAIL("Unexpected character `%c': `</platform_description>' expected.",yytext[0]);
+ <<EOF>> FAIL("Premature EOF: `</platform_description>' expected.");
+}
+
+<ROOT_include,S_platform_description_2,S_include,S_include_2,S_platform_description_1,S_include_1,S_platform_description>"<include"{s} {
+ A_include_file = NULL;
+ ENTER(AL_include);
+ }
+
+<AL_include>{
+ "file"{Eq}\' ENTER(VALUE1); BUFFERSET(A_include_file);
+ "file"{Eq}\" ENTER(VALUE2); BUFFERSET(A_include_file);
+
+ ">" {
+ if (!A_include_file) FAIL("Required attribute `file' not set for `include' element.");
+ LEAVE; STag_include();pcdata = NULL; ENTER(S_include);
+ }
+ "/>" {
+ if (!A_include_file) FAIL("Required attribute `file' not set for `include' element.");
+ LEAVE; STag_include(); pcdata = NULL; ETag_include();
+ switch (YY_START) {
+ case S_platform_description_2: case S_platform_description_1: case S_platform_description: SET(S_platform_description_2); break;
+ case S_include: case S_include_2: case S_include_1: SET(S_include_2); break;
+ case ROOT_include: SET(EPILOG); break;
+ }
+ }
+ . FAIL("Unexpected character `%c' in attribute list of include element.", yytext[0]);
+ {Name} FAIL("Bad attribute `%s' in `include' element start tag.",yytext);
+ <<EOF>> FAIL("EOF in attribute list of `include' element.");
+}
+
+<E_include,S_include,S_include_2>{
+ "</include"{s}">" {
+ LEAVE;
+ ETag_include();
+ switch (YY_START) {
+ case S_platform_description_2: case S_platform_description_1: case S_platform_description: SET(S_platform_description_2); break;
+ case S_include: case S_include_2: case S_include_1: SET(S_include_2); break;
+ case ROOT_include: SET(EPILOG); break;
+ }
+ }
+ "</"{Name}{s}">" FAIL("Unexpected end-tag `%s': `</include>' expected.",yytext);
+ . FAIL("Unexpected character `%c': `</include>' expected.",yytext[0]);
+ <<EOF>> FAIL("Premature EOF: `</include>' expected.");