xine-lib 1.2.13-20230125hg15249
|
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "asmrp.h"
#include <xine/xineutils.h>
Data Structures | |
struct | asmrp_sym_t |
struct | asmrp_t |
Macros | |
#define | LOG_MODULE "asmrp" |
#define | LOG_VERBOSE |
#define | ASMRP_SYM_NONE 0 |
#define | ASMRP_SYM_EOF 1 |
#define | ASMRP_SYM_NUM 2 |
#define | ASMRP_SYM_ID 3 |
#define | ASMRP_SYM_STRING 4 |
#define | ASMRP_SYM_HASH 10 |
#define | ASMRP_SYM_SEMICOLON 11 |
#define | ASMRP_SYM_COMMA 12 |
#define | ASMRP_SYM_EQUALS 13 |
#define | ASMRP_SYM_AND 14 |
#define | ASMRP_SYM_OR 15 |
#define | ASMRP_SYM_LESS 16 |
#define | ASMRP_SYM_LEQ 17 |
#define | ASMRP_SYM_GEQ 18 |
#define | ASMRP_SYM_GREATER 19 |
#define | ASMRP_SYM_DOLLAR 20 |
#define | ASMRP_SYM_LPAREN 21 |
#define | ASMRP_SYM_RPAREN 22 |
#define | ASMRP_MAX_ID 1024 |
#define | ASMRP_MAX_SYMTAB 10 |
Functions | |
static asmrp_t * | asmrp_new () |
static void | asmrp_dispose (asmrp_t *p) |
static void | asmrp_getch (asmrp_t *p) |
static void | asmrp_init (asmrp_t *p, const char *str) |
static void | asmrp_number (asmrp_t *p) |
static void | asmrp_string (asmrp_t *p) |
static void | asmrp_identifier (asmrp_t *p) |
static void | asmrp_get_sym (asmrp_t *p) |
static int | asmrp_find_id (asmrp_t *p, const char *s) |
static int | asmrp_set_id (asmrp_t *p, const char *s, int v) |
static int | asmrp_condition (asmrp_t *p) |
static int | asmrp_operand (asmrp_t *p) |
static int | asmrp_comp_expression (asmrp_t *p) |
static void | asmrp_assignment (asmrp_t *p) |
static int | asmrp_rule (asmrp_t *p) |
static int | asmrp_eval (asmrp_t *p, int *matches, int matchsize) |
int | asmrp_match (const char *rules, int bandwidth, int *matches, int matchsize) |
#define ASMRP_MAX_ID 1024 |
#define ASMRP_MAX_SYMTAB 10 |
#define ASMRP_SYM_AND 14 |
Referenced by asmrp_condition(), and asmrp_get_sym().
#define ASMRP_SYM_COMMA 12 |
Referenced by asmrp_assignment(), asmrp_get_sym(), and asmrp_rule().
#define ASMRP_SYM_DOLLAR 20 |
Referenced by asmrp_get_sym(), and asmrp_operand().
#define ASMRP_SYM_EOF 1 |
Referenced by asmrp_eval(), and asmrp_get_sym().
#define ASMRP_SYM_EQUALS 13 |
Referenced by asmrp_assignment(), asmrp_comp_expression(), and asmrp_get_sym().
#define ASMRP_SYM_GEQ 18 |
Referenced by asmrp_comp_expression(), and asmrp_get_sym().
#define ASMRP_SYM_GREATER 19 |
Referenced by asmrp_comp_expression(), and asmrp_get_sym().
#define ASMRP_SYM_HASH 10 |
Referenced by asmrp_get_sym(), and asmrp_rule().
#define ASMRP_SYM_ID 3 |
Referenced by asmrp_assignment(), asmrp_identifier(), and asmrp_operand().
#define ASMRP_SYM_LEQ 17 |
Referenced by asmrp_comp_expression(), and asmrp_get_sym().
#define ASMRP_SYM_LESS 16 |
Referenced by asmrp_comp_expression(), and asmrp_get_sym().
#define ASMRP_SYM_LPAREN 21 |
Referenced by asmrp_get_sym(), and asmrp_operand().
#define ASMRP_SYM_NONE 0 |
Referenced by asmrp_new().
#define ASMRP_SYM_NUM 2 |
Referenced by asmrp_assignment(), asmrp_number(), and asmrp_operand().
#define ASMRP_SYM_OR 15 |
Referenced by asmrp_condition(), and asmrp_get_sym().
#define ASMRP_SYM_RPAREN 22 |
Referenced by asmrp_get_sym(), and asmrp_operand().
#define ASMRP_SYM_SEMICOLON 11 |
Referenced by asmrp_assignment(), asmrp_get_sym(), and asmrp_rule().
#define ASMRP_SYM_STRING 4 |
Referenced by asmrp_assignment(), and asmrp_string().
#define LOG_MODULE "asmrp" |
#define LOG_VERBOSE |
|
static |
References asmrp_get_sym(), ASMRP_SYM_COMMA, ASMRP_SYM_EQUALS, ASMRP_SYM_ID, ASMRP_SYM_NUM, ASMRP_SYM_SEMICOLON, ASMRP_SYM_STRING, lprintf, and asmrp_t::sym.
Referenced by asmrp_rule().
|
static |
References asmrp_get_sym(), asmrp_operand(), ASMRP_SYM_EQUALS, ASMRP_SYM_GEQ, ASMRP_SYM_GREATER, ASMRP_SYM_LEQ, ASMRP_SYM_LESS, lprintf, and asmrp_t::sym.
Referenced by asmrp_condition().
|
static |
References asmrp_comp_expression(), asmrp_get_sym(), ASMRP_SYM_AND, ASMRP_SYM_OR, lprintf, and asmrp_t::sym.
Referenced by asmrp_operand(), and asmrp_rule().
|
static |
References asmrp_sym_t::id, asmrp_t::sym_tab, and asmrp_t::sym_tab_num.
Referenced by asmrp_match().
|
static |
References asmrp_get_sym(), asmrp_rule(), ASMRP_SYM_EOF, lprintf, and asmrp_t::sym.
Referenced by asmrp_match().
|
static |
References asmrp_sym_t::id, asmrp_t::sym_tab, and asmrp_t::sym_tab_num.
Referenced by asmrp_operand(), and asmrp_set_id().
|
static |
References asmrp_getch(), asmrp_identifier(), asmrp_number(), asmrp_string(), ASMRP_SYM_AND, ASMRP_SYM_COMMA, ASMRP_SYM_DOLLAR, ASMRP_SYM_EOF, ASMRP_SYM_EQUALS, ASMRP_SYM_GEQ, ASMRP_SYM_GREATER, ASMRP_SYM_HASH, ASMRP_SYM_LEQ, ASMRP_SYM_LESS, ASMRP_SYM_LPAREN, ASMRP_SYM_OR, ASMRP_SYM_RPAREN, ASMRP_SYM_SEMICOLON, asmrp_t::ch, and asmrp_t::sym.
Referenced by asmrp_assignment(), asmrp_comp_expression(), asmrp_condition(), asmrp_eval(), asmrp_operand(), and asmrp_rule().
|
static |
References asmrp_t::buf, asmrp_t::ch, lprintf, and asmrp_t::pos.
Referenced by asmrp_get_sym(), asmrp_identifier(), asmrp_init(), asmrp_number(), and asmrp_string().
|
static |
References asmrp_getch(), ASMRP_SYM_ID, asmrp_t::ch, asmrp_t::str, and asmrp_t::sym.
Referenced by asmrp_get_sym().
|
static |
References asmrp_getch(), asmrp_t::buf, and asmrp_t::pos.
Referenced by asmrp_match().
int asmrp_match | ( | const char * | rules, |
int | bandwidth, | ||
int * | matches, | ||
int | matchsize ) |
References asmrp_dispose(), asmrp_eval(), asmrp_init(), asmrp_new(), and asmrp_set_id().
Referenced by real_parse_sdp().
|
static |
References ASMRP_SYM_NONE, asmrp_t::sym, and asmrp_t::sym_tab_num.
Referenced by asmrp_match().
|
static |
References asmrp_getch(), ASMRP_SYM_NUM, asmrp_t::ch, asmrp_t::num, and asmrp_t::sym.
Referenced by asmrp_get_sym().
|
static |
References asmrp_condition(), asmrp_find_id(), asmrp_get_sym(), ASMRP_SYM_DOLLAR, ASMRP_SYM_ID, ASMRP_SYM_LPAREN, ASMRP_SYM_NUM, ASMRP_SYM_RPAREN, lprintf, asmrp_t::num, asmrp_t::str, asmrp_t::sym, asmrp_t::sym_tab, and asmrp_sym_t::v.
Referenced by asmrp_comp_expression().
|
static |
References asmrp_assignment(), asmrp_condition(), asmrp_get_sym(), ASMRP_SYM_COMMA, ASMRP_SYM_HASH, ASMRP_SYM_SEMICOLON, lprintf, and asmrp_t::sym.
Referenced by asmrp_eval().
|
static |
References asmrp_find_id(), asmrp_sym_t::id, lprintf, asmrp_t::sym_tab, asmrp_t::sym_tab_num, asmrp_sym_t::v, and v.
Referenced by asmrp_match().
|
static |
References asmrp_getch(), ASMRP_SYM_STRING, asmrp_t::ch, asmrp_t::str, and asmrp_t::sym.
Referenced by asmrp_get_sym().