diff options
author | Paul N. Hilfinger <hilfinger@adacore.com> | 2004-04-10 22:10:01 +0000 |
---|---|---|
committer | Paul N. Hilfinger <hilfinger@adacore.com> | 2004-04-10 22:10:01 +0000 |
commit | e85c3284f3920865d80242a740dc7c4803f59840 (patch) | |
tree | 6cb88f9ce7d0dd87c820e56f5fda8556e71ff510 /gdb/language.h | |
parent | fa34704a3086195fd51896b69100c19ceccb549c (diff) | |
download | gdb-e85c3284f3920865d80242a740dc7c4803f59840.zip gdb-e85c3284f3920865d80242a740dc7c4803f59840.tar.gz gdb-e85c3284f3920865d80242a740dc7c4803f59840.tar.bz2 |
* language.h (language_defn): Add new la_post_parser field.
* parser-defs.h (null_post_parser): New declaration (default for
la_post_parser).
* parse.c (parse_exp_1): Move code to parse_exp_in_context and
insert call to that function.
(parse_exp_in_context): New function, including code formerly in
parse_exp_1. Calls language-dependent post-parser after
prefixification.
(parse_expression_in_context): New exported function.
(null_post_parser): New definition.
* expression.h (parse_expression_in_context): Add declaration.
* p-lang.c (pascal_language_defn): Add trivial post-parser.
* c-lang.c (c_language_defn): Ditto.
(cplus_language_defn): Ditto.
(asm_language_defn): Ditto.
(minimal_language_defn): Ditto.
* f-lang.c (f_language_defn): Ditto.
* jv-lang.c (java_language_defn): Ditto.
* language.c (unknown_language_defn): Ditto.
(auto_language_defn): Ditto.
(local_language_defn): Ditto.
* m2-lang.c (m2_language_defn): Ditto.
* scm-lang.c (scm_language_defn): Ditto.
* obj-lang.c (objc_language_defn): Ditto.
Diffstat (limited to 'gdb/language.h')
-rw-r--r-- | gdb/language.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gdb/language.h b/gdb/language.h index 8ed9fb0..27c1491 100644 --- a/gdb/language.h +++ b/gdb/language.h @@ -180,6 +180,14 @@ struct language_defn void (*la_error) (char *); + /* Given an expression *EXPP created by prefixifying the result of + la_parser, perform any remaining processing necessary to complete + its translation. *EXPP may change; la_post_parser is responsible + for releasing its previous contents, if necessary. If + VOID_CONTEXT_P, then no value is expected from the expression. */ + + void (*la_post_parser) (struct expression ** expp, int void_context_p); + void (*la_printchar) (int ch, struct ui_file * stream); void (*la_printstr) (struct ui_file * stream, char *string, |