aboutsummaryrefslogtreecommitdiff
path: root/gdb/language.h
diff options
context:
space:
mode:
authorPaul N. Hilfinger <hilfinger@adacore.com>2004-04-10 22:10:01 +0000
committerPaul N. Hilfinger <hilfinger@adacore.com>2004-04-10 22:10:01 +0000
commite85c3284f3920865d80242a740dc7c4803f59840 (patch)
tree6cb88f9ce7d0dd87c820e56f5fda8556e71ff510 /gdb/language.h
parentfa34704a3086195fd51896b69100c19ceccb549c (diff)
downloadgdb-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.h8
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,