aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/lib/Xft1/xftgram.y
diff options
context:
space:
mode:
Diffstat (limited to 'nx-X11/lib/Xft1/xftgram.y')
-rw-r--r--nx-X11/lib/Xft1/xftgram.y452
1 files changed, 0 insertions, 452 deletions
diff --git a/nx-X11/lib/Xft1/xftgram.y b/nx-X11/lib/Xft1/xftgram.y
deleted file mode 100644
index 04e231e7c..000000000
--- a/nx-X11/lib/Xft1/xftgram.y
+++ /dev/null
@@ -1,452 +0,0 @@
-/*
- * $XFree86: xc/lib/Xft/xftgram.y,v 1.5 2001/05/16 10:32:54 keithp Exp $
- *
- * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the name of Keith Packard not be used in
- * advertising or publicity pertaining to distribution of the software without
- * specific, written prior permission. Keith Packard makes no
- * representations about the suitability of this software for any purpose. It
- * is provided "as is" without express or implied warranty.
- *
- * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
- * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
- * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
- * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
- * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
- * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- * PERFORMANCE OF THIS SOFTWARE.
- */
-
-%{
-
-#include <stdlib.h>
-#include <stdio.h>
-#include "xftint.h"
-
-static XftMatrix matrix;
-
-%}
-
-%union {
- int ival;
- double dval;
- char *sval;
- XftExpr *eval;
- XftPattern *pval;
- XftValue vval;
- XftEdit *Eval;
- XftOp oval;
- XftQual qval;
- XftTest *tval;
-}
-
-%token <ival> INTEGER
-%token <dval> DOUBLE
-%token <sval> STRING NAME
-%token <ival> ANY ALL
-%token <ival> DIR CACHE INCLUDE INCLUDEIF MATCH EDIT
-%token <ival> TOK_TRUE TOK_FALSE TOK_NIL
-%token <ival> EQUAL SEMI OS CS
-
-%type <eval> expr
-%type <vval> value
-%type <sval> field
-%type <Eval> edit
-%type <Eval> edits
-%type <oval> eqop
-%type <qval> qual
-%type <oval> compare
-%type <tval> tests test
-%type <dval> number
-
-%right <ival> QUEST COLON
-%left <ival> OROR
-%left <ival> ANDAND
-%left <ival> EQEQ NOTEQ
-%left <ival> LESS LESSEQ MORE MOREEQ
-%left <ival> PLUS MINUS
-%left <ival> TIMES DIVIDE
-%right <ival> NOT
-
-%%
-configs : configs config
- |
- ;
-config : DIR STRING
- { XftConfigAddDir ($2); }
- | CACHE STRING
- { XftConfigSetCache ($2); }
- | INCLUDE STRING
- { XftConfigPushInput ($2, True); }
- | INCLUDEIF STRING
- { XftConfigPushInput ($2, False); }
- | MATCH tests EDIT edits
- { XftConfigAddEdit ($2, $4); }
- ;
-tests : test tests
- { $1->next = $2; $$ = $1; }
- |
- { $$ = 0; }
- ;
-test : qual field compare value
- { $$ = XftTestCreate ($1, $2, $3, $4); }
- ;
-qual : ANY
- { $$ = XftQualAny; }
- | ALL
- { $$ = XftQualAll; }
- |
- { $$ = XftQualAny; }
- ;
-field : NAME
- {
- $$ = XftConfigSaveField ($1);
- }
- ;
-compare : EQUAL
- { $$ = XftOpEqual; }
- | EQEQ
- { $$ = XftOpEqual; }
- | NOTEQ
- { $$ = XftOpNotEqual; }
- | LESS
- { $$ = XftOpLess; }
- | LESSEQ
- { $$ = XftOpLessEqual; }
- | MORE
- { $$ = XftOpMore; }
- | MOREEQ
- { $$ = XftOpMoreEqual; }
- ;
-value : INTEGER
- {
- $$.type = XftTypeInteger;
- $$.u.i = $1;
- }
- | DOUBLE
- {
- $$.type = XftTypeDouble;
- $$.u.d = $1;
- }
- | STRING
- {
- $$.type = XftTypeString;
- $$.u.s = $1;
- }
- | TOK_TRUE
- {
- $$.type = XftTypeBool;
- $$.u.b = True;
- }
- | TOK_FALSE
- {
- $$.type = XftTypeBool;
- $$.u.b = False;
- }
- | TOK_NIL
- {
- $$.type = XftTypeVoid;
- }
- | matrix
- {
- $$.type = XftTypeMatrix;
- $$.u.m = &matrix;
- }
- ;
-matrix : OS number number number number CS
- {
- matrix.xx = $2;
- matrix.xy = $3;
- matrix.yx = $4;
- matrix.__REALLY_YY__ = $5;
- }
-number : INTEGER
- { $$ = (double) $1; }
- | DOUBLE
- ;
-edits : edit edits
- { $1->next = $2; $$ = $1; }
- |
- { $$ = 0; }
- ;
-edit : field eqop expr SEMI
- { $$ = XftEditCreate ($1, $2, $3); }
- ;
-eqop : EQUAL
- { $$ = XftOpAssign; }
- | PLUS EQUAL
- { $$ = XftOpPrepend; }
- | EQUAL PLUS
- { $$ = XftOpAppend; }
- ;
-expr : INTEGER
- { $$ = XftExprCreateInteger ($1); }
- | DOUBLE
- { $$ = XftExprCreateDouble ($1); }
- | STRING
- { $$ = XftExprCreateString ($1); }
- | TOK_TRUE
- { $$ = XftExprCreateBool (True); }
- | TOK_FALSE
- { $$ = XftExprCreateBool (False); }
- | TOK_NIL
- { $$ = XftExprCreateNil (); }
- | matrix
- { $$ = XftExprCreateMatrix (&matrix); }
- | NAME
- { $$ = XftExprCreateField ($1); }
- | expr OROR expr
- { $$ = XftExprCreateOp ($1, XftOpOr, $3); }
- | expr ANDAND expr
- { $$ = XftExprCreateOp ($1, XftOpAnd, $3); }
- | expr EQEQ expr
- { $$ = XftExprCreateOp ($1, XftOpEqual, $3); }
- | expr NOTEQ expr
- { $$ = XftExprCreateOp ($1, XftOpNotEqual, $3); }
- | expr LESS expr
- { $$ = XftExprCreateOp ($1, XftOpLess, $3); }
- | expr LESSEQ expr
- { $$ = XftExprCreateOp ($1, XftOpLessEqual, $3); }
- | expr MORE expr
- { $$ = XftExprCreateOp ($1, XftOpMore, $3); }
- | expr MOREEQ expr
- { $$ = XftExprCreateOp ($1, XftOpMoreEqual, $3); }
- | expr PLUS expr
- { $$ = XftExprCreateOp ($1, XftOpPlus, $3); }
- | expr MINUS expr
- { $$ = XftExprCreateOp ($1, XftOpMinus, $3); }
- | expr TIMES expr
- { $$ = XftExprCreateOp ($1, XftOpTimes, $3); }
- | expr DIVIDE expr
- { $$ = XftExprCreateOp ($1, XftOpDivide, $3); }
- | NOT expr
- { $$ = XftExprCreateOp ($2, XftOpNot, (XftExpr *) 0); }
- | expr QUEST expr COLON expr
- { $$ = XftExprCreateOp ($1, XftOpQuest, XftExprCreateOp ($3, XftOpQuest, $5)); }
- ;
-%%
-
-int
-XftConfigwrap (void)
-{
- return 1;
-}
-
-void
-XftConfigerror (char *fmt, ...)
-{
- va_list args;
-
- fprintf (stderr, "\"%s\": line %d, ", XftConfigFile, XftConfigLineno);
- va_start (args, fmt);
- vfprintf (stderr, fmt, args);
- va_end (args);
- fprintf (stderr, "\n");
-}
-
-XftTest *
-XftTestCreate (XftQual qual, const char *field, XftOp compare, XftValue value)
-{
- XftTest *test = (XftTest *) malloc (sizeof (XftTest));;
-
- if (test)
- {
- test->next = 0;
- test->qual = qual;
- test->field = field; /* already saved in grammar */
- test->op = compare;
- if (value.type == XftTypeString)
- value.u.s = _XftSaveString (value.u.s);
- else if (value.type == XftTypeMatrix)
- value.u.m = _XftSaveMatrix (value.u.m);
- test->value = value;
- }
- return test;
-}
-
-XftExpr *
-XftExprCreateInteger (int i)
-{
- XftExpr *e = (XftExpr *) malloc (sizeof (XftExpr));
-
- if (e)
- {
- e->op = XftOpInteger;
- e->u.ival = i;
- }
- return e;
-}
-
-XftExpr *
-XftExprCreateDouble (double d)
-{
- XftExpr *e = (XftExpr *) malloc (sizeof (XftExpr));
-
- if (e)
- {
- e->op = XftOpDouble;
- e->u.dval = d;
- }
- return e;
-}
-
-XftExpr *
-XftExprCreateString (const char *s)
-{
- XftExpr *e = (XftExpr *) malloc (sizeof (XftExpr));
-
- if (e)
- {
- e->op = XftOpString;
- e->u.sval = _XftSaveString (s);
- }
- return e;
-}
-
-XftExpr *
-XftExprCreateMatrix (const XftMatrix *m)
-{
- XftExpr *e = (XftExpr *) malloc (sizeof (XftExpr));
-
- if (e)
- {
- e->op = XftOpMatrix;
- e->u.mval = _XftSaveMatrix (m);
- }
- return e;
-}
-
-XftExpr *
-XftExprCreateBool (Bool b)
-{
- XftExpr *e = (XftExpr *) malloc (sizeof (XftExpr));
-
- if (e)
- {
- e->op = XftOpBool;
- e->u.bval = b;
- }
- return e;
-}
-
-XftExpr *
-XftExprCreateNil (void)
-{
- XftExpr *e = (XftExpr *) malloc (sizeof (XftExpr));
-
- if (e)
- {
- e->op = XftOpNil;
- }
- return e;
-}
-
-XftExpr *
-XftExprCreateField (const char *field)
-{
- XftExpr *e = (XftExpr *) malloc (sizeof (XftExpr));
-
- if (e)
- {
- e->op = XftOpField;
- e->u.field = _XftSaveString (field);
- }
- return e;
-}
-
-XftExpr *
-XftExprCreateOp (XftExpr *left, XftOp op, XftExpr *right)
-{
- XftExpr *e = (XftExpr *) malloc (sizeof (XftExpr));
-
- if (e)
- {
- e->op = op;
- e->u.tree.left = left;
- e->u.tree.right = right;
- }
- return e;
-}
-
-void
-XftExprDestroy (XftExpr *e)
-{
- switch (e->op) {
- case XftOpInteger:
- break;
- case XftOpDouble:
- break;
- case XftOpString:
- free (e->u.sval);
- break;
- case XftOpMatrix:
- free (e->u.mval);
- break;
- case XftOpBool:
- break;
- case XftOpField:
- free (e->u.field);
- break;
- case XftOpAssign:
- case XftOpPrepend:
- case XftOpAppend:
- break;
- case XftOpOr:
- case XftOpAnd:
- case XftOpEqual:
- case XftOpNotEqual:
- case XftOpLess:
- case XftOpLessEqual:
- case XftOpMore:
- case XftOpMoreEqual:
- case XftOpPlus:
- case XftOpMinus:
- case XftOpTimes:
- case XftOpDivide:
- case XftOpQuest:
- XftExprDestroy (e->u.tree.right);
- /* fall through */
- case XftOpNot:
- XftExprDestroy (e->u.tree.left);
- break;
- case XftOpNil:
- break;
- }
- free (e);
-}
-
-XftEdit *
-XftEditCreate (const char *field, XftOp op, XftExpr *expr)
-{
- XftEdit *e = (XftEdit *) malloc (sizeof (XftEdit));
-
- if (e)
- {
- e->next = 0;
- e->field = field; /* already saved in grammar */
- e->op = op;
- e->expr = expr;
- }
- return e;
-}
-
-void
-XftEditDestroy (XftEdit *e)
-{
- if (e->next)
- XftEditDestroy (e->next);
- free ((void *) e->field);
- if (e->expr)
- XftExprDestroy (e->expr);
-}
-
-char *
-XftConfigSaveField (const char *field)
-{
- return _XftSaveString (field);
-}