src/Tools/8bit/c-sources/isa2latex/conv-lex.x
author paulson
Tue, 16 Jul 1996 15:49:46 +0200
changeset 1868 836950047d85
parent 1826 2a2c0dbeb4ac
child 4170 6b8bbcc9f05f
permissions -rw-r--r--
Put in minimal simpset to avoid excessive simplification, just as in revision 1.9 of HOL/indrule.ML
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1826
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
     1
/*  Title:      Tools/8bit/c-sources/isa2latex/conv-main.c
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
     2
    ID:         $Id$
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
     3
    Author:     Franz Regensburger
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
     4
    Copyright   1996 TU Muenchen
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
     5
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
     6
converter for isabelle files
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
     7
definitions for the lexical analyzer
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
     8
*/
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
     9
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    10
%{
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    11
#include "conv-defs.h"
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    12
#define output(c) fputc(c, yyout)
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    13
#define BEGIN_ISA {	if (accept_ASCII)				\
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    14
				BEGIN ISAA;	/* we have -A option */	\
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    15
			else						\
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    16
				BEGIN ISA;}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    17
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    18
extern FILE *finput, *foutput;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    19
extern int tabBlanks;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    20
extern int tabcount;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    21
extern char isa_env_beg[], isa_env_end[];
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    22
extern int convMode;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    23
extern int accept_ASCII;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    24
extern int destCode;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    25
extern int cc;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    26
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    27
void reset_tabs(void);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    28
void put(char c, int longDetect, int longCode);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    29
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    30
int lineno=1;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    31
int inline_mode=FALSE;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    32
%}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    33
%S LATEX ISA ISAA ESC
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    34
%option noyywrap
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    35
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    36
%%
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    37
  void warning(char *what);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    38
  void not_suitable(char *what, char *where);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    39
  yyin = finput;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    40
  yyout = foutput;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    41
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    42
  if (convMode == MIXED)
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    43
	BEGIN LATEX;	/* we have -x option */
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    44
  else 
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    45
	BEGIN_ISA;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    46
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    47
<LATEX>\\I@		{ BEGIN_ISA; inline_mode=TRUE ; fprintf(foutput, 
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    48
				"{\\isainline{"); }
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    49
<LATEX>\\I@isa[ \t]*\n?	{ BEGIN_ISA; inline_mode=FALSE; fprintf(foutput, 
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    50
				isa_env_beg); reset_tabs(); 
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    51
			  if (yytext[strlen(yytext)-1] == '\n') lineno++;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    52
			}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    53
<LATEX>\\E@		{ ECHO; not_suitable("\\E@","LATEX"); }
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    54
<LATEX>\n		{ put(*yytext,FALSE,0); lineno++; }
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    55
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    56
<ISA,ISAA>\\I@		{ if (inline_mode) 
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    57
			  { BEGIN LATEX; inline_mode=FALSE; 
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    58
			    fprintf(foutput, "}}"); }
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    59
			  else
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    60
			  { ECHO; not_suitable("\\I@","ISA"); }
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    61
			}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    62
<ISA,ISAA>\n?[ \t]*\\I@isa	{ if (inline_mode)
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    63
			  { ECHO; not_suitable("\\I@isa","INLINE"); }
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    64
			  else
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    65
			  { if (convMode == MIXED) {
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    66
			      BEGIN LATEX; fprintf(foutput, isa_env_end); }
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    67
			    else {
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    68
			      ECHO; warning(
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    69
				"\\I@isa only allowed with -x option"); }
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    70
			  }
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    71
			  if (yytext[0] == '\n') lineno++;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    72
			}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    73
<ISA,ISAA>\\E@		{ BEGIN ESC; fprintf(foutput, "{\\isaescape{"); }
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    74
<ISA,ISAA><<EOF>>	{ if (convMode == MIXED) 
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    75
			    not_suitable("EOF", inline_mode? "INLINE": "ISA");
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    76
			   yyterminate(); 
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    77
			}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    78
<ISA,ISAA>\n		{ if (inline_mode) 
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    79
			  { ECHO; not_suitable("\\n","INLINE"); }
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    80
			  else
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    81
			  { put(*yytext,FALSE,0); }
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    82
			  lineno++;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    83
			}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    84
<ISA,ISAA>\t		{ if (inline_mode)
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    85
			  { ECHO; not_suitable("\\t","INLINE"); }
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    86
			  else
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    87
			  { put(*yytext,FALSE,0); }
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    88
			}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    89
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    90
<ESC>\\I@		{ ECHO; not_suitable("\\I@"   ,"ESC"); }
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    91
<ESC>\\I@isa		{ ECHO; not_suitable("\\I@isa","ESC"); }
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    92
<ESC>\\E@		{ BEGIN_ISA; fprintf(foutput, "}}"); }
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    93
<ESC><<EOF>>		{       not_suitable("EOF"    ,"ESC"); yyterminate(); }
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    94
<ESC>\n			{ put(*yytext,FALSE,0); lineno++; }
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    95
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    96
  /* The following is generated by the perl script gen-isa2latex. */
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    97
  /* Make modifications in configuration file for gen-isa2latex!  */             
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    98
  /* BEGIN_OF_HI_TABLE */
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    99
<ISAA>\\Gamma\         	put((char)161,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   100
<ISAA>\\Delta\         	put((char)162,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   101
<ISAA>\\Theta\         	put((char)163,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   102
<ISAA>LAM\             	put((char)164,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   103
<ISAA>\\Pi\            	put((char)165,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   104
<ISAA>\\Sigma\         	put((char)166,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   105
<ISAA>\\Phi\           	put((char)167,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   106
<ISAA>\\Psi\           	put((char)168,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   107
<ISAA>\\Omega\         	put((char)169,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   108
<ISAA>'a               	put((char)170,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   109
<ISAA>'b               	put((char)171,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   110
<ISAA>'c               	put((char)172,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   111
<ISAA>\\delta\         	put((char)173,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   112
<ISAA>\\varepsilon\    	put((char)174,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   113
<ISAA>\\zeta\          	put((char)175,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   114
<ISAA>\\eta\           	put((char)176,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   115
<ISAA>\\vartheta\      	put((char)177,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   116
<ISAA>\\kappa\         	put((char)178,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   117
<ISAA>%\               	put((char)179,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   118
<ISAA>\\mu\            	put((char)180,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   119
<ISAA>\\nu\            	put((char)181,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   120
<ISAA>\\xi\            	put((char)182,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   121
<ISAA>\\pi\            	put((char)183,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   122
<ISAA>'r               	put((char)184,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   123
<ISAA>'s               	put((char)185,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   124
<ISAA>'t               	put((char)186,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   125
<ISAA>\\varphi\        	put((char)187,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   126
<ISAA>\\chi\           	put((char)188,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   127
<ISAA>\\psi\           	put((char)189,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   128
<ISAA>\\omega\         	put((char)190,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   129
<ISAA>~\               	put((char)191,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   130
<ISAA>&\               	put((char)192,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   131
<ISAA>\|\              	put((char)193,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   132
<ISAA>!\               	put((char)194,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   133
<ISAA>\?\              	put((char)195,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   134
<ISAA>!!               	put((char)196,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   135
<ISAA>\\lceil\         	put((char)197,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   136
<ISAA>\\rceil\         	put((char)198,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   137
<ISAA>\\lfloor\        	put((char)199,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   138
<ISAA>\\rfloor\        	put((char)200,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   139
<ISAA>\(\|             	put((char)201,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   140
<ISAA>\|\)             	put((char)202,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   141
<ISAA>\[\|             	put((char)203,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   142
<ISAA>\|\]             	put((char)204,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   143
<ISAA>{}               	put((char)205,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   144
<ISAA>\ :\             	put((char)206,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   145
<ISAA>\subseteq\       	put((char)207,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   146
<ISAA>\ Int\           	put((char)208,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   147
<ISAA>\ Un\            	put((char)209,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   148
<ISAA>Inter\           	put((char)210,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   149
<ISAA>Union\           	put((char)211,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   150
<ISAA>\sqcap\          	put((char)212,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   151
<ISAA>\sqcup\          	put((char)213,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   152
<ISAA>glb\             	put((char)214,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   153
<ISAA>lub\             	put((char)215,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   154
<ISAA>UU               	put((char)216,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   155
<ISAA>===              	put((char)217,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   156
<ISAA>==               	put((char)218,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   157
<ISAA>~=               	put((char)219,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   158
<ISAA>\\sqsubset\      	put((char)220,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   159
<ISAA><<               	put((char)221,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   160
<ISAA>\\prec\          	put((char)222,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   161
<ISAA>\\preceq\        	put((char)223,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   162
<ISAA>\\succ\          	put((char)224,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   163
<ISAA>\\succeq\        	put((char)225,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   164
<ISAA>\\sim\           	put((char)226,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   165
<ISAA>\\simeq\         	put((char)227,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   166
<ISAA>\\le\            	put((char)228,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   167
<ISAA>\\ge\            	put((char)229,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   168
<ISAA><-               	put((char)230,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   169
<ISAA>-@@@@@           	put((char)231,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   170
<ISAA>->               	put((char)232,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   171
<ISAA>\\Leftarrow\     	put((char)233,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   172
<ISAA>=@@@@@           	put((char)234,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   173
<ISAA>=>               	put((char)235,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   174
<ISAA>->>              	put((char)236,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   175
<ISAA>\\mapsto\        	put((char)237,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   176
<ISAA>\\leadsto\       	put((char)238,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   177
<ISAA>\\uparrow\       	put((char)239,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   178
<ISAA>\\downarrow\     	put((char)240,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   179
<ISAA>~:               	put((char)241,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   180
<ISAA>\\times\         	put((char)242,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   181
<ISAA>\\oplus\         	put((char)243,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   182
<ISAA>\\ominus\        	put((char)244,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   183
<ISAA>\\otimes\        	put((char)245,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   184
<ISAA>\\oslash\        	put((char)246,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   185
<ISAA>\\natural\       	put((char)247,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   186
<ISAA>\\infty\         	put((char)248,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   187
<ISAA>\\Box\           	put((char)249,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   188
<ISAA>\\Diamond\       	put((char)250,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   189
<ISAA>\\circ\          	put((char)251,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   190
<ISAA>\\bullet\        	put((char)252,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   191
<ISAA>\|\|             	put((char)253,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   192
<ISAA>\\tick\          	put((char)254,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   193
<ISAA>\\filter\        	put((char)255,FALSE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   194
  /* END_OF_HI_TABLE */
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   195
  /* This is the end of the generated part */
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   196
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   197
  /* The following is generated by the perl script gen-isa2latex. */
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   198
  /* Make modifications in configuration file for gen-isa2latex!  */             
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   199
  /* BEGIN_OF_SEQ_TABLE */
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   200
<ISA,ISAA>êë          	put((char)32,TRUE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   201
<ISAA>==>         	put((char)32,TRUE,0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   202
<ISA,ISAA>çè          	put((char)32,TRUE,1);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   203
<ISAA>-->         	put((char)32,TRUE,1);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   204
<ISA,ISAA>Ã!          	put((char)32,TRUE,2);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   205
<ISAA>\?!         	put((char)32,TRUE,2);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   206
<ISA,ISAA>ALL@@@@@    	put((char)32,TRUE,3);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   207
<ISAA>ALL\        	put((char)32,TRUE,3);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   208
<ISA,ISAA>EX@@@@@     	put((char)32,TRUE,4);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   209
<ISAA>EX\         	put((char)32,TRUE,4);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   210
<ISA,ISAA><\|@@@@@    	put((char)32,TRUE,5);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   211
<ISAA><\|         	put((char)32,TRUE,5);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   212
<ISA,ISAA><<\|@@@@@   	put((char)32,TRUE,6);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   213
<ISAA><<\|        	put((char)32,TRUE,6);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   214
<ISA,ISAA>éê          	put((char)32,TRUE,7);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   215
<ISAA><==         	put((char)32,TRUE,7);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   216
<ISA,ISAA>éë          	put((char)32,TRUE,8);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   217
<ISAA><=>         	put((char)32,TRUE,8);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   218
<ISA,ISAA>æç          	put((char)32,TRUE,9);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   219
<ISAA><--         	put((char)32,TRUE,9);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   220
<ISA,ISAA>æè          	put((char)32,TRUE,10);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   221
<ISAA><->         	put((char)32,TRUE,10);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   222
  /* END_OF_SEQ_TABLE */
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   223
  /* This is the end of the generated part */
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   224
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   225
.			{ put(*yytext,FALSE,0);}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   226
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   227
%%
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   228
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   229
void warning(char *str)
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   230
{
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   231
  fprintf(stderr,"WARNING: line %d: %s\n", lineno, str);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   232
}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   233
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   234
void not_suitable(char *what, char *where)
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   235
{
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   236
  char buf[80];
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   237
  sprintf(buf, "'%s' inside %s mode", what, where);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   238
  warning(buf);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   239
}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   240
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   241
void reset_tabs(void)
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   242
{
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   243
  cc = 0;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   244
  tabcount = 1;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   245
}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   246
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   247
void put(char c, int longDetect,int longCode)
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   248
{
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   249
  int i;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   250
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   251
    if (YY_START == LATEX || YY_START == ESC)
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   252
        /* do not translate in these modes */ 
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   253
	fputc(c,foutput);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   254
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   255
    else /* we are in ISA mode */
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   256
    if (longDetect) { /* lexer has scanned a long sequence */ 
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   257
       fprintf(foutput, "%s", translateLong(longCode, destCode));
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   258
        if (destCode == TO_LaTeX && ++cc % tabBlanks == 0)
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   259
          tabcount++;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   260
       }
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   261
    else /* lexer has not scanned a long sequence */		      
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   262
    if (c & 0x80) { /* Hi-bit is set... */
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   263
       fprintf(foutput, "%s", translateHi(c, destCode));
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   264
        if (destCode == TO_LaTeX && ++cc % tabBlanks == 0)
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   265
          tabcount++;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   266
    } 
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   267
    else /* simple char without Hi-Bit*/
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   268
    if (destCode == TO_7bit)
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   269
        fputc(c, foutput);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   270
    else
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   271
        switch (c) {  /* handle control codes */
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   272
          case '\n': if (inline_mode)
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   273
		       c=' ';
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   274
		     else {
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   275
		       fprintf(foutput, "\\\\\n");
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   276
		       reset_tabs();
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   277
		       break;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   278
		     }
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   279
          case TAB:  if (inline_mode)
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   280
		       c=' ';
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   281
		     else {
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   282
		       for (i = 0; i < tabcount; i++)
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   283
		         fprintf(foutput, "\\>");
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   284
		       reset_tabs();
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   285
		       break;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   286
		     }
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   287
         default:
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   288
            if (++cc % tabBlanks == 0)
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   289
              tabcount++;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   290
            if ((c >= START_LOW_TABLE) && (c <= END_LOW_TABLE))
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   291
	      {
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   292
              fprintf(foutput, "%s", translateLow(c));}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   293
            else /* just reproduce the other control codes */
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   294
              fputc(c, foutput);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   295
        } /* switch */
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   296
}       
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   297
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   298
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   299
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   300
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   301
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   302