/* * Automatically generated from the files: * /mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/make_tdf/syntax.sid * and * /mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/make_tdf/syntax.act * by: * /mnt/gmirror/ports/lang/TenDRA/work/tendra/obj/utilities/sid/sid */ /* BEGINNING OF HEADER */ #line 37 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/make_tdf/syntax.act" /* * Copyright (c) 2002-2004, The Tendra Project * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice unmodified, this list of conditions, and the following * disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * * Crown Copyright (c) 1997 * * This TenDRA(r) Computer Program is subject to Copyright * owned by the United Kingdom Secretary of State for Defence * acting through the Defence Evaluation and Research Agency * (DERA). It is made available to Recipients with a * royalty-free licence for its use, reproduction, transfer * to other parties and amendment for any purpose not excluding * product development provided that any such use et cetera * shall be deemed to be acceptance of the following conditions:- * * (1) Its Recipients shall ensure that this Notice is * reproduced upon any copies or amended versions of it; * * (2) Any amended version of it shall be clearly marked to * show both the nature of and the organisation responsible * for the relevant amendment or amendments; * * (3) Its onward transfer from a recipient to another * party shall be deemed to be that party's acceptance of * these conditions; * * (4) DERA gives no warranty or assurance as to its * quality or suitability for any purpose and DERA accepts * no liability whatsoever in relation to any use to which * it may be put. * * $TenDRA: tendra/src/utilities/make_tdf/syntax.act,v 1.3 2004/03/14 14:52:14 bp Exp $ */ #include "config.h" #include "tdf.h" #include "cmd_ops.h" #include "cons_ops.h" #include "cstring.h" #include "info_ops.h" #include "link_ops.h" #include "par_ops.h" #include "sort_ops.h" #include "spec_ops.h" #include "input.h" #include "lex.h" #include "msgcat.h" #include "syntax.h" /* * LOCAL TYPE ALIASES * * These definitions give the aliases used for compound types within the * grammar. */ typedef LIST (CONSTRUCT) SID_CONS_LIST; typedef LIST (LINKAGE) SID_LINK_LIST; typedef LIST (PARAMETER) SID_PARAM_LIST; /* * COMPILATION MODE * * We allow unreached code and switch off the variable analysis in the * automatically generated sections. */ #if FS_TENDRA #pragma TenDRA begin #pragma TenDRA variable analysis off #ifndef OLD_PRODUCER #pragma TenDRA unreachable code allow #endif #endif #line 116 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/make_tdf/syntax.c" /* BEGINNING OF FUNCTION DECLARATIONS */ static void ZRlink_Hpack (SID_LINK_LIST *); static void ZRparam_Hlist (SID_PARAM_LIST *); static void ZRclist_Hitem (void); static void ZRslist_Hpack (void); static void ZRedge_Hlist (void); static void ZRkind_Hitem (LINKAGE *); static void ZRoption_Hlist (void); static void ZR139 (CONSTRUCT *); static void ZRold_Hsort_Hname (SORT *); static void ZR140 (CONSTRUCT *); static void ZR141 (CONSTRUCT *); static void ZRclist_Hlist (void); static void ZRlink_Hitem (LINKAGE *); static void ZRslist_Hitem (void); static void ZRkind_Hlist (SID_LINK_LIST *); static void ZRnew_Hsort_Hname (SORT *); static void ZRsort_Hpack (void); static void ZRany_Hname (string *); static void ZRlink_Hlist (SID_LINK_LIST *); static void ZRslist_Hlist (void); static void ZRsort_Hitem (void); static void ZRsort_Hlist (void); static void ZRconstruct_Hpack (SORT, SID_CONS_LIST *); static void ZRconstruct_Hextra (CONSTRUCT); static void ZRboundary_Hitem (CONSTRUCT); static void ZRconstruct_Hitem (SORT, CONSTRUCT *); static void ZRconstruct_Hlist (SORT, SID_CONS_LIST *); static void ZRparam_Hpack (SID_PARAM_LIST *); static void ZRedge_Hpack (void); extern void read_spec (SPECIFICATION *); static void ZRoption_Hpack (void); static void ZRclist_Hpack (void); static void ZRparam_Hitem (PARAMETER *); static void ZRedge_Hitem (void); static void ZRkind_Hpack (SID_LINK_LIST *); static void ZRnumber_Hlist (CONSTRUCT); static void ZRoption_Hitem (void); /* BEGINNING OF STATIC VARIABLES */ /* BEGINNING OF FUNCTION DEFINITIONS */ static void ZRlink_Hpack (SID_LINK_LIST *ZOp) { SID_LINK_LIST ZIp; if ((CURRENT_TERMINAL) == 32) { return; } { SID_LINK_LIST ZIq; switch (CURRENT_TERMINAL) { case lex_open: break; default: goto ZL1; } ADVANCE_LEXER; /* BEGINNING OF INLINE: 116 */ { switch (CURRENT_TERMINAL) { case lex_open: { ZRlink_Hlist (&ZIq); if ((CURRENT_TERMINAL) == 32) { RESTORE_LEXER; goto ZL1; } } break; default: { /* BEGINNING OF ACTION: null_link */ { #line 347 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/make_tdf/syntax.act" (ZIq) = NULL_list (LINKAGE); #line 200 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/make_tdf/syntax.c" } /* END OF ACTION: null_link */ } break; } } /* END OF INLINE: 116 */ switch (CURRENT_TERMINAL) { case lex_close: break; default: goto ZL1; } ADVANCE_LEXER; ZIp = ZIq; } goto ZL0; ZL1:; SAVE_LEXER (32); return; ZL0:; *ZOp = ZIp; } static void ZRparam_Hlist (SID_PARAM_LIST *ZOp) { SID_PARAM_LIST ZIp; if ((CURRENT_TERMINAL) == 32) { return; } { PARAMETER ZIa; SID_PARAM_LIST ZIq; ZRparam_Hitem (&ZIa); /* BEGINNING OF INLINE: 59 */ { switch (CURRENT_TERMINAL) { case lex_comma: { ADVANCE_LEXER; ZRparam_Hlist (&ZIq); if ((CURRENT_TERMINAL) == 32) { RESTORE_LEXER; goto ZL1; } } break; default: { /* BEGINNING OF ACTION: null_param */ { #line 254 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/make_tdf/syntax.act" (ZIq) = NULL_list (PARAMETER); #line 258 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/make_tdf/syntax.c" } /* END OF ACTION: null_param */ } break; case 32: RESTORE_LEXER; goto ZL1; } } /* END OF INLINE: 59 */ /* BEGINNING OF ACTION: cons_param */ { #line 258 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/make_tdf/syntax.act" CONS_par ((ZIa), (ZIq), (ZIp)); #line 274 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/make_tdf/syntax.c" } /* END OF ACTION: cons_param */ } goto ZL0; ZL1:; SAVE_LEXER (32); return; ZL0:; *ZOp = ZIp; } static void ZRclist_Hitem (void) { if ((CURRENT_TERMINAL) == 32) { return; } { SORT ZIs; ZRnew_Hsort_Hname (&ZIs); if ((CURRENT_TERMINAL) == 32) { RESTORE_LEXER; goto ZL1; } /* BEGINNING OF ACTION: make_clist */ { #line 313 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/make_tdf/syntax.act" compound_sort ((ZIs), "_list", info_clist_tag, '*'); #line 305 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/make_tdf/syntax.c" } /* END OF ACTION: make_clist */ } return; ZL1:; SAVE_LEXER (32); return; } static void ZRslist_Hpack (void) { if ((CURRENT_TERMINAL) == 32) { return; } { switch (CURRENT_TERMINAL) { case lex_open: break; default: goto ZL1; } ADVANCE_LEXER; /* BEGINNING OF INLINE: 101 */ { switch (CURRENT_TERMINAL) { case lex_name: { ZRslist_Hlist (); if ((CURRENT_TERMINAL) == 32) { RESTORE_LEXER; goto ZL1; } } break; default: break; } } /* END OF INLINE: 101 */ switch (CURRENT_TERMINAL) { case lex_close: break; default: goto ZL1; } ADVANCE_LEXER; } return; ZL1:; SAVE_LEXER (32); return; } static void ZRedge_Hlist (void) { if ((CURRENT_TERMINAL) == 32) { return; } ZL2_edge_Hlist:; { switch (CURRENT_TERMINAL) { case lex_open: break; default: goto ZL1; } ADVANCE_LEXER; ZRedge_Hitem (); switch (CURRENT_TERMINAL) { case lex_close: break; case 32: RESTORE_LEXER; goto ZL1; default: goto ZL1; } ADVANCE_LEXER; /* BEGINNING OF INLINE: 127 */ { switch (CURRENT_TERMINAL) { case lex_comma: { ADVANCE_LEXER; /* BEGINNING OF INLINE: edge-list */ goto ZL2_edge_Hlist; /* END OF INLINE: edge-list */ } /*UNREACHED*/ default: break; } } /* END OF INLINE: 127 */ } return; ZL1:; SAVE_LEXER (32); return; } static void ZRkind_Hitem (LINKAGE *ZOa) { LINKAGE ZIa; if ((CURRENT_TERMINAL) == 32) { return; } { SORT ZIs; string ZIe; switch (CURRENT_TERMINAL) { case lex_open: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_unit_Helements: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_comma: break; default: goto ZL1; } ADVANCE_LEXER; ZRold_Hsort_Hname (&ZIs); switch (CURRENT_TERMINAL) { case lex_close: break; case 32: RESTORE_LEXER; goto ZL1; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_comma: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_open: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_unit_Hidentifier: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_comma: break; default: goto ZL1; } ADVANCE_LEXER; ZRany_Hname (&ZIe); switch (CURRENT_TERMINAL) { case lex_close: break; case 32: RESTORE_LEXER; goto ZL1; default: goto ZL1; } ADVANCE_LEXER; /* BEGINNING OF ACTION: make_unit_link */ { #line 342 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/make_tdf/syntax.act" MAKE_link_basic ((ZIe), (ZIs), (ZIa)); COPY_string (sort_unit ((ZIs)), (ZIe)); #line 498 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/make_tdf/syntax.c" } /* END OF ACTION: make_unit_link */ } goto ZL0; ZL1:; SAVE_LEXER (32); return; ZL0:; *ZOa = ZIa; } static void ZRoption_Hlist (void) { if ((CURRENT_TERMINAL) == 32) { return; } ZL2_option_Hlist:; { ZRoption_Hitem (); /* BEGINNING OF INLINE: 105 */ { switch (CURRENT_TERMINAL) { case lex_comma: { ADVANCE_LEXER; /* BEGINNING OF INLINE: option-list */ goto ZL2_option_Hlist; /* END OF INLINE: option-list */ } /*UNREACHED*/ case 32: RESTORE_LEXER; goto ZL1; default: break; } } /* END OF INLINE: 105 */ } return; ZL1:; SAVE_LEXER (32); return; } static void ZR139 (CONSTRUCT *ZIc) { if ((CURRENT_TERMINAL) == 32) { return; } { switch (CURRENT_TERMINAL) { case lex_open: break; default: goto ZL1; } ADVANCE_LEXER; ZR140 (ZIc); if ((CURRENT_TERMINAL) == 32) { RESTORE_LEXER; goto ZL1; } } return; ZL1:; SAVE_LEXER (32); return; } static void ZRold_Hsort_Hname (SORT *ZOs) { SORT ZIs; if ((CURRENT_TERMINAL) == 32) { return; } { string ZIa; switch (CURRENT_TERMINAL) { case lex_name: /* BEGINNING OF EXTRACT: name */ { #line 210 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/make_tdf/syntax.act" ZIa = string_copy (token_buff); #line 589 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/make_tdf/syntax.c" } /* END OF EXTRACT: name */ break; default: goto ZL1; } ADVANCE_LEXER; /* BEGINNING OF ACTION: find_old_sort */ { #line 305 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/make_tdf/syntax.act" (ZIs) = find_sort ((ZIa), 0); #line 602 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/make_tdf/syntax.c" } /* END OF ACTION: find_old_sort */ } goto ZL0; ZL1:; SAVE_LEXER (32); return; ZL0:; *ZOs = ZIs; } static void ZR140 (CONSTRUCT *ZIc) { switch (CURRENT_TERMINAL) { case lex_boundaries: { ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_comma: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_open: break; default: goto ZL1; } ADVANCE_LEXER; ZRnumber_Hlist (*ZIc); switch (CURRENT_TERMINAL) { case lex_close: break; case 32: RESTORE_LEXER; goto ZL1; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_close: break; default: goto ZL1; } ADVANCE_LEXER; } break; case lex_break: { unsigned ZIa; ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_comma: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_number: /* BEGINNING OF EXTRACT: number */ { #line 222 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/make_tdf/syntax.act" ZIa = token_value; #line 674 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/make_tdf/syntax.c" } /* END OF EXTRACT: number */ break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_close: break; default: goto ZL1; } ADVANCE_LEXER; /* BEGINNING OF ACTION: set_break */ { #line 262 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/make_tdf/syntax.act" PARAMETER p = find_param ((*ZIc), (ZIa)); if (!IS_NULL_par (p)) COPY_int (par_brk (p), 1); #line 695 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/make_tdf/syntax.c" } /* END OF ACTION: set_break */ ZR141 (ZIc); if ((CURRENT_TERMINAL) == 32) { RESTORE_LEXER; goto ZL1; } } break; case 32: return; default: goto ZL1; } return; ZL1:; SAVE_LEXER (32); return; } static void ZR141 (CONSTRUCT *ZIc) { switch (CURRENT_TERMINAL) { case lex_comma: { ADVANCE_LEXER; ZRboundary_Hitem (*ZIc); if ((CURRENT_TERMINAL) == 32) { RESTORE_LEXER; goto ZL1; } } break; case 32: return; default: break; } return; ZL1:; SAVE_LEXER (32); return; } static void ZRclist_Hlist (void) { if ((CURRENT_TERMINAL) == 32) { return; } ZL2_clist_Hlist:; { ZRclist_Hitem (); /* BEGINNING OF INLINE: 93 */ { switch (CURRENT_TERMINAL) { case lex_comma: { ADVANCE_LEXER; /* BEGINNING OF INLINE: clist-list */ goto ZL2_clist_Hlist; /* END OF INLINE: clist-list */ } /*UNREACHED*/ case 32: RESTORE_LEXER; goto ZL1; default: break; } } /* END OF INLINE: 93 */ } return; ZL1:; SAVE_LEXER (32); return; } static void ZRlink_Hitem (LINKAGE *ZOa) { LINKAGE ZIa; if ((CURRENT_TERMINAL) == 32) { return; } { SORT ZIs; string ZIe; switch (CURRENT_TERMINAL) { case lex_open: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_entity_Hsort: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_comma: break; default: goto ZL1; } ADVANCE_LEXER; ZRold_Hsort_Hname (&ZIs); switch (CURRENT_TERMINAL) { case lex_close: break; case 32: RESTORE_LEXER; goto ZL1; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_comma: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_open: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_entity_Hidentifier: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_comma: break; default: goto ZL1; } ADVANCE_LEXER; ZRany_Hname (&ZIe); switch (CURRENT_TERMINAL) { case lex_close: break; case 32: RESTORE_LEXER; goto ZL1; default: goto ZL1; } ADVANCE_LEXER; /* BEGINNING OF ACTION: make_edge_link */ { #line 337 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/make_tdf/syntax.act" MAKE_link_basic ((ZIe), (ZIs), (ZIa)); COPY_string (sort_link ((ZIs)), (ZIe)); #line 865 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/make_tdf/syntax.c" } /* END OF ACTION: make_edge_link */ } goto ZL0; ZL1:; SAVE_LEXER (32); return; ZL0:; *ZOa = ZIa; } static void ZRslist_Hitem (void) { if ((CURRENT_TERMINAL) == 32) { return; } { SORT ZIs; ZRnew_Hsort_Hname (&ZIs); if ((CURRENT_TERMINAL) == 32) { RESTORE_LEXER; goto ZL1; } /* BEGINNING OF ACTION: make_slist */ { #line 317 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/make_tdf/syntax.act" compound_sort ((ZIs), "_list", info_slist_tag, '%'); #line 896 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/make_tdf/syntax.c" } /* END OF ACTION: make_slist */ } return; ZL1:; SAVE_LEXER (32); return; } static void ZRkind_Hlist (SID_LINK_LIST *ZOp) { SID_LINK_LIST ZIp; if ((CURRENT_TERMINAL) == 32) { return; } { LINKAGE ZIa; SID_LINK_LIST ZIq; switch (CURRENT_TERMINAL) { case lex_open: break; default: goto ZL1; } ADVANCE_LEXER; ZRkind_Hitem (&ZIa); switch (CURRENT_TERMINAL) { case lex_close: break; case 32: RESTORE_LEXER; goto ZL1; default: goto ZL1; } ADVANCE_LEXER; /* BEGINNING OF INLINE: 120 */ { switch (CURRENT_TERMINAL) { case lex_comma: { ADVANCE_LEXER; ZRkind_Hlist (&ZIq); if ((CURRENT_TERMINAL) == 32) { RESTORE_LEXER; goto ZL1; } } break; default: { /* BEGINNING OF ACTION: null_link */ { #line 347 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/make_tdf/syntax.act" (ZIq) = NULL_list (LINKAGE); #line 956 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/make_tdf/syntax.c" } /* END OF ACTION: null_link */ } break; } } /* END OF INLINE: 120 */ /* BEGINNING OF ACTION: cons_link */ { #line 351 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/make_tdf/syntax.act" CONS_link ((ZIa), (ZIq), (ZIp)); #line 969 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/make_tdf/syntax.c" } /* END OF ACTION: cons_link */ } goto ZL0; ZL1:; SAVE_LEXER (32); return; ZL0:; *ZOp = ZIp; } static void ZRnew_Hsort_Hname (SORT *ZOs) { SORT ZIs; if ((CURRENT_TERMINAL) == 32) { return; } { string ZIa; switch (CURRENT_TERMINAL) { case lex_name: /* BEGINNING OF EXTRACT: name */ { #line 210 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/make_tdf/syntax.act" ZIa = string_copy (token_buff); #line 999 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/make_tdf/syntax.c" } /* END OF EXTRACT: name */ break; default: goto ZL1; } ADVANCE_LEXER; /* BEGINNING OF ACTION: find_new_sort */ { #line 301 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/make_tdf/syntax.act" (ZIs) = find_sort ((ZIa), 1); #line 1012 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/make_tdf/syntax.c" } /* END OF ACTION: find_new_sort */ } goto ZL0; ZL1:; SAVE_LEXER (32); return; ZL0:; *ZOs = ZIs; } static void ZRsort_Hpack (void) { if ((CURRENT_TERMINAL) == 32) { return; } { switch (CURRENT_TERMINAL) { case lex_open: break; default: goto ZL1; } ADVANCE_LEXER; /* BEGINNING OF INLINE: 89 */ { switch (CURRENT_TERMINAL) { case lex_open: { ZRsort_Hlist (); if ((CURRENT_TERMINAL) == 32) { RESTORE_LEXER; goto ZL1; } } break; default: break; } } /* END OF INLINE: 89 */ switch (CURRENT_TERMINAL) { case lex_close: break; default: goto ZL1; } ADVANCE_LEXER; } return; ZL1:; SAVE_LEXER (32); return; } static void ZRany_Hname (string *ZOn) { string ZIn; switch (CURRENT_TERMINAL) { case lex_name: { /* BEGINNING OF EXTRACT: name */ { #line 210 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/make_tdf/syntax.act" ZIn = string_copy (token_buff); #line 1082 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/make_tdf/syntax.c" } /* END OF EXTRACT: name */ ADVANCE_LEXER; } break; case lex_break: case lex_boundaries: case lex_constructs: case lex_construct_Hname: case lex_edge_Hconstructor: case lex_edge_Hsort: case lex_encoding: case lex_encoding_Hbits: case lex_entity_Hidentifier: case lex_entity_Hsort: case lex_graph_Hedges: case lex_has_Hextension: case lex_kinds_Hof_Hunit: case lex_linkable_Hentities: case lex_lists: case lex_major_Hversion: case lex_minor_Hversion: case lex_options: case lex_parameter_Hsorts: case lex_result_Hsort: case lex_slists: case lex_sortid: case lex_sorts: case lex_unit_Helements: case lex_unit_Hidentifier: { /* BEGINNING OF ACTION: keyword_name */ { #line 237 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/make_tdf/syntax.act" (ZIn) = string_copy (token_buff); #line 1103 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/make_tdf/syntax.c" } /* END OF ACTION: keyword_name */ /* BEGINNING OF INLINE: 46 */ { switch (CURRENT_TERMINAL) { case lex_boundaries: { ADVANCE_LEXER; } break; case lex_break: { ADVANCE_LEXER; } break; case lex_construct_Hname: { ADVANCE_LEXER; } break; case lex_constructs: { ADVANCE_LEXER; } break; case lex_edge_Hconstructor: { ADVANCE_LEXER; } break; case lex_edge_Hsort: { ADVANCE_LEXER; } break; case lex_encoding: { ADVANCE_LEXER; } break; case lex_encoding_Hbits: { ADVANCE_LEXER; } break; case lex_entity_Hidentifier: { ADVANCE_LEXER; } break; case lex_entity_Hsort: { ADVANCE_LEXER; } break; case lex_graph_Hedges: { ADVANCE_LEXER; } break; case lex_has_Hextension: { ADVANCE_LEXER; } break; case lex_kinds_Hof_Hunit: { ADVANCE_LEXER; } break; case lex_linkable_Hentities: { ADVANCE_LEXER; } break; case lex_lists: { ADVANCE_LEXER; } break; case lex_major_Hversion: { ADVANCE_LEXER; } break; case lex_minor_Hversion: { ADVANCE_LEXER; } break; case lex_options: { ADVANCE_LEXER; } break; case lex_parameter_Hsorts: { ADVANCE_LEXER; } break; case lex_result_Hsort: { ADVANCE_LEXER; } break; case lex_slists: { ADVANCE_LEXER; } break; case lex_sortid: { ADVANCE_LEXER; } break; case lex_sorts: { ADVANCE_LEXER; } break; case lex_unit_Helements: { ADVANCE_LEXER; } break; case lex_unit_Hidentifier: { ADVANCE_LEXER; } break; default: goto ZL1; } } /* END OF INLINE: 46 */ } break; case 32: return; default: goto ZL1; } goto ZL0; ZL1:; SAVE_LEXER (32); return; ZL0:; *ZOn = ZIn; } static void ZRlink_Hlist (SID_LINK_LIST *ZOp) { SID_LINK_LIST ZIp; if ((CURRENT_TERMINAL) == 32) { return; } { LINKAGE ZIa; SID_LINK_LIST ZIq; switch (CURRENT_TERMINAL) { case lex_open: break; default: goto ZL1; } ADVANCE_LEXER; ZRlink_Hitem (&ZIa); switch (CURRENT_TERMINAL) { case lex_close: break; case 32: RESTORE_LEXER; goto ZL1; default: goto ZL1; } ADVANCE_LEXER; /* BEGINNING OF INLINE: 114 */ { switch (CURRENT_TERMINAL) { case lex_comma: { ADVANCE_LEXER; ZRlink_Hlist (&ZIq); if ((CURRENT_TERMINAL) == 32) { RESTORE_LEXER; goto ZL1; } } break; default: { /* BEGINNING OF ACTION: null_link */ { #line 347 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/make_tdf/syntax.act" (ZIq) = NULL_list (LINKAGE); #line 1304 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/make_tdf/syntax.c" } /* END OF ACTION: null_link */ } break; } } /* END OF INLINE: 114 */ /* BEGINNING OF ACTION: cons_link */ { #line 351 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/make_tdf/syntax.act" CONS_link ((ZIa), (ZIq), (ZIp)); #line 1317 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/make_tdf/syntax.c" } /* END OF ACTION: cons_link */ } goto ZL0; ZL1:; SAVE_LEXER (32); return; ZL0:; *ZOp = ZIp; } static void ZRslist_Hlist (void) { if ((CURRENT_TERMINAL) == 32) { return; } ZL2_slist_Hlist:; { ZRslist_Hitem (); /* BEGINNING OF INLINE: 99 */ { switch (CURRENT_TERMINAL) { case lex_comma: { ADVANCE_LEXER; /* BEGINNING OF INLINE: slist-list */ goto ZL2_slist_Hlist; /* END OF INLINE: slist-list */ } /*UNREACHED*/ case 32: RESTORE_LEXER; goto ZL1; default: break; } } /* END OF INLINE: 99 */ } return; ZL1:; SAVE_LEXER (32); return; } static void ZRsort_Hitem (void) { if ((CURRENT_TERMINAL) == 32) { return; } { SORT ZIs; unsigned ZIb; unsigned ZIe; SID_CONS_LIST ZIp; switch (CURRENT_TERMINAL) { case lex_open: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_sortid: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_comma: break; default: goto ZL1; } ADVANCE_LEXER; ZRnew_Hsort_Hname (&ZIs); switch (CURRENT_TERMINAL) { case lex_close: break; case 32: RESTORE_LEXER; goto ZL1; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_comma: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_open: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_encoding_Hbits: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_comma: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_number: /* BEGINNING OF EXTRACT: number */ { #line 222 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/make_tdf/syntax.act" ZIb = token_value; #line 1443 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/make_tdf/syntax.c" } /* END OF EXTRACT: number */ break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_close: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_comma: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_open: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_has_Hextension: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_comma: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_number: /* BEGINNING OF EXTRACT: number */ { #line 222 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/make_tdf/syntax.act" ZIe = token_value; #line 1493 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/make_tdf/syntax.c" } /* END OF EXTRACT: number */ break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_close: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_comma: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_open: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_constructs: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_comma: break; default: goto ZL1; } ADVANCE_LEXER; ZRconstruct_Hpack (ZIs, &ZIp); switch (CURRENT_TERMINAL) { case lex_close: break; case 32: RESTORE_LEXER; goto ZL1; default: goto ZL1; } ADVANCE_LEXER; /* BEGINNING OF ACTION: make_sort */ { #line 309 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/make_tdf/syntax.act" basic_sort ((ZIs), (ZIb), (ZIe), (ZIp)); #line 1552 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/make_tdf/syntax.c" } /* END OF ACTION: make_sort */ } return; ZL1:; SAVE_LEXER (32); return; } static void ZRsort_Hlist (void) { if ((CURRENT_TERMINAL) == 32) { return; } ZL2_sort_Hlist:; { switch (CURRENT_TERMINAL) { case lex_open: break; default: goto ZL1; } ADVANCE_LEXER; ZRsort_Hitem (); switch (CURRENT_TERMINAL) { case lex_close: break; case 32: RESTORE_LEXER; goto ZL1; default: goto ZL1; } ADVANCE_LEXER; /* BEGINNING OF INLINE: 87 */ { switch (CURRENT_TERMINAL) { case lex_comma: { ADVANCE_LEXER; /* BEGINNING OF INLINE: sort-list */ goto ZL2_sort_Hlist; /* END OF INLINE: sort-list */ } /*UNREACHED*/ default: break; } } /* END OF INLINE: 87 */ } return; ZL1:; SAVE_LEXER (32); return; } static void ZRconstruct_Hpack (SORT ZIs, SID_CONS_LIST *ZOp) { SID_CONS_LIST ZIp; if ((CURRENT_TERMINAL) == 32) { return; } { SID_CONS_LIST ZIq; switch (CURRENT_TERMINAL) { case lex_open: break; default: goto ZL1; } ADVANCE_LEXER; /* BEGINNING OF INLINE: 81 */ { switch (CURRENT_TERMINAL) { case lex_open: { ZRconstruct_Hlist (ZIs, &ZIq); if ((CURRENT_TERMINAL) == 32) { RESTORE_LEXER; goto ZL1; } } break; default: { /* BEGINNING OF ACTION: null_cons */ { #line 286 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/make_tdf/syntax.act" (ZIq) = NULL_list (CONSTRUCT); #line 1648 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/make_tdf/syntax.c" } /* END OF ACTION: null_cons */ } break; } } /* END OF INLINE: 81 */ switch (CURRENT_TERMINAL) { case lex_close: break; default: goto ZL1; } ADVANCE_LEXER; ZIp = ZIq; } goto ZL0; ZL1:; SAVE_LEXER (32); return; ZL0:; *ZOp = ZIp; } static void ZRconstruct_Hextra (CONSTRUCT ZIc) { switch (CURRENT_TERMINAL) { case lex_comma: { ADVANCE_LEXER; ZR139 (&ZIc); if ((CURRENT_TERMINAL) == 32) { RESTORE_LEXER; goto ZL1; } } break; case 32: return; default: break; } return; ZL1:; SAVE_LEXER (32); return; } static void ZRboundary_Hitem (CONSTRUCT ZIc) { if ((CURRENT_TERMINAL) == 32) { return; } { switch (CURRENT_TERMINAL) { case lex_open: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_boundaries: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_comma: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_open: break; default: goto ZL1; } ADVANCE_LEXER; ZRnumber_Hlist (ZIc); switch (CURRENT_TERMINAL) { case lex_close: break; case 32: RESTORE_LEXER; goto ZL1; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_close: break; default: goto ZL1; } ADVANCE_LEXER; } return; ZL1:; SAVE_LEXER (32); return; } static void ZRconstruct_Hitem (SORT ZIs, CONSTRUCT *ZOc) { CONSTRUCT ZIc; if ((CURRENT_TERMINAL) == 32) { return; } { string ZIn; unsigned ZIe; SORT ZIr; SID_PARAM_LIST ZIp; switch (CURRENT_TERMINAL) { case lex_open: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_construct_Hname: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_comma: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_name: /* BEGINNING OF EXTRACT: name */ { #line 210 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/make_tdf/syntax.act" ZIn = string_copy (token_buff); #line 1800 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/make_tdf/syntax.c" } /* END OF EXTRACT: name */ break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_close: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_comma: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_open: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_encoding: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_comma: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_number: /* BEGINNING OF EXTRACT: number */ { #line 222 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/make_tdf/syntax.act" ZIe = token_value; #line 1850 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/make_tdf/syntax.c" } /* END OF EXTRACT: number */ break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_close: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_comma: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_open: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_result_Hsort: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_comma: break; default: goto ZL1; } ADVANCE_LEXER; ZRnew_Hsort_Hname (&ZIr); switch (CURRENT_TERMINAL) { case lex_close: break; case 32: RESTORE_LEXER; goto ZL1; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_comma: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_open: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_parameter_Hsorts: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_comma: break; default: goto ZL1; } ADVANCE_LEXER; ZRparam_Hpack (&ZIp); switch (CURRENT_TERMINAL) { case lex_close: break; case 32: RESTORE_LEXER; goto ZL1; default: goto ZL1; } ADVANCE_LEXER; /* BEGINNING OF ACTION: make_cons */ { #line 279 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/make_tdf/syntax.act" if (!EQ_sort ((ZIr), (ZIs))) { MSG_wrong_result_sort ((ZIn)); } (ZIc) = make_construct ((ZIn), (ZIe), (ZIs), (ZIp)); #line 1951 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/make_tdf/syntax.c" } /* END OF ACTION: make_cons */ ZRconstruct_Hextra (ZIc); if ((CURRENT_TERMINAL) == 32) { RESTORE_LEXER; goto ZL1; } } goto ZL0; ZL1:; SAVE_LEXER (32); return; ZL0:; *ZOc = ZIc; } static void ZRconstruct_Hlist (SORT ZIs, SID_CONS_LIST *ZOp) { SID_CONS_LIST ZIp; if ((CURRENT_TERMINAL) == 32) { return; } { CONSTRUCT ZIc; SID_CONS_LIST ZIq; switch (CURRENT_TERMINAL) { case lex_open: break; default: goto ZL1; } ADVANCE_LEXER; ZRconstruct_Hitem (ZIs, &ZIc); switch (CURRENT_TERMINAL) { case lex_close: break; case 32: RESTORE_LEXER; goto ZL1; default: goto ZL1; } ADVANCE_LEXER; /* BEGINNING OF INLINE: 79 */ { switch (CURRENT_TERMINAL) { case lex_comma: { ADVANCE_LEXER; ZRconstruct_Hlist (ZIs, &ZIq); if ((CURRENT_TERMINAL) == 32) { RESTORE_LEXER; goto ZL1; } } break; default: { /* BEGINNING OF ACTION: null_cons */ { #line 286 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/make_tdf/syntax.act" (ZIq) = NULL_list (CONSTRUCT); #line 2018 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/make_tdf/syntax.c" } /* END OF ACTION: null_cons */ } break; } } /* END OF INLINE: 79 */ /* BEGINNING OF ACTION: cons_cons */ { #line 290 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/make_tdf/syntax.act" CONS_cons ((ZIc), (ZIq), (ZIp)); #line 2031 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/make_tdf/syntax.c" } /* END OF ACTION: cons_cons */ } goto ZL0; ZL1:; SAVE_LEXER (32); return; ZL0:; *ZOp = ZIp; } static void ZRparam_Hpack (SID_PARAM_LIST *ZOp) { SID_PARAM_LIST ZIp; if ((CURRENT_TERMINAL) == 32) { return; } { SID_PARAM_LIST ZIq; switch (CURRENT_TERMINAL) { case lex_open: break; default: goto ZL1; } ADVANCE_LEXER; /* BEGINNING OF INLINE: 62 */ { switch (CURRENT_TERMINAL) { case lex_open: { ZRparam_Hlist (&ZIq); if ((CURRENT_TERMINAL) == 32) { RESTORE_LEXER; goto ZL1; } } break; default: { /* BEGINNING OF ACTION: null_param */ { #line 254 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/make_tdf/syntax.act" (ZIq) = NULL_list (PARAMETER); #line 2080 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/make_tdf/syntax.c" } /* END OF ACTION: null_param */ } break; } } /* END OF INLINE: 62 */ switch (CURRENT_TERMINAL) { case lex_close: break; default: goto ZL1; } ADVANCE_LEXER; ZIp = ZIq; } goto ZL0; ZL1:; SAVE_LEXER (32); return; ZL0:; *ZOp = ZIp; } static void ZRedge_Hpack (void) { if ((CURRENT_TERMINAL) == 32) { return; } { switch (CURRENT_TERMINAL) { case lex_open: break; default: goto ZL1; } ADVANCE_LEXER; /* BEGINNING OF INLINE: 129 */ { switch (CURRENT_TERMINAL) { case lex_open: { ZRedge_Hlist (); if ((CURRENT_TERMINAL) == 32) { RESTORE_LEXER; goto ZL1; } } break; default: break; } } /* END OF INLINE: 129 */ switch (CURRENT_TERMINAL) { case lex_close: break; default: goto ZL1; } ADVANCE_LEXER; } return; ZL1:; SAVE_LEXER (32); return; } void read_spec (SPECIFICATION *ZOspec) { SPECIFICATION ZIspec; if ((CURRENT_TERMINAL) == 32) { return; } { SID_LINK_LIST ZIp; SID_LINK_LIST ZIq; unsigned ZIv1; unsigned ZIv2; switch (CURRENT_TERMINAL) { case lex_open: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_open: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_sorts: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_comma: break; default: goto ZL1; } ADVANCE_LEXER; ZRsort_Hpack (); switch (CURRENT_TERMINAL) { case lex_close: break; case 32: RESTORE_LEXER; goto ZL1; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_comma: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_open: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_lists: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_comma: break; default: goto ZL1; } ADVANCE_LEXER; ZRclist_Hpack (); switch (CURRENT_TERMINAL) { case lex_close: break; case 32: RESTORE_LEXER; goto ZL1; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_comma: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_open: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_slists: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_comma: break; default: goto ZL1; } ADVANCE_LEXER; ZRslist_Hpack (); switch (CURRENT_TERMINAL) { case lex_close: break; case 32: RESTORE_LEXER; goto ZL1; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_comma: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_open: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_options: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_comma: break; default: goto ZL1; } ADVANCE_LEXER; ZRoption_Hpack (); switch (CURRENT_TERMINAL) { case lex_close: break; case 32: RESTORE_LEXER; goto ZL1; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_comma: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_open: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_linkable_Hentities: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_comma: break; default: goto ZL1; } ADVANCE_LEXER; ZRlink_Hpack (&ZIp); switch (CURRENT_TERMINAL) { case lex_close: break; case 32: RESTORE_LEXER; goto ZL1; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_comma: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_open: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_kinds_Hof_Hunit: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_comma: break; default: goto ZL1; } ADVANCE_LEXER; ZRkind_Hpack (&ZIq); switch (CURRENT_TERMINAL) { case lex_close: break; case 32: RESTORE_LEXER; goto ZL1; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_comma: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_open: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_graph_Hedges: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_comma: break; default: goto ZL1; } ADVANCE_LEXER; ZRedge_Hpack (); switch (CURRENT_TERMINAL) { case lex_close: break; case 32: RESTORE_LEXER; goto ZL1; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_comma: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_open: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_major_Hversion: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_comma: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_number: /* BEGINNING OF EXTRACT: number */ { #line 222 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/make_tdf/syntax.act" ZIv1 = token_value; #line 2472 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/make_tdf/syntax.c" } /* END OF EXTRACT: number */ break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_close: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_comma: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_open: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_minor_Hversion: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_comma: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_number: /* BEGINNING OF EXTRACT: number */ { #line 222 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/make_tdf/syntax.act" ZIv2 = token_value; #line 2522 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/make_tdf/syntax.c" } /* END OF EXTRACT: number */ break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_close: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_close: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_eof: break; default: goto ZL1; } ADVANCE_LEXER; /* BEGINNING OF ACTION: make_spec */ { #line 362 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/make_tdf/syntax.act" LIST (SORT) p = check_sorts (); LIST (LINKAGE) q = foreign_sorts (); MAKE_spec_basic ((ZIv1), (ZIv2), p, (ZIp), (ZIq), q, (ZIspec)); #line 2558 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/make_tdf/syntax.c" } /* END OF ACTION: make_spec */ } goto ZL0; ZL1:; { /* BEGINNING OF ACTION: syntax_error */ { #line 379 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/make_tdf/syntax.act" MSG_syntax_error (); #line 2570 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/make_tdf/syntax.c" } /* END OF ACTION: syntax_error */ /* BEGINNING OF ACTION: null_spec */ { #line 368 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/make_tdf/syntax.act" (ZIspec) = NULL_spec; #line 2578 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/make_tdf/syntax.c" } /* END OF ACTION: null_spec */ } ZL0:; *ZOspec = ZIspec; } static void ZRoption_Hpack (void) { if ((CURRENT_TERMINAL) == 32) { return; } { switch (CURRENT_TERMINAL) { case lex_open: break; default: goto ZL1; } ADVANCE_LEXER; /* BEGINNING OF INLINE: 107 */ { switch (CURRENT_TERMINAL) { case lex_name: { ZRoption_Hlist (); if ((CURRENT_TERMINAL) == 32) { RESTORE_LEXER; goto ZL1; } } break; default: break; } } /* END OF INLINE: 107 */ switch (CURRENT_TERMINAL) { case lex_close: break; default: goto ZL1; } ADVANCE_LEXER; } return; ZL1:; SAVE_LEXER (32); return; } static void ZRclist_Hpack (void) { if ((CURRENT_TERMINAL) == 32) { return; } { switch (CURRENT_TERMINAL) { case lex_open: break; default: goto ZL1; } ADVANCE_LEXER; /* BEGINNING OF INLINE: 95 */ { switch (CURRENT_TERMINAL) { case lex_name: { ZRclist_Hlist (); if ((CURRENT_TERMINAL) == 32) { RESTORE_LEXER; goto ZL1; } } break; default: break; } } /* END OF INLINE: 95 */ switch (CURRENT_TERMINAL) { case lex_close: break; default: goto ZL1; } ADVANCE_LEXER; } return; ZL1:; SAVE_LEXER (32); return; } static void ZRparam_Hitem (PARAMETER *ZOa) { PARAMETER ZIa; if ((CURRENT_TERMINAL) == 32) { return; } { string ZIn; SORT ZIs; switch (CURRENT_TERMINAL) { case lex_open: break; default: goto ZL1; } ADVANCE_LEXER; ZRany_Hname (&ZIn); switch (CURRENT_TERMINAL) { case lex_comma: break; case 32: RESTORE_LEXER; goto ZL1; default: goto ZL1; } ADVANCE_LEXER; ZRnew_Hsort_Hname (&ZIs); switch (CURRENT_TERMINAL) { case lex_close: break; case 32: RESTORE_LEXER; goto ZL1; default: goto ZL1; } ADVANCE_LEXER; /* BEGINNING OF ACTION: make_param */ { #line 248 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/make_tdf/syntax.act" int intro = 0; if (ends_in ((ZIn), "_intro")) intro = 1; MAKE_par_basic ((ZIn), (ZIs), 0, 0, intro, (ZIa)); #line 2724 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/make_tdf/syntax.c" } /* END OF ACTION: make_param */ } goto ZL0; ZL1:; SAVE_LEXER (32); return; ZL0:; *ZOa = ZIa; } static void ZRedge_Hitem (void) { if ((CURRENT_TERMINAL) == 32) { return; } { SORT ZIs; string ZIc; switch (CURRENT_TERMINAL) { case lex_open: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_edge_Hsort: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_comma: break; default: goto ZL1; } ADVANCE_LEXER; ZRold_Hsort_Hname (&ZIs); switch (CURRENT_TERMINAL) { case lex_close: break; case 32: RESTORE_LEXER; goto ZL1; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_comma: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_open: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_edge_Hconstructor: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_comma: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_name: /* BEGINNING OF EXTRACT: name */ { #line 210 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/make_tdf/syntax.act" ZIc = string_copy (token_buff); #line 2813 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/make_tdf/syntax.c" } /* END OF EXTRACT: name */ break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_close: break; default: goto ZL1; } ADVANCE_LEXER; /* BEGINNING OF ACTION: set_edge */ { #line 325 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/make_tdf/syntax.act" set_special ((ZIs), (ZIc), KIND_edge); COPY_int (sort_edge ((ZIs)), 1); #line 2834 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/make_tdf/syntax.c" } /* END OF ACTION: set_edge */ } return; ZL1:; SAVE_LEXER (32); return; } static void ZRkind_Hpack (SID_LINK_LIST *ZOp) { SID_LINK_LIST ZIp; if ((CURRENT_TERMINAL) == 32) { return; } { SID_LINK_LIST ZIq; switch (CURRENT_TERMINAL) { case lex_open: break; default: goto ZL1; } ADVANCE_LEXER; /* BEGINNING OF INLINE: 122 */ { switch (CURRENT_TERMINAL) { case lex_open: { ZRkind_Hlist (&ZIq); if ((CURRENT_TERMINAL) == 32) { RESTORE_LEXER; goto ZL1; } } break; default: { /* BEGINNING OF ACTION: null_link */ { #line 347 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/make_tdf/syntax.act" (ZIq) = NULL_list (LINKAGE); #line 2881 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/make_tdf/syntax.c" } /* END OF ACTION: null_link */ } break; } } /* END OF INLINE: 122 */ switch (CURRENT_TERMINAL) { case lex_close: break; default: goto ZL1; } ADVANCE_LEXER; ZIp = ZIq; } goto ZL0; ZL1:; SAVE_LEXER (32); return; ZL0:; *ZOp = ZIp; } static void ZRnumber_Hlist (CONSTRUCT ZIc) { if ((CURRENT_TERMINAL) == 32) { return; } ZL2_number_Hlist:; { unsigned ZIa; switch (CURRENT_TERMINAL) { case lex_number: /* BEGINNING OF EXTRACT: number */ { #line 222 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/make_tdf/syntax.act" ZIa = token_value; #line 2923 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/make_tdf/syntax.c" } /* END OF EXTRACT: number */ break; default: goto ZL1; } ADVANCE_LEXER; /* BEGINNING OF ACTION: set_boundary */ { #line 267 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/make_tdf/syntax.act" PARAMETER p = find_param ((ZIc), (ZIa)); if (!IS_NULL_par (p)) COPY_int (par_align (p), 1); #line 2937 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/make_tdf/syntax.c" } /* END OF ACTION: set_boundary */ /* BEGINNING OF INLINE: 69 */ { switch (CURRENT_TERMINAL) { case lex_comma: { ADVANCE_LEXER; /* BEGINNING OF INLINE: number-list */ goto ZL2_number_Hlist; /* END OF INLINE: number-list */ } /*UNREACHED*/ default: break; } } /* END OF INLINE: 69 */ } return; ZL1:; SAVE_LEXER (32); return; } static void ZRoption_Hitem (void) { if ((CURRENT_TERMINAL) == 32) { return; } { SORT ZIs; ZRnew_Hsort_Hname (&ZIs); if ((CURRENT_TERMINAL) == 32) { RESTORE_LEXER; goto ZL1; } /* BEGINNING OF ACTION: make_option */ { #line 321 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/make_tdf/syntax.act" compound_sort ((ZIs), "_option", info_option_tag, '?'); #line 2982 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/make_tdf/syntax.c" } /* END OF ACTION: make_option */ } return; ZL1:; SAVE_LEXER (32); return; } /* BEGINNING OF TRAILER */ #line 384 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/make_tdf/syntax.act" #line 2996 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/make_tdf/syntax.c" /* END OF FILE */