📄 eqn.cc
字号:
#ifndef lintstatic char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/90";#endif#define YYBYACC 1#line 20 "/u/jjc/groff/eqn/eqn.y"#include <stdio.h>#include <string.h>#include <stdlib.h>#include "lib.h"#include "box.h"extern int non_empty_flag;char *strsave(const char *);int yylex();void yyerror(const char *);#line 32 "/u/jjc/groff/eqn/eqn.y"typedef union { char *str; box *b; pile_box *pb; matrix_box *mb; int n; column *col;} YYSTYPE;#line 26 "y.tab.c"#define OVER 257#define SMALLOVER 258#define SQRT 259#define SUB 260#define SUP 261#define LPILE 262#define RPILE 263#define CPILE 264#define PILE 265#define LEFT 266#define RIGHT 267#define TO 268#define FROM 269#define SIZE 270#define FONT 271#define ROMAN 272#define BOLD 273#define ITALIC 274#define FAT 275#define ACCENT 276#define BAR 277#define UNDER 278#define ABOVE 279#define TEXT 280#define QUOTED_TEXT 281#define FWD 282#define BACK 283#define DOWN 284#define UP 285#define MATRIX 286#define COL 287#define LCOL 288#define RCOL 289#define CCOL 290#define MARK 291#define LINEUP 292#define TYPE 293#define VCENTER 294#define PRIME 295#define SPLIT 296#define NOSPLIT 297#define UACCENT 298#define SPECIAL 299#define SPACE 300#define GFONT 301#define GSIZE 302#define DEFINE 303#define NDEFINE 304#define TDEFINE 305#define SDEFINE 306#define UNDEF 307#define IFDEF 308#define INCLUDE 309#define DELIM 310#define CHARTYPE 311#define SET 312#define GRFONT 313#define GBFONT 314#define YYERRCODE 256short yylhs[] = { -1, 0, 0, 6, 6, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 7, 7, 7, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 11, 11, 12, 12, 13, 13, 16, 16, 15, 15, 14, 14, 14, 14, 9, 9, 10, 10, 10,};short yylen[] = { 2, 0, 1, 1, 2, 1, 2, 2, 1, 3, 3, 5, 5, 1, 2, 3, 3, 1, 3, 1, 3, 5, 1, 1, 2, 2, 1, 1, 1, 3, 2, 2, 2, 2, 4, 5, 3, 2, 2, 2, 3, 3, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 2, 3, 1, 1, 3, 3, 4, 1, 2, 1, 3, 3, 4, 2, 2, 2, 2, 1, 1, 1, 1, 1,};short yydefred[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 27, 28, 0, 0, 3, 5, 0, 13, 0, 0, 17, 14, 70, 71, 0, 0, 55, 31, 32, 33, 30, 73, 74, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7, 0, 0, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 38, 39, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 29, 15, 16, 9, 0, 0, 20, 18, 40, 41, 0, 58, 0, 0, 0, 0, 66, 67, 68, 69, 34, 61, 0, 0, 0, 0, 59, 35, 0, 0, 0, 11, 12, 21, 0, 64, 0, 0, 65,};short yydgoto[] = { 31, 32, 33, 34, 35, 36, 84, 38, 43, 44, 52, 85, 45, 98, 99, 118, 131,};short yysindex[] = { 1488, 1527, -120, -120, -120, -120, -123, -249, -249, 1566, 1566, 1566, 1566, 0, 0, -249, -249, -249, -249, -115, 1488, 1488, -249, 1566, -256, -251, -249, 0, 0, 0, 1488, 0, 0, 0, -221, 0, -233, 1488, 0, 0, 0, 0, 1488, -85, 0, 0, 0, 0, 0, 0, 0, 0, 1488, 1566, 1566, -195, -195, -195, -195, 1566, 1566, 1566, 1566, -272, 0, 0, 1566, -195, 0, 0, 1566, 1402, 1527, 1527, 1527, 1527, 1566, 1566, 1566, 0, 0, 0, 1566, 0, 1488, -113, 1488, 1444, -195, -195, -195, -195, -195, -195, -117, -117, -117, -117, -118, 0, -195, -195, 0, 0, 0, 0, -167, -189, 0, 0, 0, 0, 1488, 0, -106, -123, 1488, -83, 0, 0, 0, 0, 0, 0, 1527, 1527, 1566, 1488, 0, 0, 1488, -105, 1488, 0, 0, 0, 1488, 0, -104, 1488, 0,};short yyrindex[] = { 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1220, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 128, 363, 406, 0, 0, 0, 0, 0, 0, 0, 0, 449, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -103, 0, 0, 185, 492, 727, 770, 813, 856, 1091, 0, 0, 0, 0, 0, 0, 1134, 1177, 0, 0, 0, 0, 42, 1220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -102, 0, 0, -101, 0, 0, 0, 0, 0, 0, 0, 0, -99, 0,};short yygindex[] = { 0, -7, -69, 3, -66, 458, 9, -26, 52, 27, -63, -32, 54, 0, -35, 2, -59,};#define YYTABLESIZE 1865short yytable[] = { 49, 8, 50, 42, 39, 105, 116, 122, 63, 37, 8, 109, 113, 64, 65, 94, 95, 96, 97, 128, 137, 140, 56, 57, 62, 68, 63, 76, 77, 69, 83, 40, 41, 51, 53, 54, 72, 73, 86, 71, 132, 1, 10, 78, 79, 80, 2, 74, 75, 66, 108, 10, 129, 70, 114, 133, 134, 46, 47, 48, 135, 87, 81, 123, 83, 82, 0, 59, 60, 61, 62, 76, 126, 138, 0, 103, 104, 83, 106, 0, 83, 78, 79, 80, 0, 42, 0, 78, 79, 80, 72, 73, 0, 0, 42, 8, 0, 119, 120, 121, 81, 124, 125, 82, 0, 0, 81, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 127, 0, 83, 8, 130, 8, 8, 43, 0, 0, 0, 83, 0, 0, 0, 10, 43, 0, 0, 0, 130, 51, 0, 0, 139, 117, 117, 117, 117, 0, 0, 0, 0, 0, 0, 0, 40, 41, 0, 40, 41, 0, 40, 41, 10, 112, 10, 10, 94, 95, 96, 97, 112, 136, 136, 56, 57, 62, 42, 63, 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 42, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 43, 43, 0, 0, 0, 0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 36, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 44, 42, 42, 42, 42, 42, 42, 42, 42, 44, 0, 0, 0, 42, 42, 42, 42, 0, 42, 42, 0, 42, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 45, 43, 43, 43, 43, 43, 43, 43, 43, 45, 0, 0, 0, 43, 43, 43, 43, 0, 43, 43, 0, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 36, 0, 36, 36, 0, 0, 53, 0, 0, 0, 36, 36, 0, 0, 44, 53, 0, 0, 36, 36, 36, 36, 0, 0, 55, 56, 57, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 67, 0, 36, 0, 0, 44, 0, 44, 44, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, 45, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 89, 0, 0, 0, 0, 90, 91, 92, 93, 0, 0, 0, 100, 0, 0, 0, 101, 45, 0, 45, 45, 0, 107, 0, 110, 0, 0, 0, 111, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, 53, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 47, 47, 0, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 0, 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 0, 0, 44, 44, 44, 44, 0, 44, 44, 0, 44, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 0, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 0, 0, 45, 45, 45, 45, 0, 45, 45, 0, 45, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 46, 53, 53, 53, 53, 53, 53, 53, 53, 46, 0, 0, 0, 53, 53, 53, 53, 0, 53, 53, 0, 53, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 48, 47, 47, 47, 47, 47, 47, 47, 47, 48, 0, 0, 0, 47, 47, 47, 47, 0, 47, 47, 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 46, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 0, 46, 46, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 48, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 0, 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 0, 49, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 0, 51, 51, 0, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 0, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 0, 0, 46, 46, 46, 46, 0, 46, 46, 0, 46, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 0, 0, 48, 48, 48, 48, 0, 48, 48, 0, 48, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 50, 49, 49, 49, 49, 49, 49, 49, 49, 50, 0, 0, 0, 49, 49, 49, 49, 0, 49, 49, 0, 49, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 52, 51, 51, 51, 51, 51, 51, 51, 51, 52, 0, 0, 0, 51, 51, 51, 51, 0, 51, 51, 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 50, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, 50, 50, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 52, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 52, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 54, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 19, 19, 0, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 0, 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 0, 0, 50, 50, 50, 50, 0, 50, 50, 0, 50, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 0, 29, 0, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 0, 0, 52, 52, 52, 52, 0, 52, 52, 0, 52, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 29, 0, 0, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 0, 0, 54, 54, 54, 54, 0, 54, 54, 0, 54, 19, 19, 19, 0, 0, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 27, 29, 0, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 0, 0, 19, 19, 19, 19, 0, 19, 19, 0, 19, 0, 0, 0, 0, 0, 30, 0, 102, 28, 0, 0, 0, 0, 0, 0, 0, 29, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 28, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 28, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 28, 0, 0, 0, 0, 0, 0, 27, 1, 0, 0, 2, 3, 4, 5, 6, 0, 0, 0, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 13, 14, 15, 16, 17, 18, 19, 30, 0, 0, 28, 20, 21, 22, 23, 0, 24, 25, 0, 26, 0, 1, 0, 0, 2, 3, 4, 5, 6, 115, 0, 0, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 13, 14, 15, 16, 17, 18, 19, 0, 0, 0, 0, 20, 21, 22, 23, 0, 24, 25, 0, 26, 0, 0, 0, 1, 0, 0, 2, 3, 4, 5, 6, 0, 0, 0, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 13, 14, 15, 16, 17, 18, 19, 0, 0, 0, 0, 20, 21, 22, 23, 0, 24, 25, 1, 26, 0, 2, 3, 4, 5, 6, 0, 0, 0, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 13, 14, 15, 16, 17, 18, 19, 0, 0, 0, 0, 0, 0, 22, 23, 0, 24, 25, 0, 26, 0, 2, 3, 4, 5, 6, 0, 0, 0, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 13, 14, 15, 16, 17, 18, 19, 0, 0, 0, 0, 0, 0, 22, 23, 0, 24, 25, 0, 26,};short yycheck[] = { 123, 0, 125, 123, 1, 74, 123, 125, 123, 0, 9, 77, 125, 20, 21, 287, 288, 289, 290, 125, 125, 125, 125, 125, 125, 281, 125, 260, 261, 280, 37, 280, 281, 6, 7, 8, 257, 258, 123, 30, 123, 0, 0, 276, 277, 278, 0, 268, 269, 22, 76, 9, 115, 26, 86, 124, 125, 3, 4, 5, 126, 52, 295, 98, 71, 298, -1, 15, 16, 17, 18, 260, 261, 132, -1, 72, 73, 84, 75, -1, 87, 276, 277, 278, -1, 0, -1, 276, 277, 278, 257, 258, -1, -1, 9, 94, -1, 95, 96, 97, 295, 268, 269, 298, -1, -1, 295, -1, -1, 298, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 127, 112, -1, 130, 123, 116, 125, 126, 0, -1, -1, -1, 139, -1, -1, -1, 94, 9, -1, -1, -1, 132, 115, -1, -1, 136, 94, 95, 96, 97, -1, -1, -1, -1, -1, -1, -1, 280, 281, -1, 280, 281, -1, 280, 281, 123, 279, 125, 126, 287, 288, 289, 290, 279, 279, 279, 279, 279, 279, 94, 279, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 123, -1, 125, 126, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 123, -1, 125, 126, -1, -1, -1, -1, -1, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, -1, -1, -1, -1, 291, 292, 293, 294, 295, 296, 297, 298, 299, 259, 260, 261, 262, 263, 264, 265, 266, 267, 125, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, -1, -1, -1, -1, 291, 292, 293, 294, 295, 296, 297, 298, 299, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, -1, -1, 0, 279, 280, 281, 282, 283, 284, 285,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -