summaryrefslogtreecommitdiff
path: root/protocols/Telegram/tgl/generate.h
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/Telegram/tgl/generate.h')
-rw-r--r--protocols/Telegram/tgl/generate.h173
1 files changed, 0 insertions, 173 deletions
diff --git a/protocols/Telegram/tgl/generate.h b/protocols/Telegram/tgl/generate.h
deleted file mode 100644
index 5d46a6c4ec..0000000000
--- a/protocols/Telegram/tgl/generate.h
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- This file is part of tgl-libary/generate
-
- Tgl-library/generate is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 2 of the License, or
- (at your option) any later version.
-
- Tgl-library/generate is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this tgl-library/generate. If not, see <http://www.gnu.org/licenses/>.
-
- Copyright Vitaly Valtman 2014-2015
-
- It is derivative work of VK/KittenPHP-DB-Engine (https://github.com/vk-com/kphp-kdb/)
- Copyright 2012-2013 Vkontakte Ltd
- 2012-2013 Vitaliy Valtman
-*/
-
-#ifndef __GENERATE_H__
-#define __GENERATE_H__
-
-struct tl_combinator;
-
-struct tl_type {
-// struct tl_type_methods *methods;
- char *id;
- char *print_id;
- unsigned name;
- int arity;
- int flags;
- int constructors_num;
- struct tl_combinator **constructors;
- long long params_types;
- int extra;
-};
-
-#define NODE_TYPE_TYPE 1
-#define NODE_TYPE_NAT_CONST 2
-#define NODE_TYPE_VAR_TYPE 3
-#define NODE_TYPE_VAR_NUM 4
-#define NODE_TYPE_ARRAY 5
-
-#define MAX_COMBINATOR_VARS 64
-
-#define NAME_VAR_NUM 0x70659eff
-#define NAME_VAR_TYPE 0x2cecf817
-#define NAME_INT 0xa8509bda
-#define NAME_LONG 0x22076cba
-#define NAME_DOUBLE 0x2210c154
-#define NAME_STRING 0xb5286e24
-#define NAME_VECTOR 0x1cb5c415
-#define NAME_MAYBE_TRUE 0x3f9c8ef8
-#define NAME_MAYBE_FALSE 0x27930a7b
-#define NAME_BOOL_FALSE 0xbc799737
-#define NAME_BOOL_TRUE 0x997275b5
-#define NAME_BYTES 0x0ee1379f
-
-
-#define FLAG_OPT_VAR (1 << 17)
-#define FLAG_EXCL (1 << 18)
-#define FLAG_OPT_FIELD (1 << 20)
-#define FLAG_NOVAR (1 << 21)
-#define FLAG_BARE 1
-#define FLAGS_MASK ((1 << 16) - 1)
-#define FLAG_DEFAULT_CONSTRUCTOR (1 << 25)
-#define FLAG_NOCONS (1 << 1)
-
-extern struct tl_tree_methods tl_nat_const_methods;
-extern struct tl_tree_methods tl_nat_const_full_methods;
-extern struct tl_tree_methods tl_pnat_const_full_methods;
-extern struct tl_tree_methods tl_array_methods;
-extern struct tl_tree_methods tl_type_methods;
-extern struct tl_tree_methods tl_parray_methods;
-extern struct tl_tree_methods tl_ptype_methods;
-extern struct tl_tree_methods tl_var_num_methods;
-extern struct tl_tree_methods tl_var_type_methods;
-extern struct tl_tree_methods tl_pvar_num_methods;
-extern struct tl_tree_methods tl_pvar_type_methods;
-#define TL_IS_NAT_VAR(x) (((long)x) & 1)
-#define TL_TREE_METHODS(x) (TL_IS_NAT_VAR (x) ? &tl_nat_const_methods : ((struct tl_tree *)(x))->methods)
-
-#define DEC_REF(x) (TL_TREE_METHODS(x)->dec_ref ((void *)x))
-#define INC_REF(x) (TL_TREE_METHODS(x)->inc_ref ((void *)x))
-#define TYPE(x) (TL_TREE_METHODS(x)->type ((void *)x))
-
-typedef unsigned long long tl_tree_hash_t;
-struct tl_tree;
-
-struct tl_tree_methods {
- int (*type)(struct tl_tree *T);
- int (*eq)(struct tl_tree *T, struct tl_tree *U);
- void (*inc_ref)(struct tl_tree *T);
- void (*dec_ref)(struct tl_tree *T);
-};
-
-struct tl_tree {
- int ref_cnt;
- int flags;
- //tl_tree_hash_t hash;
- struct tl_tree_methods *methods;
-};
-/*
-struct tl_tree_nat_const {
- struct tl_tree self;
- int value;
-};*/
-
-struct tl_tree_type {
- struct tl_tree self;
-
- struct tl_type *type;
- int children_num;
- struct tl_tree **children;
-};
-
-struct tl_tree_array {
- struct tl_tree self;
-
- struct tl_tree *multiplicity;
- int args_num;
- struct arg **args;
-};
-
-struct tl_tree_var_type {
- struct tl_tree self;
-
- int var_num;
-};
-
-struct tl_tree_var_num {
- struct tl_tree self;
-
- int var_num;
- int dif;
-};
-
-struct tl_tree_nat_const {
- struct tl_tree self;
-
- long long value;
-};
-
-struct arg {
- char *id;
- int var_num;
- int flags;
- int exist_var_num;
- int exist_var_bit;
- struct tl_tree *type;
-};
-
-struct tl_combinator {
- //struct tl_combinator_methods *methods;
- char *id;
- char *print_id;
- unsigned name;
- int is_fun;
- int var_num;
- int args_num;
- struct arg **args;
- struct tl_tree *result;
- void **IP;
- void **fIP;
- int IP_len;
- int fIP_len;
-};
-
-#endif