* section.c (struct sec): Remove usused flags. Reorganize a little.
[deliverable/binutils-gdb.git] / gdb / language.h
index 75ca55545259edafa37ea9d4f2304170cca1c01f..27c1491d76d6bc949641dcc5cfbb85cf7ee84edf 100644 (file)
@@ -1,7 +1,7 @@
 /* Source-language-related definitions for GDB.
 
-   Copyright 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2000, 2003 Free
-   Software Foundation, Inc.
+   Copyright 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2000, 2003,
+   2004 Free Software Foundation, Inc.
 
    Contributed by the Department of Computer Science at the State University
    of New York at Buffalo.
@@ -167,6 +167,11 @@ struct language_defn
     /* Default case sensitivity */
     enum case_sensitivity la_case_sensitivity;
 
+    /* Definitions related to expression printing, prefixifying, and
+       dumping */
+
+    const struct exp_descriptor *la_exp_desc;
+
     /* Parser function. */
 
     int (*la_parser) (void);
@@ -175,9 +180,13 @@ struct language_defn
 
     void (*la_error) (char *);
 
-    /* Evaluate an expression. */
-    struct value *(*evaluate_exp) (struct type *, struct expression *,
-                                  int *, enum noside);
+    /* 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);
 
@@ -232,6 +241,9 @@ struct language_defn
                                                 const domain_enum,
                                                 struct symtab **);
 
+    /* Find the definition of the type with the given name.  */
+    struct type *(*la_lookup_transparent_type) (const char *);
+
     /* Return demangled language symbol, or NULL.  */
     char *(*la_demangle) (const char *mangled, int options);
 
@@ -266,6 +278,9 @@ struct language_defn
     /* Type of elements of strings. */
     struct type **string_char_type;
 
+    /* The list of characters forming word boundaries.  */
+    char *(*la_word_break_characters) (void);
+
     /* Add fields above this point, so the magic number is always last. */
     /* Magic number for compat checking */
 
@@ -501,4 +516,7 @@ extern CORE_ADDR skip_language_trampoline (CORE_ADDR pc);
 extern char *language_demangle (const struct language_defn *current_language, 
                                const char *mangled, int options);
 
+/* Splitting strings into words.  */
+extern char *default_word_break_characters (void);
+
 #endif /* defined (LANGUAGE_H) */
This page took 0.024099 seconds and 4 git commands to generate.