|
const cpp_token * | next () |
|
const cpp_token * | peek (unsigned=1) |
|
const cpp_token * | peek_ident (const char *=NULL, unsigned=1) |
|
const cpp_token * | expect (enum cpp_ttype) |
|
const cpp_token * | eat_token (enum cpp_ttype) |
|
const char * | get_string () |
|
const char * | get_ident () |
|
const cpp_token * | eat_ident (const char *) |
|
const char * | get_number () |
|
unsigned | get_internal_capture_id () |
|
id_base * | parse_operation (unsigned char &) |
|
operand * | parse_capture (operand *, bool) |
|
operand * | parse_expr () |
|
c_expr * | parse_c_expr (cpp_ttype) |
|
operand * | parse_op () |
|
void | record_operlist (location_t, user_id *) |
|
void | parse_pattern () |
|
operand * | parse_result (operand *, predicate_id *) |
|
void | push_simplify (simplify::simplify_kind, vec< simplify * > &, operand *, operand *) |
|
void | parse_simplify (simplify::simplify_kind, vec< simplify * > &, predicate_id *, operand *) |
|
void | parse_for (location_t) |
|
void | parse_if (location_t) |
|
void | parse_predicates (location_t) |
|
void | parse_operator_list (location_t) |
|
void | finish_match_operand (operand *) |
|
◆ parser()
◆ eat_ident()
◆ eat_token()
Consume the next token from R and assert it is of type TK.
References ggc_alloc().
◆ expect()
◆ finish_match_operand()
Finish up OP which is a match operand.
References c_expr::capture_ids, hash_map< KeyId, Value, Traits >::elements(), fatal_at(), ggc_alloc(), i, operand::location, NULL, walk_captures(), capture::what, and capture::where.
◆ get_ident()
Read the next token from R and assert it is of type CPP_NAME and
return its value.
References ggc_alloc().
◆ get_internal_capture_id()
unsigned parser::get_internal_capture_id |
( |
| ) |
|
|
private |
◆ get_number()
Read the next token from R and assert it is of type CPP_NUMBER and
return its value.
References ggc_alloc().
◆ get_string()
Read the next token from R and assert it is of type CPP_STRING and
return its value.
References ggc_alloc().
◆ next()
◆ parse_c_expr()
Lex native C code delimited by START recording the preprocessing tokens
for later processing.
c_expr = ('{'|'(') <pp token>... ('}'|')')
References c_expr::c_expr(), c_expr::capture_ids, c_expr::code, end(), fatal_at(), gcc_unreachable, get_operator(), ggc_alloc(), c_expr::nr_stmts, c_expr::r, token(), and vNULL.
◆ parse_capture()
◆ parse_expr()
Parse an expression
expr = '(' <operation>[capture][flag][type] <operand>... ')'
References expr::append_op(), commutative_op(), commutative_tree_code(), comparison_code_p(), expr, expr::expr_type, fatal_at(), expr::force_leaf, expr::force_single_use, ggc_alloc(), i, id_base::id, expr::is_commutative, id_base::nargs, NULL, expr::operation, expr::ops, and expr::opt_grp.
◆ parse_for()
Parsing of the outer control structures.
Parse a for expression
for = '(' 'for' <subst>... <pattern> ')'
subst = <ident> '(' <ident>... ')'
References fatal_at(), get_operator(), ggc_alloc(), id_base::hashval, i, user_id::is_oper_list, id_base::nargs, NULL, operators, user_id::substitutes, token(), vNULL, and warning_at().
◆ parse_if()
Parse an outer if expression.
if = '(' 'if' '(' <c-expr> ')' <pattern> ')'
References fatal_at(), and ggc_alloc().
◆ parse_op()
◆ parse_operation()
◆ parse_operator_list()
◆ parse_pattern()
void parser::parse_pattern |
( |
| ) |
|
|
private |
Parse outer control structures.
pattern = <preds>|<for>|<if>|<simplify>|<match>
References add_predicate(), expr::append_op(), c_expr::capture_ids, expr, fatal_at(), get_operator(), ggc_alloc(), simplify::MATCH, predicate_id::matchers, id_base::nargs, NULL, expr::ops, and simplify::SIMPLIFY.
◆ parse_predicates()
Parse a list of predefined predicate identifiers.
preds = '(' 'define_predicates' <ident>... ')'
References add_predicate(), and ggc_alloc().
◆ parse_result()
Parse
<result-op> = <op> | <if> | <with>
<if> = '(' 'if' '(' <c-expr> ')' <result-op> ')'
<with> = '(' 'with' '{' <c-expr> '}' <result-op> ')'
and return it.
References fatal_at(), and ggc_alloc().
◆ parse_simplify()
◆ peek()
◆ peek_ident()
Peek at the next identifier token (or return NULL if the next
token is not an identifier or equal to ID if supplied).
References ggc_alloc(), and token().
◆ push_simplify()
Create a new simplify from the current parsing state and MATCH,
MATCH_LOC, RESULT and RESULT_LOC and push it to SIMPLIFIERS.
References c_expr::capture_ids, and last_id.
◆ record_operlist()
◆ active_fors
◆ active_ifs
◆ capture_ids
◆ gimple
◆ last_id
◆ oper_lists
◆ oper_lists_set
◆ parsing_match_operand
bool parser::parsing_match_operand |
◆ simplifiers
◆ user_predicates
The documentation for this class was generated from the following file: