📄 pic.cc
字号:
#ifndef lintstatic char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/90";#endif#define YYBYACC 1#line 20 "/u/jjc/groff/pic/pic.y"#include "pic.h"#include "ptable.h"#include "object.h"extern int delim_flag;extern void do_copy(const char *);extern void copy_rest_thru(const char *, const char *);extern void copy_file_thru(const char *, const char *, const char *);extern void push_body(const char *);extern void do_for(char *var, double from, double to, int by_is_multiplicative, double by, char *body);extern void do_lookahead();#undef fmod#undef randextern "C" { double fmod(double, double); int rand();}/* Maximum number of characters produced by printf("%g") */#define GDIGITS 14int yylex();void yyerror(const char *);void reset(const char *nm);void reset_all();place *lookup_label(const char *);void define_label(const char *label, const place *pl);direction current_direction;position current_position;implement_ptable(place)PTABLE(place) top_table;PTABLE(place) *current_table = &top_table;saved_state *current_saved_state = 0;object_list olist;const char *ordinal_postfix(int n);const char *object_type_name(object_type type);char *format_number(const char *form, double n);char *do_sprintf(const char *form, const double *v, int nv);#line 73 "/u/jjc/groff/pic/pic.y"typedef union { char *str; int n; double x; struct { double x, y; } pair; struct { double x; char *body; } if_data; struct { char *str; const char *filename; int lineno; } lstr; struct { double *v; int nv; int maxv; } dv; struct { double val; int is_multiplicative; } by; place pl; object *obj; corner crn; path *pth; object_spec *spec; saved_state *pstate; graphics_state state; object_type obtype;} YYSTYPE;#line 76 "y.tab.c"#define LABEL 257#define VARIABLE 258#define NUMBER 259#define TEXT 260#define COMMAND_LINE 261#define DELIMITED 262#define ORDINAL 263#define TH 264#define LEFT_ARROW_HEAD 265#define RIGHT_ARROW_HEAD 266#define DOUBLE_ARROW_HEAD 267#define LAST 268#define UP 269#define DOWN 270#define LEFT 271#define RIGHT 272#define BOX 273#define CIRCLE 274#define ELLIPSE 275#define ARC 276#define LINE 277#define ARROW 278#define MOVE 279#define SPLINE 280#define HEIGHT 281#define RADIUS 282#define WIDTH 283#define DIAMETER 284#define FROM 285#define TO 286#define AT 287#define WITH 288#define BY 289#define THEN 290#define DOTTED 291#define DASHED 292#define CHOP 293#define SAME 294#define INVISIBLE 295#define LJUST 296#define RJUST 297#define ABOVE 298#define BELOW 299#define OF 300#define THE 301#define WAY 302#define BETWEEN 303#define AND 304#define HERE 305#define DOT_N 306#define DOT_E 307#define DOT_W 308#define DOT_S 309#define DOT_NE 310#define DOT_SE 311#define DOT_NW 312#define DOT_SW 313#define DOT_C 314#define DOT_START 315#define DOT_END 316#define DOT_X 317#define DOT_Y 318#define DOT_HT 319#define DOT_WID 320#define DOT_RAD 321#define SIN 322#define COS 323#define ATAN2 324#define LOG 325#define EXP 326#define SQRT 327#define K_MAX 328#define K_MIN 329#define INT 330#define RAND 331#define COPY 332#define THRU 333#define TOP 334#define BOTTOM 335#define UPPER 336#define LOWER 337#define SH 338#define PRINT 339#define CW 340#define CCW 341#define FOR 342#define DO 343#define IF 344#define ELSE 345#define ANDAND 346#define OROR 347#define NOTEQUAL 348#define EQUALEQUAL 349#define LESSEQUAL 350#define GREATEREQUAL 351#define LEFT_CORNER 352#define RIGHT_CORNER 353#define CENTER 354#define END 355#define START 356#define RESET 357#define UNTIL 358#define PLOT 359#define THICKNESS 360#define FILL 361#define ALIGNED 362#define SPRINTF 363#define COMMAND 364#define DEFINE 365#define UNDEF 366#define YYERRCODE 256short yylhs[] = { -1, 0, 0, 16, 17, 17, 28, 28, 29, 29, 30, 30, 30, 30, 30, 30, 30, 30, 30, 31, 30, 30, 32, 33, 30, 34, 35, 30, 36, 30, 30, 37, 30, 30, 30, 38, 38, 38, 26, 26, 27, 27, 27, 39, 7, 23, 23, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 15, 15, 15, 15, 40, 42, 15, 15, 41, 41, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 43, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 25, 25, 24, 24, 19, 19, 6, 6, 6, 6, 6, 6, 44, 44, 5, 5, 13, 13, 13, 13, 13, 14, 14, 14, 22, 22, 21, 21, 8, 8, 20, 20, 20, 20, 20, 20, 20, 20, 20, 11, 11, 12, 12, 12, 10, 10, 10, 10, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 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, 1, 1, 1, 1, 1, 1, 1,};short yylen[] = { 2, 1, 1, 3, 1, 3, 0, 1, 1, 2, 3, 4, 1, 1, 1, 1, 1, 2, 2, 0, 3, 2, 0, 0, 7, 0, 0, 6, 0, 10, 1, 0, 4, 1, 1, 2, 2, 3, 1, 2, 1, 1, 1, 0, 5, 0, 2, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 2, 0, 2, 3, 1, 4, 4, 4, 0, 0, 6, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 0, 4, 3, 3, 3, 3, 2, 2, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 2, 2, 3, 2, 3, 2, 3, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 1, 5, 0, 3, 1, 1, 1, 3, 3, 5, 5, 6, 1, 4, 3, 3, 1, 2, 2, 3, 1, 1, 1, 3, 1, 3, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 3, 1, 1, 2, 1, 4, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 2, 3, 4, 4, 6, 4, 4, 4, 6, 6, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2,};short yydefred[] = { 0, 8, 0, 2, 0, 0, 0, 0, 125, 16, 12, 13, 14, 15, 71, 72, 73, 74, 75, 76, 77, 78, 0, 19, 0, 0, 0, 0, 0, 0, 0,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -