php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
ffi_parser.c File Reference
#include "php.h"
#include "php_ffi.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

Go to the source code of this file.

Macros

#define yy_buf   FFI_G(buf)
 
#define yy_end   FFI_G(end)
 
#define yy_pos   FFI_G(pos)
 
#define yy_text   FFI_G(text)
 
#define yy_line   FFI_G(line)
 
#define YYPOS   cpos
 
#define YYEND   cend
 
#define YY_EOF   0
 
#define YY___EXTENSION__   1
 
#define YY___ASM__   2
 
#define YY__LPAREN   3
 
#define YY__RPAREN   4
 
#define YY__COMMA   5
 
#define YY__SEMICOLON   6
 
#define YY_TYPEDEF   7
 
#define YY_EXTERN   8
 
#define YY_STATIC   9
 
#define YY_AUTO   10
 
#define YY_REGISTER   11
 
#define YY_INLINE   12
 
#define YY___INLINE   13
 
#define YY___INLINE__   14
 
#define YY__NORETURN   15
 
#define YY__ALIGNAS   16
 
#define YY_CONST   17
 
#define YY___CONST   18
 
#define YY___CONST__   19
 
#define YY_RESTRICT   20
 
#define YY___RESTRICT   21
 
#define YY___RESTRICT__   22
 
#define YY_VOLATILE   23
 
#define YY___VOLATILE   24
 
#define YY___VOLATILE__   25
 
#define YY__ATOMIC   26
 
#define YY_VOID   27
 
#define YY_CHAR   28
 
#define YY_SHORT   29
 
#define YY_INT   30
 
#define YY_LONG   31
 
#define YY_FLOAT   32
 
#define YY_DOUBLE   33
 
#define YY_SIGNED   34
 
#define YY_UNSIGNED   35
 
#define YY__BOOL   36
 
#define YY__COMPLEX   37
 
#define YY_COMPLEX   38
 
#define YY___COMPLEX   39
 
#define YY___COMPLEX__   40
 
#define YY_STRUCT   41
 
#define YY_UNION   42
 
#define YY__LBRACE   43
 
#define YY__RBRACE   44
 
#define YY__COLON   45
 
#define YY_ENUM   46
 
#define YY__EQUAL   47
 
#define YY__STAR   48
 
#define YY__LBRACK   49
 
#define YY__RBRACK   50
 
#define YY__POINT_POINT_POINT   51
 
#define YY___ATTRIBUTE   52
 
#define YY___ATTRIBUTE__   53
 
#define YY___DECLSPEC   54
 
#define YY___CDECL   55
 
#define YY___STDCALL   56
 
#define YY___FASTCALL   57
 
#define YY___THISCALL   58
 
#define YY___VECTORCALL   59
 
#define YY__POINT   60
 
#define YY__QUERY   61
 
#define YY__BAR_BAR   62
 
#define YY__AND_AND   63
 
#define YY__BAR   64
 
#define YY__UPARROW   65
 
#define YY__AND   66
 
#define YY__EQUAL_EQUAL   67
 
#define YY__BANG_EQUAL   68
 
#define YY__LESS   69
 
#define YY__GREATER   70
 
#define YY__LESS_EQUAL   71
 
#define YY__GREATER_EQUAL   72
 
#define YY__LESS_LESS   73
 
#define YY__GREATER_GREATER   74
 
#define YY__PLUS   75
 
#define YY__MINUS   76
 
#define YY__SLASH   77
 
#define YY__PERCENT   78
 
#define YY__MINUS_GREATER   79
 
#define YY__PLUS_PLUS   80
 
#define YY__MINUS_MINUS   81
 
#define YY__TILDE   82
 
#define YY__BANG   83
 
#define YY_SIZEOF   84
 
#define YY__ALIGNOF   85
 
#define YY___ALIGNOF   86
 
#define YY___ALIGNOF__   87
 
#define YY___RESTICT   88
 
#define YY_ID   89
 
#define YY_OCTNUMBER   90
 
#define YY_DECNUMBER   91
 
#define YY_HEXNUMBER   92
 
#define YY_FLOATNUMBER   93
 
#define YY_STRING   94
 
#define YY_CHARACTER   95
 
#define YY_EOL   96
 
#define YY_WS   97
 
#define YY_ONE_LINE_COMMENT   98
 
#define YY_COMMENT   99
 
#define YY_IN_SET(sym, set, bitset)
 

Functions

size_t yy_escape (char *buf, unsigned char ch)
 
const char * yy_escape_char (char *buf, unsigned char ch)
 
const char * yy_escape_string (char *buf, size_t size, const unsigned char *str, size_t n)
 
zend_result zend_ffi_parse_decl (const char *str, size_t len)
 
zend_result zend_ffi_parse_type (const char *str, size_t len, zend_ffi_dcl *dcl)
 

Macro Definition Documentation

◆ YY___ALIGNOF

#define YY___ALIGNOF   86

Definition at line 128 of file ffi_parser.c.

◆ YY___ALIGNOF__

#define YY___ALIGNOF__   87

Definition at line 129 of file ffi_parser.c.

◆ YY___ASM__

#define YY___ASM__   2

Definition at line 44 of file ffi_parser.c.

◆ YY___ATTRIBUTE

#define YY___ATTRIBUTE   52

Definition at line 94 of file ffi_parser.c.

◆ YY___ATTRIBUTE__

#define YY___ATTRIBUTE__   53

Definition at line 95 of file ffi_parser.c.

◆ YY___CDECL

#define YY___CDECL   55

Definition at line 97 of file ffi_parser.c.

◆ YY___COMPLEX

#define YY___COMPLEX   39

Definition at line 81 of file ffi_parser.c.

◆ YY___COMPLEX__

#define YY___COMPLEX__   40

Definition at line 82 of file ffi_parser.c.

◆ YY___CONST

#define YY___CONST   18

Definition at line 60 of file ffi_parser.c.

◆ YY___CONST__

#define YY___CONST__   19

Definition at line 61 of file ffi_parser.c.

◆ YY___DECLSPEC

#define YY___DECLSPEC   54

Definition at line 96 of file ffi_parser.c.

◆ YY___EXTENSION__

#define YY___EXTENSION__   1

Definition at line 43 of file ffi_parser.c.

◆ YY___FASTCALL

#define YY___FASTCALL   57

Definition at line 99 of file ffi_parser.c.

◆ YY___INLINE

#define YY___INLINE   13

Definition at line 55 of file ffi_parser.c.

◆ YY___INLINE__

#define YY___INLINE__   14

Definition at line 56 of file ffi_parser.c.

◆ YY___RESTICT

#define YY___RESTICT   88

Definition at line 130 of file ffi_parser.c.

◆ YY___RESTRICT

#define YY___RESTRICT   21

Definition at line 63 of file ffi_parser.c.

◆ YY___RESTRICT__

#define YY___RESTRICT__   22

Definition at line 64 of file ffi_parser.c.

◆ YY___STDCALL

#define YY___STDCALL   56

Definition at line 98 of file ffi_parser.c.

◆ YY___THISCALL

#define YY___THISCALL   58

Definition at line 100 of file ffi_parser.c.

◆ YY___VECTORCALL

#define YY___VECTORCALL   59

Definition at line 101 of file ffi_parser.c.

◆ YY___VOLATILE

#define YY___VOLATILE   24

Definition at line 66 of file ffi_parser.c.

◆ YY___VOLATILE__

#define YY___VOLATILE__   25

Definition at line 67 of file ffi_parser.c.

◆ YY__ALIGNAS

#define YY__ALIGNAS   16

Definition at line 58 of file ffi_parser.c.

◆ YY__ALIGNOF

#define YY__ALIGNOF   85

Definition at line 127 of file ffi_parser.c.

◆ YY__AND

#define YY__AND   66

Definition at line 108 of file ffi_parser.c.

◆ YY__AND_AND

#define YY__AND_AND   63

Definition at line 105 of file ffi_parser.c.

◆ YY__ATOMIC

#define YY__ATOMIC   26

Definition at line 68 of file ffi_parser.c.

◆ YY__BANG

#define YY__BANG   83

Definition at line 125 of file ffi_parser.c.

◆ YY__BANG_EQUAL

#define YY__BANG_EQUAL   68

Definition at line 110 of file ffi_parser.c.

◆ YY__BAR

#define YY__BAR   64

Definition at line 106 of file ffi_parser.c.

◆ YY__BAR_BAR

#define YY__BAR_BAR   62

Definition at line 104 of file ffi_parser.c.

◆ YY__BOOL

#define YY__BOOL   36

Definition at line 78 of file ffi_parser.c.

◆ YY__COLON

#define YY__COLON   45

Definition at line 87 of file ffi_parser.c.

◆ YY__COMMA

#define YY__COMMA   5

Definition at line 47 of file ffi_parser.c.

◆ YY__COMPLEX

#define YY__COMPLEX   37

Definition at line 79 of file ffi_parser.c.

◆ YY__EQUAL

#define YY__EQUAL   47

Definition at line 89 of file ffi_parser.c.

◆ YY__EQUAL_EQUAL

#define YY__EQUAL_EQUAL   67

Definition at line 109 of file ffi_parser.c.

◆ YY__GREATER

#define YY__GREATER   70

Definition at line 112 of file ffi_parser.c.

◆ YY__GREATER_EQUAL

#define YY__GREATER_EQUAL   72

Definition at line 114 of file ffi_parser.c.

◆ YY__GREATER_GREATER

#define YY__GREATER_GREATER   74

Definition at line 116 of file ffi_parser.c.

◆ YY__LBRACE

#define YY__LBRACE   43

Definition at line 85 of file ffi_parser.c.

◆ YY__LBRACK

#define YY__LBRACK   49

Definition at line 91 of file ffi_parser.c.

◆ YY__LESS

#define YY__LESS   69

Definition at line 111 of file ffi_parser.c.

◆ YY__LESS_EQUAL

#define YY__LESS_EQUAL   71

Definition at line 113 of file ffi_parser.c.

◆ YY__LESS_LESS

#define YY__LESS_LESS   73

Definition at line 115 of file ffi_parser.c.

◆ YY__LPAREN

#define YY__LPAREN   3

Definition at line 45 of file ffi_parser.c.

◆ YY__MINUS

#define YY__MINUS   76

Definition at line 118 of file ffi_parser.c.

◆ YY__MINUS_GREATER

#define YY__MINUS_GREATER   79

Definition at line 121 of file ffi_parser.c.

◆ YY__MINUS_MINUS

#define YY__MINUS_MINUS   81

Definition at line 123 of file ffi_parser.c.

◆ YY__NORETURN

#define YY__NORETURN   15

Definition at line 57 of file ffi_parser.c.

◆ YY__PERCENT

#define YY__PERCENT   78

Definition at line 120 of file ffi_parser.c.

◆ YY__PLUS

#define YY__PLUS   75

Definition at line 117 of file ffi_parser.c.

◆ YY__PLUS_PLUS

#define YY__PLUS_PLUS   80

Definition at line 122 of file ffi_parser.c.

◆ YY__POINT

#define YY__POINT   60

Definition at line 102 of file ffi_parser.c.

◆ YY__POINT_POINT_POINT

#define YY__POINT_POINT_POINT   51

Definition at line 93 of file ffi_parser.c.

◆ YY__QUERY

#define YY__QUERY   61

Definition at line 103 of file ffi_parser.c.

◆ YY__RBRACE

#define YY__RBRACE   44

Definition at line 86 of file ffi_parser.c.

◆ YY__RBRACK

#define YY__RBRACK   50

Definition at line 92 of file ffi_parser.c.

◆ YY__RPAREN

#define YY__RPAREN   4

Definition at line 46 of file ffi_parser.c.

◆ YY__SEMICOLON

#define YY__SEMICOLON   6

Definition at line 48 of file ffi_parser.c.

◆ YY__SLASH

#define YY__SLASH   77

Definition at line 119 of file ffi_parser.c.

◆ YY__STAR

#define YY__STAR   48

Definition at line 90 of file ffi_parser.c.

◆ YY__TILDE

#define YY__TILDE   82

Definition at line 124 of file ffi_parser.c.

◆ YY__UPARROW

#define YY__UPARROW   65

Definition at line 107 of file ffi_parser.c.

◆ YY_AUTO

#define YY_AUTO   10

Definition at line 52 of file ffi_parser.c.

◆ yy_buf

#define yy_buf   FFI_G(buf)

Definition at line 28 of file ffi_parser.c.

◆ YY_CHAR

#define YY_CHAR   28

Definition at line 70 of file ffi_parser.c.

◆ YY_CHARACTER

#define YY_CHARACTER   95

Definition at line 137 of file ffi_parser.c.

◆ YY_COMMENT

#define YY_COMMENT   99

Definition at line 141 of file ffi_parser.c.

◆ YY_COMPLEX

#define YY_COMPLEX   38

Definition at line 80 of file ffi_parser.c.

◆ YY_CONST

#define YY_CONST   17

Definition at line 59 of file ffi_parser.c.

◆ YY_DECNUMBER

#define YY_DECNUMBER   91

Definition at line 133 of file ffi_parser.c.

◆ YY_DOUBLE

#define YY_DOUBLE   33

Definition at line 75 of file ffi_parser.c.

◆ yy_end

#define yy_end   FFI_G(end)

Definition at line 29 of file ffi_parser.c.

◆ YY_ENUM

#define YY_ENUM   46

Definition at line 88 of file ffi_parser.c.

◆ YY_EOF

#define YY_EOF   0

Definition at line 42 of file ffi_parser.c.

◆ YY_EOL

#define YY_EOL   96

Definition at line 138 of file ffi_parser.c.

◆ YY_EXTERN

#define YY_EXTERN   8

Definition at line 50 of file ffi_parser.c.

◆ YY_FLOAT

#define YY_FLOAT   32

Definition at line 74 of file ffi_parser.c.

◆ YY_FLOATNUMBER

#define YY_FLOATNUMBER   93

Definition at line 135 of file ffi_parser.c.

◆ YY_HEXNUMBER

#define YY_HEXNUMBER   92

Definition at line 134 of file ffi_parser.c.

◆ YY_ID

#define YY_ID   89

Definition at line 131 of file ffi_parser.c.

◆ YY_IN_SET

#define YY_IN_SET ( sym,
set,
bitset )
Value:
(bitset[sym>>3] & (1 << (sym & 0x7)))

Definition at line 247 of file ffi_parser.c.

◆ YY_INLINE

#define YY_INLINE   12

Definition at line 54 of file ffi_parser.c.

◆ YY_INT

#define YY_INT   30

Definition at line 72 of file ffi_parser.c.

◆ yy_line

#define yy_line   FFI_G(line)

Definition at line 32 of file ffi_parser.c.

◆ YY_LONG

#define YY_LONG   31

Definition at line 73 of file ffi_parser.c.

◆ YY_OCTNUMBER

#define YY_OCTNUMBER   90

Definition at line 132 of file ffi_parser.c.

◆ YY_ONE_LINE_COMMENT

#define YY_ONE_LINE_COMMENT   98

Definition at line 140 of file ffi_parser.c.

◆ yy_pos

#define yy_pos   FFI_G(pos)

Definition at line 30 of file ffi_parser.c.

◆ YY_REGISTER

#define YY_REGISTER   11

Definition at line 53 of file ffi_parser.c.

◆ YY_RESTRICT

#define YY_RESTRICT   20

Definition at line 62 of file ffi_parser.c.

◆ YY_SHORT

#define YY_SHORT   29

Definition at line 71 of file ffi_parser.c.

◆ YY_SIGNED

#define YY_SIGNED   34

Definition at line 76 of file ffi_parser.c.

◆ YY_SIZEOF

#define YY_SIZEOF   84

Definition at line 126 of file ffi_parser.c.

◆ YY_STATIC

#define YY_STATIC   9

Definition at line 51 of file ffi_parser.c.

◆ YY_STRING

#define YY_STRING   94

Definition at line 136 of file ffi_parser.c.

◆ YY_STRUCT

#define YY_STRUCT   41

Definition at line 83 of file ffi_parser.c.

◆ yy_text

#define yy_text   FFI_G(text)

Definition at line 31 of file ffi_parser.c.

◆ YY_TYPEDEF

#define YY_TYPEDEF   7

Definition at line 49 of file ffi_parser.c.

◆ YY_UNION

#define YY_UNION   42

Definition at line 84 of file ffi_parser.c.

◆ YY_UNSIGNED

#define YY_UNSIGNED   35

Definition at line 77 of file ffi_parser.c.

◆ YY_VOID

#define YY_VOID   27

Definition at line 69 of file ffi_parser.c.

◆ YY_VOLATILE

#define YY_VOLATILE   23

Definition at line 65 of file ffi_parser.c.

◆ YY_WS

#define YY_WS   97

Definition at line 139 of file ffi_parser.c.

◆ YYEND

#define YYEND   cend

Definition at line 40 of file ffi_parser.c.

◆ YYPOS

#define YYPOS   cpos

Definition at line 39 of file ffi_parser.c.

Function Documentation

◆ yy_escape()

size_t yy_escape ( char * buf,
unsigned char ch )

Definition at line 250 of file ffi_parser.c.

◆ yy_escape_char()

const char * yy_escape_char ( char * buf,
unsigned char ch )

Definition at line 279 of file ffi_parser.c.

◆ yy_escape_string()

const char * yy_escape_string ( char * buf,
size_t size,
const unsigned char * str,
size_t n )

Definition at line 286 of file ffi_parser.c.

◆ zend_ffi_parse_decl()

zend_result zend_ffi_parse_decl ( const char * str,
size_t len )

Definition at line 3620 of file ffi_parser.c.

◆ zend_ffi_parse_type()

zend_result zend_ffi_parse_type ( const char * str,
size_t len,
zend_ffi_dcl * dcl )

Definition at line 3633 of file ffi_parser.c.