/* * Automatically generated from the files: * /mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/lexi/syntax.sid * and * /mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/lexi/syntax.act * by: * /mnt/gmirror/ports/lang/TenDRA/work/tendra/obj/utilities/sid/sid */ /* BEGINNING OF HEADER */ #line 30 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/lexi/syntax.act" /* * Copyright (c) 2003, 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/lexi/syntax.act,v 1.6 2004/03/08 16:41:20 bp Exp $ */ #include "config.h" #include "char.h" #include "cstring.h" #include "lex.h" #include "msgcat.h" #include "syntax.h" /* PARSER TYPES These types give the implementation of the types used in the syntax. */ typedef letter *SID_CHARS ; typedef char *SID_STRING ; /* SID IDENTIFIER PREFIX This string is added to the start of each sid identifier. */ char *sid_prefix = "lex_" ; /* CURRENT CONDITIONAL This variable is used to record the current conditional. */ static char *crt_cond = NULL ; #line 108 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/lexi/syntax.c" /* BEGINNING OF FUNCTION DECLARATIONS */ static void ZRstring_Hplus (SID_STRING *); static void ZRchars (SID_CHARS *); static void ZRargs (int *); static void ZRtrigraph_Hdefn (void); static void ZR60 (SID_STRING *, int *); extern void read_lex (void); static void ZR68 (void); static void ZRcommand_Hlist (void); static void ZRkeyword_Hdefn (void); static void ZRif_Hcommand (void); static void ZRcommand (void); static void ZRtoken_Hdefn (void); /* BEGINNING OF STATIC VARIABLES */ /* BEGINNING OF FUNCTION DEFINITIONS */ static void ZRstring_Hplus (SID_STRING *ZOs) { SID_STRING ZIs; if ((CURRENT_TERMINAL) == 23) { return; } { SID_STRING ZIa; /* BEGINNING OF INLINE: 44 */ { switch (CURRENT_TERMINAL) { case lex_digit: { /* BEGINNING OF EXTRACT: digit */ { #line 231 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/lexi/syntax.act" ZIa = "0123456789" ; #line 150 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/lexi/syntax.c" } /* END OF EXTRACT: digit */ ADVANCE_LEXER; } break; case lex_lower: { /* BEGINNING OF EXTRACT: lower */ { #line 230 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/lexi/syntax.act" ZIa = "abcdefghijklmnopqrstuvwxyz" ; #line 162 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/lexi/syntax.c" } /* END OF EXTRACT: lower */ ADVANCE_LEXER; } break; case lex_string: { /* BEGINNING OF EXTRACT: string */ { #line 218 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/lexi/syntax.act" ZIa = string_copy(token_buff) ; #line 175 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/lexi/syntax.c" } /* END OF EXTRACT: string */ ADVANCE_LEXER; } break; case lex_upper: { /* BEGINNING OF EXTRACT: upper */ { #line 229 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/lexi/syntax.act" ZIa = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" ; #line 187 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/lexi/syntax.c" } /* END OF EXTRACT: upper */ ADVANCE_LEXER; } break; default: goto ZL1; } } /* END OF INLINE: 44 */ /* BEGINNING OF INLINE: 46 */ { switch (CURRENT_TERMINAL) { case lex_plus: { SID_STRING ZIb; ADVANCE_LEXER; ZRstring_Hplus (&ZIb); if ((CURRENT_TERMINAL) == 23) { RESTORE_LEXER; goto ZL1; } /* BEGINNING OF ACTION: string-concat */ { #line 243 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/lexi/syntax.act" (ZIs) = string_concat((ZIa), (ZIb)); #line 216 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/lexi/syntax.c" } /* END OF ACTION: string-concat */ } break; default: { ZIs = ZIa; } break; } } /* END OF INLINE: 46 */ } goto ZL0; ZL1:; SAVE_LEXER (23); return; ZL0:; *ZOs = ZIs; } static void ZRchars (SID_CHARS *ZOc) { SID_CHARS ZIc; if ((CURRENT_TERMINAL) == 23) { return; } { SID_STRING ZIs; ZRstring_Hplus (&ZIs); if ((CURRENT_TERMINAL) == 23) { RESTORE_LEXER; goto ZL1; } /* BEGINNING OF ACTION: make-chars */ { #line 255 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/lexi/syntax.act" (ZIc) = make_string ( (ZIs) ) ; #line 259 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/lexi/syntax.c" } /* END OF ACTION: make-chars */ } goto ZL0; ZL1:; SAVE_LEXER (23); return; ZL0:; *ZOc = ZIc; } static void ZRargs (int *ZOa) { int ZIa; switch (CURRENT_TERMINAL) { case lex_open: { ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_close: break; default: goto ZL1; } ADVANCE_LEXER; /* BEGINNING OF ACTION: true */ { #line 392 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/lexi/syntax.act" (ZIa) = 1 ; #line 291 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/lexi/syntax.c" } /* END OF ACTION: true */ } break; default: { /* BEGINNING OF ACTION: false */ { #line 393 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/lexi/syntax.act" (ZIa) = 0 ; #line 302 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/lexi/syntax.c" } /* END OF ACTION: false */ } break; case 23: return; } goto ZL0; ZL1:; SAVE_LEXER (23); return; ZL0:; *ZOa = ZIa; } static void ZRtrigraph_Hdefn (void) { if ((CURRENT_TERMINAL) == 23) { return; } { SID_CHARS ZIs; SID_STRING ZIt; switch (CURRENT_TERMINAL) { case lex_mapping: break; default: goto ZL1; } ADVANCE_LEXER; ZRchars (&ZIs); switch (CURRENT_TERMINAL) { case lex_arrow: break; case 23: RESTORE_LEXER; goto ZL1; default: goto ZL1; } ADVANCE_LEXER; ZRstring_Hplus (&ZIt); if ((CURRENT_TERMINAL) == 23) { RESTORE_LEXER; goto ZL1; } /* BEGINNING OF ACTION: make-trigraph */ { #line 293 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/lexi/syntax.act" char *data [3] ; data [0] = (ZIt) ; data [1] = NULL ; data [2] = crt_cond ; add_char ( pre_pass, (ZIs), data ) ; #line 360 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/lexi/syntax.c" } /* END OF ACTION: make-trigraph */ } return; ZL1:; SAVE_LEXER (23); return; } static void ZR60 (SID_STRING *ZOi, int *ZOa) { SID_STRING ZIi; int ZIa; switch (CURRENT_TERMINAL) { case lex_identifier: { /* BEGINNING OF EXTRACT: identifier */ { #line 173 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/lexi/syntax.act" ZIi = string_copy(token_buff); #line 384 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/lexi/syntax.c" } /* END OF EXTRACT: identifier */ ADVANCE_LEXER; ZRargs (&ZIa); if ((CURRENT_TERMINAL) == 23) { RESTORE_LEXER; goto ZL1; } } break; case lex_sid_Hidentifier: { /* BEGINNING OF EXTRACT: sid-identifier */ { #line 185 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/lexi/syntax.act" int n ; char *s ; char buff [1000] ; strcpy(buff, sid_prefix); n = ( int ) strlen ( buff ) ; for ( s = token_buff ; *s ; s++ ) { if ( *s == '-' ) { buff [ n++ ] = '_' ; buff [ n++ ] = 'H' ; } else if ( *s == '_' ) { buff [ n++ ] = '_' ; buff [ n++ ] = '_' ; } else { buff [ n++ ] = *s ; } if ( n >= 900 ) { MSG_id_too_long(); break ; } } buff [n] = 0 ; ZIi = string_copy(buff); #line 423 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/lexi/syntax.c" } /* END OF EXTRACT: sid-identifier */ ADVANCE_LEXER; /* BEGINNING OF ACTION: false */ { #line 393 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/lexi/syntax.act" (ZIa) = 0 ; #line 431 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/lexi/syntax.c" } /* END OF ACTION: false */ } break; case 23: return; default: goto ZL1; } goto ZL0; ZL1:; SAVE_LEXER (23); return; ZL0:; *ZOi = ZIi; *ZOa = ZIa; } void read_lex (void) { if ((CURRENT_TERMINAL) == 23) { return; } { ZRcommand_Hlist (); /* BEGINNING OF INLINE: 67 */ { if ((CURRENT_TERMINAL) == 23) { RESTORE_LEXER; goto ZL1; } { switch (CURRENT_TERMINAL) { case lex_eof: break; default: goto ZL3; } ADVANCE_LEXER; } goto ZL2; ZL3:; { /* BEGINNING OF ACTION: syntax-error */ { #line 402 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/lexi/syntax.act" MSG_syntax_error(); #line 481 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/lexi/syntax.c" } /* END OF ACTION: syntax-error */ } ZL2:; } /* END OF INLINE: 67 */ } return; ZL1:; SAVE_LEXER (23); return; } static void ZR68 (void) { switch (CURRENT_TERMINAL) { case lex_identifier: { SID_STRING ZIi; SID_CHARS ZIs; /* BEGINNING OF EXTRACT: identifier */ { #line 173 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/lexi/syntax.act" ZIi = string_copy(token_buff); #line 509 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/lexi/syntax.c" } /* END OF EXTRACT: identifier */ ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_equal: break; default: goto ZL1; } ADVANCE_LEXER; ZRchars (&ZIs); if ((CURRENT_TERMINAL) == 23) { RESTORE_LEXER; goto ZL1; } /* BEGINNING OF ACTION: make-group */ { #line 282 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/lexi/syntax.act" make_group ( (ZIi), (ZIs) ) ; #line 530 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/lexi/syntax.c" } /* END OF ACTION: make-group */ switch (CURRENT_TERMINAL) { case lex_semicolon: break; default: goto ZL1; } ADVANCE_LEXER; } break; case lex_white: { SID_CHARS ZIs; ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_equal: break; default: goto ZL1; } ADVANCE_LEXER; ZRchars (&ZIs); if ((CURRENT_TERMINAL) == 23) { RESTORE_LEXER; goto ZL1; } /* BEGINNING OF ACTION: make-white */ { #line 268 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/lexi/syntax.act" if ( white_space ) { MSG_ws_grp_already_defined(); } white_space = (ZIs) ; #line 567 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/lexi/syntax.c" } /* END OF ACTION: make-white */ switch (CURRENT_TERMINAL) { case lex_semicolon: break; default: goto ZL1; } ADVANCE_LEXER; } break; case 23: return; default: goto ZL1; } return; ZL1:; SAVE_LEXER (23); return; } static void ZRcommand_Hlist (void) { ZL2_command_Hlist:; switch (CURRENT_TERMINAL) { case lex_group: case lex_keyword: case lex_mapping: case lex_token: case lex_if: case lex_open_Hbrace: case lex_semicolon: { ZRcommand (); /* BEGINNING OF INLINE: command-list */ if ((CURRENT_TERMINAL) == 23) { RESTORE_LEXER; goto ZL1; } else { goto ZL2_command_Hlist; } /* END OF INLINE: command-list */ } /*UNREACHED*/ case 23: return; default: break; } return; ZL1:; { /* BEGINNING OF ACTION: syntax-error */ { #line 402 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/lexi/syntax.act" MSG_syntax_error(); #line 623 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/lexi/syntax.c" } /* END OF ACTION: syntax-error */ } } static void ZRkeyword_Hdefn (void) { if ((CURRENT_TERMINAL) == 23) { return; } { SID_STRING ZIs; SID_STRING ZIi; int ZIa; switch (CURRENT_TERMINAL) { case lex_keyword: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_string: /* BEGINNING OF EXTRACT: string */ { #line 218 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/lexi/syntax.act" ZIs = string_copy(token_buff) ; #line 654 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/lexi/syntax.c" } /* END OF EXTRACT: string */ break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_arrow: break; default: goto ZL1; } ADVANCE_LEXER; ZR60 (&ZIi, &ZIa); if ((CURRENT_TERMINAL) == 23) { RESTORE_LEXER; goto ZL1; } /* BEGINNING OF ACTION: make-keyword */ { #line 323 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/lexi/syntax.act" char *data [3] ; data [0] = (ZIi) ; data [1] = ( (ZIa) ? "()" : NULL ) ; data [2] = crt_cond ; add_keyword ( (ZIs), data ) ; #line 683 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/lexi/syntax.c" } /* END OF ACTION: make-keyword */ } return; ZL1:; SAVE_LEXER (23); return; } static void ZRif_Hcommand (void) { if ((CURRENT_TERMINAL) == 23) { return; } { SID_STRING ZIi; SID_STRING ZIj; switch (CURRENT_TERMINAL) { case lex_if: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_open: break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_identifier: /* BEGINNING OF EXTRACT: identifier */ { #line 173 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/lexi/syntax.act" ZIi = string_copy(token_buff); #line 724 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/lexi/syntax.c" } /* END OF EXTRACT: identifier */ break; default: goto ZL1; } ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_close: break; default: goto ZL1; } ADVANCE_LEXER; /* BEGINNING OF ACTION: get-condition */ { #line 370 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/lexi/syntax.act" (ZIj) = crt_cond ; #line 744 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/lexi/syntax.c" } /* END OF ACTION: get-condition */ /* BEGINNING OF ACTION: add-condition */ { #line 338 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/lexi/syntax.act" if ( crt_cond ) { crt_cond = string_concat(crt_cond, string_concat(" && ", (ZIi))); } else { crt_cond = (ZIi) ; } #line 756 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/lexi/syntax.c" } /* END OF ACTION: add-condition */ ZRcommand (); /* BEGINNING OF INLINE: 65 */ { if ((CURRENT_TERMINAL) == 23) { RESTORE_LEXER; goto ZL1; } { switch (CURRENT_TERMINAL) { case lex_else: break; default: goto ZL3; } ADVANCE_LEXER; /* BEGINNING OF ACTION: compl-condition */ { #line 353 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/lexi/syntax.act" if ( crt_cond ) { if ( strchr ( crt_cond, '&' ) ) { crt_cond = string_concat(string_concat("!( ", crt_cond ), " )"); } else { crt_cond = string_concat("!", crt_cond); } } #line 785 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/lexi/syntax.c" } /* END OF ACTION: compl-condition */ ZRcommand (); if ((CURRENT_TERMINAL) == 23) { RESTORE_LEXER; goto ZL3; } /* BEGINNING OF ACTION: set-condition */ { #line 381 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/lexi/syntax.act" crt_cond = (ZIj) ; #line 798 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/lexi/syntax.c" } /* END OF ACTION: set-condition */ } goto ZL2; ZL3:; { /* BEGINNING OF ACTION: set-condition */ { #line 381 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/lexi/syntax.act" crt_cond = (ZIj) ; #line 810 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/lexi/syntax.c" } /* END OF ACTION: set-condition */ } ZL2:; } /* END OF INLINE: 65 */ } return; ZL1:; SAVE_LEXER (23); return; } static void ZRcommand (void) { switch (CURRENT_TERMINAL) { case lex_group: { ADVANCE_LEXER; ZR68 (); if ((CURRENT_TERMINAL) == 23) { RESTORE_LEXER; goto ZL1; } } break; case lex_open_Hbrace: { ADVANCE_LEXER; ZRcommand_Hlist (); switch (CURRENT_TERMINAL) { case lex_close_Hbrace: break; case 23: RESTORE_LEXER; goto ZL1; default: goto ZL1; } ADVANCE_LEXER; } break; case lex_semicolon: { ADVANCE_LEXER; } break; case lex_if: { ZRif_Hcommand (); if ((CURRENT_TERMINAL) == 23) { RESTORE_LEXER; goto ZL1; } } break; case lex_keyword: { ZRkeyword_Hdefn (); switch (CURRENT_TERMINAL) { case lex_semicolon: break; case 23: RESTORE_LEXER; goto ZL1; default: goto ZL1; } ADVANCE_LEXER; } break; case lex_token: { ZRtoken_Hdefn (); switch (CURRENT_TERMINAL) { case lex_semicolon: break; case 23: RESTORE_LEXER; goto ZL1; default: goto ZL1; } ADVANCE_LEXER; } break; case lex_mapping: { ZRtrigraph_Hdefn (); switch (CURRENT_TERMINAL) { case lex_semicolon: break; case 23: RESTORE_LEXER; goto ZL1; default: goto ZL1; } ADVANCE_LEXER; } break; case 23: return; default: goto ZL1; } return; ZL1:; SAVE_LEXER (23); return; } static void ZRtoken_Hdefn (void) { if ((CURRENT_TERMINAL) == 23) { return; } { SID_CHARS ZIs; SID_STRING ZIi; int ZIa; switch (CURRENT_TERMINAL) { case lex_token: break; default: goto ZL1; } ADVANCE_LEXER; ZRchars (&ZIs); switch (CURRENT_TERMINAL) { case lex_arrow: break; case 23: RESTORE_LEXER; goto ZL1; default: goto ZL1; } ADVANCE_LEXER; ZR60 (&ZIi, &ZIa); if ((CURRENT_TERMINAL) == 23) { RESTORE_LEXER; goto ZL1; } /* BEGINNING OF ACTION: make-token */ { #line 308 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/lexi/syntax.act" char *data [3] ; data [0] = (ZIi) ; data [1] = ( (ZIa) ? "()" : NULL ) ; data [2] = crt_cond ; add_char ( main_pass, (ZIs), data ) ; #line 967 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/lexi/syntax.c" } /* END OF ACTION: make-token */ } return; ZL1:; SAVE_LEXER (23); return; } /* BEGINNING OF TRAILER */ #line 407 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/src/utilities/lexi/syntax.act" #line 981 "/mnt/gmirror/ports/lang/TenDRA/work/tendra/obj//utilities/lexi/syntax.c" /* END OF FILE */