diff options
Diffstat (limited to 'nx-X11/config/pswrap/pswparser.y')
-rw-r--r-- | nx-X11/config/pswrap/pswparser.y | 278 |
1 files changed, 0 insertions, 278 deletions
diff --git a/nx-X11/config/pswrap/pswparser.y b/nx-X11/config/pswrap/pswparser.y deleted file mode 100644 index 795113947..000000000 --- a/nx-X11/config/pswrap/pswparser.y +++ /dev/null @@ -1,278 +0,0 @@ -/* - * pswparser.y - * - * (c) Copyright 1988-1994 Adobe Systems Incorporated. - * All rights reserved. - * - * Permission to use, copy, modify, distribute, and sublicense this software - * and its documentation for any purpose and without fee is hereby granted, - * provided that the above copyright notices appear in all copies and that - * both those copyright notices and this permission notice appear in - * supporting documentation and that the name of Adobe Systems Incorporated - * not be used in advertising or publicity pertaining to distribution of the - * software without specific, written prior permission. No trademark license - * to use the Adobe trademarks is hereby granted. If the Adobe trademark - * "Display PostScript"(tm) is used to describe this software, its - * functionality or for any other purpose, such use shall be limited to a - * statement that this software works in conjunction with the Display - * PostScript system. Proper trademark attribution to reflect Adobe's - * ownership of the trademark shall be given whenever any such reference to - * the Display PostScript system is made. - * - * ADOBE MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THE SOFTWARE FOR - * ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY. - * ADOBE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL - * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NON- INFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL ADOBE BE LIABLE - * TO YOU OR ANY OTHER PARTY FOR ANY SPECIAL, INDIRECT, OR CONSEQUENTIAL - * DAMAGES OR ANY DAMAGES WHATSOEVER WHETHER IN AN ACTION OF CONTRACT, - * NEGLIGENCE, STRICT LIABILITY OR ANY OTHER ACTION ARISING OUT OF OR IN - * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ADOBE WILL NOT - * PROVIDE ANY TRAINING OR OTHER SUPPORT FOR THE SOFTWARE. - * - * Adobe, PostScript, and Display PostScript are trademarks of Adobe Systems - * Incorporated which may be registered in certain jurisdictions - * - * Author: Adobe Systems Incorporated - */ -/* $XFree86: xc/config/pswrap/pswparser.y,v 1.4 2000/05/18 23:46:08 dawes Exp $ */ - -/* - * Not all yaccs understand this. - * -%expect 1 - */ - -%{ - -#include "pswpriv.h" -#include "pswsemantics.h" - -%} - -/* yylval type (from lexer and on stack) */ - -%union { - char *object; - long intobj; - Token token; - Item item; - Header header; - int flag; - Arg arg; - Subscript subscript; -} - - -%token <object> DEFINEPS ENDPS STATIC -%token <object> PSCONTEXT -%token <object> BOOLEAN FLOAT DOUBLE UNSIGNED SHORT LONG INT CHAR USEROBJECT -%token <object> NUMSTRING -%token <object> CNAME -%token <intobj> CINTEGER - -%token <object> PSNAME PSLITNAME PSREAL PSBOOLEAN PSSTRING PSHEXSTRING -%token <intobj> PSINTEGER -%token <object> PSSUBNAME PSINDEX - -%token <object> '(' ')' '|' ';' ',' '*' '[' ']' '{' '}' ':' - -%type <token> Token Tokens Body -%type <item> Items Item -%type <header> Header -%type <flag> Def Type -%type <arg> InArgs Args ContextArg SubArgs Arg -%type <subscript> Subscript - -%start Module - -%% - -Module: - /* empty */ - | Module Definition - ; - -Definition: - Header Body ENDPS - { FinalizePSWrapDef($1, $2); yyerrok; } - | error ENDPS - { yyerrok; } - ; - -Body: - /* nothing */ - { $$ = 0; } - | Tokens - /* { $$ = $1; }*/ - ; - -Tokens: - Token - { $$ = AppendPSWToken($1, 0L); } - | Tokens Token - { $$ = AppendPSWToken($2, $1); yyerrok; } - /* | error - { $$ = 0; } */ - ; - -Header: - Def ')' - { $$ = PSWHeader($1, 0, 0); yyerrok; } - | Def InArgs ')' - { $$ = PSWHeader($1, $2, 0); yyerrok; } - | Def InArgs '|' Args ')' - { $$ = PSWHeader($1, $2, $4); yyerrok; } - | Def '|' Args ')' - { $$ = PSWHeader($1, 0, $3); yyerrok; } - ; - -Def: - DEFINEPS CNAME '(' - { PSWName($2); $$ = 0; yyerrok; } - | DEFINEPS STATIC CNAME '(' - { PSWName($3); $$ = 1; yyerrok; } - | DEFINEPS error '(' - { PSWName("error"); $$ = 0; yyerrok; } - ; - -Semi: - /* nothing */ - | ';' { yyerrok; } - ; - -InArgs: - ContextArg Semi - /* { $$ = $1; } */ - | Args - /* { $$ = $1; } */ - | ContextArg ';' Args - { $$ = ConsPSWArgs($1, $3); } - ; - -ContextArg: - PSCONTEXT CNAME - { $$ = PSWArg(T_CONTEXT, PSWItem($2)); } - ; - -Args: - SubArgs Semi - /* { $$ = $1; }*/ - ; - -SubArgs: - Arg - /* { $$ = $1; }*/ - | SubArgs ';' Arg - { yyerrok; $$ = AppendPSWArgs($3, $1); } - | SubArgs error - | SubArgs error Arg - { yyerrok; $$ = AppendPSWArgs($3, $1); } - | SubArgs ';' error - ; - -Arg: Type Items - { $$ = PSWArg($1, $2); yyerrok; } - ; - -Items: - Item - /* { $$ = $1; } */ - | Items ',' Item - { yyerrok; $$ = AppendPSWItems($3, $1); } - | error { $$ = 0; } - | Items error - | Items error Item - { yyerrok; $$ = AppendPSWItems($3, $1); } - | Items ',' error - ; - -Item: - '*' CNAME - { $$ = PSWStarItem($2); } - | CNAME '[' Subscript ']' - { $$ = PSWSubscriptItem($1, $3); } - | CNAME '[' Subscript ']' ':' CNAME - { $$ = PSWScaleItem($1, $3, $6, 0); } - | CNAME '[' Subscript ']' ':' CINTEGER - { $$ = PSWScaleItem($1, $3, NULL, $6); } - | CNAME - { $$ = PSWItem($1); } - ; - -Subscript: - CNAME - { $$ = PSWNameSubscript($1); } - | CINTEGER - { $$ = PSWIntegerSubscript($1); } - ; - -Type: - BOOLEAN - { $$ = T_BOOLEAN; } - | FLOAT - { $$ = T_FLOAT; } - | DOUBLE - { $$ = T_DOUBLE; } - | CHAR - { $$ = T_CHAR; } - | UNSIGNED CHAR - { $$ = T_UCHAR; } - | INT - { $$ = T_INT; } - | LONG INT - { $$ = T_LONGINT; } - | LONG - { $$ = T_LONGINT; } - | SHORT INT - { $$ = T_SHORTINT; } - | SHORT - { $$ = T_SHORTINT; } - | UNSIGNED - { $$ = T_UINT; } - | UNSIGNED LONG - { $$ = T_ULONGINT; } - | UNSIGNED INT - { $$ = T_UINT; } - | UNSIGNED LONG INT - { $$ = T_ULONGINT; } - | UNSIGNED SHORT - { $$ = T_USHORTINT; } - | UNSIGNED SHORT INT - { $$ = T_USHORTINT; } - | USEROBJECT - { $$ = T_USEROBJECT; } - | NUMSTRING - { $$ = T_NUMSTR; } - | INT NUMSTRING - { $$ = T_NUMSTR; } - | FLOAT NUMSTRING - { $$ = T_FLOATNUMSTR; } - | LONG NUMSTRING - { $$ = T_LONGNUMSTR; } - | SHORT NUMSTRING - { $$ = T_SHORTNUMSTR; } - ; - -Token: - PSINTEGER - { $$ = PSWToken(T_INT, (char *)$1); } - | PSREAL - { $$ = PSWToken(T_FLOAT, $1); } - | PSBOOLEAN - { $$ = PSWToken(T_BOOLEAN, $1); } - | PSSTRING - { $$ = PSWToken(T_STRING, $1); } - | PSHEXSTRING - { $$ = PSWToken(T_HEXSTRING, $1); } - | PSNAME - { $$ = PSWToken(T_NAME, $1); } - | PSLITNAME - { $$ = PSWToken(T_LITNAME, $1); } - | PSSUBNAME PSINDEX - { $$ = PSWToken2(T_SUBSCRIPTED, $1, $2); } - | '[' Body ']' - { $$ = PSWToken(T_ARRAY, (char *)$2); } - | '{' Body '}' - { $$ = PSWToken(T_PROC, (char *)$2); } - ; |