+ /* Return a pointer to the function that should be used to match
+ a symbol name against LOOKUP_NAME. This is mostly for languages
+ such as Ada where the matching algorithm depends on LOOKUP_NAME.
+
+ This field may be NULL, in which case strcmp_iw will be used
+ to perform the matching. */
+ symbol_name_cmp_ftype (*la_get_symbol_name_cmp) (const char *lookup_name);
+
+ /* Find all symbols in the current program space matching NAME in
+ DOMAIN, according to this language's rules.
+
+ The search is done in BLOCK only.
+ The caller is responsible for iterating up through superblocks
+ if desired.
+
+ For each one, call CALLBACK with the symbol. If CALLBACK
+ returns false, the iteration ends at that point.
+
+ This field may not be NULL. If the language does not need any
+ special processing here, 'iterate_over_symbols' should be
+ used as the definition. */
+ void (*la_iterate_over_symbols)
+ (const struct block *block, const char *name, domain_enum domain,
+ gdb::function_view<symbol_found_callback_ftype> callback);
+
+ /* Various operations on varobj. */
+ const struct lang_varobj_ops *la_varobj_ops;
+
+ /* If this language allows compilation from the gdb command line,
+ this method should be non-NULL. When called it should return
+ an instance of struct gcc_context appropriate to the language.
+ When defined this method must never return NULL; instead it
+ should throw an exception on failure. The returned compiler
+ instance is owned by its caller and must be deallocated by
+ calling its 'destroy' method. */
+
+ struct compile_instance *(*la_get_compile_instance) (void);
+
+ /* This method must be defined if 'la_get_gcc_context' is defined.
+ If 'la_get_gcc_context' is not defined, then this method is
+ ignored.
+
+ This takes the user-supplied text and returns a new bit of code
+ to compile.
+
+ INST is the compiler instance being used.
+ INPUT is the user's input text.
+ GDBARCH is the architecture to use.
+ EXPR_BLOCK is the block in which the expression is being
+ parsed.
+ EXPR_PC is the PC at which the expression is being parsed. */
+
+ std::string (*la_compute_program) (struct compile_instance *inst,
+ const char *input,
+ struct gdbarch *gdbarch,
+ const struct block *expr_block,
+ CORE_ADDR expr_pc);
+
+ /* Add fields above this point, so the magic number is always last. */
+ /* Magic number for compat checking. */