~alinuxninja/nginx-edge/trunk

« back to all changes in this revision

Viewing changes to debian/modules/ngx_pagespeed/psol/include/third_party/libjpeg_turbo/yasm/source/patched-yasm/modules/parsers/nasm/nasm-parser-struct.h

  • Committer: Vivian
  • Date: 2015-12-04 18:20:11 UTC
  • Revision ID: git-v1:a36f2bc32e884f7473b3a47040e5411306144d7d
* Do not extract psol.tar.gz

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
 * NASM-compatible parser struct header file
3
 
 *
4
 
 *  Copyright (C) 2002-2007  Peter Johnson
5
 
 *
6
 
 * Redistribution and use in source and binary forms, with or without
7
 
 * modification, are permitted provided that the following conditions
8
 
 * are met:
9
 
 * 1. Redistributions of source code must retain the above copyright
10
 
 *    notice, this list of conditions and the following disclaimer.
11
 
 * 2. Redistributions in binary form must reproduce the above copyright
12
 
 *    notice, this list of conditions and the following disclaimer in the
13
 
 *    documentation and/or other materials provided with the distribution.
14
 
 *
15
 
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND OTHER CONTRIBUTORS ``AS IS''
16
 
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17
 
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18
 
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR OTHER CONTRIBUTORS BE
19
 
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
20
 
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
21
 
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22
 
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23
 
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
24
 
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25
 
 * POSSIBILITY OF SUCH DAMAGE.
26
 
 */
27
 
#ifndef YASM_NASM_PARSER_STRUCT_H
28
 
#define YASM_NASM_PARSER_STRUCT_H
29
 
 
30
 
typedef union {
31
 
    unsigned int int_info;
32
 
    char *str_val;
33
 
    yasm_intnum *intn;
34
 
    yasm_floatnum *flt;
35
 
    yasm_bytecode *bc;
36
 
    uintptr_t arch_data;
37
 
    struct {
38
 
        char *contents;
39
 
        size_t len;
40
 
    } str;
41
 
} nasm_yystype;
42
 
 
43
 
typedef struct yasm_parser_nasm {
44
 
    int tasm;
45
 
    int masm;
46
 
 
47
 
    /*@only@*/ yasm_object *object;
48
 
 
49
 
    /* last "base" label for local (.) labels */
50
 
    /*@null@*/ char *locallabel_base;
51
 
    size_t locallabel_base_len;
52
 
 
53
 
    /*@dependent@*/ yasm_preproc *preproc;
54
 
    /*@dependent@*/ yasm_errwarns *errwarns;
55
 
 
56
 
    /*@dependent@*/ yasm_linemap *linemap;
57
 
 
58
 
    /*@null@*/ yasm_bytecode *prev_bc;
59
 
 
60
 
    int save_input;
61
 
 
62
 
    yasm_scanner s;
63
 
    int state;
64
 
 
65
 
    int token;          /* enum tokentype or any character */
66
 
    nasm_yystype tokval;
67
 
    char tokch;         /* first character of token */
68
 
 
69
 
    /* one token of lookahead; used sparingly */
70
 
    int peek_token;     /* NONE if none */
71
 
    nasm_yystype peek_tokval;
72
 
    char peek_tokch;
73
 
 
74
 
    /* Starting point of the absolute section.  NULL if not in an absolute
75
 
     * section.
76
 
     */
77
 
    /*@null@*/ yasm_expr *absstart;
78
 
 
79
 
    /* Current location inside an absolute section (including the start).
80
 
     * NULL if not in an absolute section.
81
 
     */
82
 
    /*@null@*/ yasm_expr *abspos;
83
 
} yasm_parser_nasm;
84
 
 
85
 
#endif