// Auto generated on 11th April 2003 // Generator parameters: csharp syntactic_grammar // Generator author: Jon Jagger, {JSL} // URL http://www.jaggersoft.com // email jon@jaggersoft.com #include "csharp/syntactic_grammar.hpp" #include "csharp/syntactic_grammar_visitor.hpp" #include "array/end_of.hpp" #include "grammar/infinity.hpp" #include "grammar/qualified_symbol_definition.hpp" namespace { template const ::grammar::non_terminal_symbol_definition * extract(iterator_type position, iterator_type end) { return (position != end) ? position->second : 0; } } namespace csharp // syntactic_grammar - associative look up { const ::grammar::non_terminal_symbol_definition * syntactic_grammar::operator[](const char * name) const { return extract(::grammar::base::symbols.find(name), ::grammar::base::symbols.end()); } } namespace csharp // syntactic_grammar - configuration { void syntactic_grammar::Configure_namespace_name() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(namespace_or_type_name, 1, 1), }; namespace_name.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[namespace_name.name] = &namespace_name; } void syntactic_grammar::Configure_type_name() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(namespace_or_type_name, 1, 1), }; type_name.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[type_name.name] = &type_name; } void syntactic_grammar::Configure_namespace_or_type_name() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(qualified_identifier, 1, 1), }; namespace_or_type_name.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[namespace_or_type_name.name] = &namespace_or_type_name; } void syntactic_grammar::Configure_type() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(pointer_type, 1, 1), }; type.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(reference_type, 1, 1), }; type.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(value_type, 1, 1), }; type.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[type.name] = &type; } void syntactic_grammar::Configure_value_type() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(struct_type, 1, 1), }; value_type.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(enum_type, 1, 1), }; value_type.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[value_type.name] = &value_type; } void syntactic_grammar::Configure_struct_type() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(type_name, 1, 1), }; struct_type.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(simple_type, 1, 1), }; struct_type.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[struct_type.name] = &struct_type; } void syntactic_grammar::Configure_simple_type() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(numeric_type, 1, 1), }; simple_type.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("bool"), 1, 1), }; simple_type.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[simple_type.name] = &simple_type; } void syntactic_grammar::Configure_numeric_type() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(integral_type, 1, 1), }; numeric_type.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(floating_point_type, 1, 1), }; numeric_type.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("decimal"), 1, 1), }; numeric_type.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[numeric_type.name] = &numeric_type; } void syntactic_grammar::Configure_integral_type() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("sbyte"), 1, 1), }; integral_type.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("byte"), 1, 1), }; integral_type.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("short"), 1, 1), }; integral_type.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("ushort"), 1, 1), }; integral_type.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("int"), 1, 1), }; integral_type.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("uint"), 1, 1), }; integral_type.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("long"), 1, 1), }; integral_type.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("ulong"), 1, 1), }; integral_type.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("char"), 1, 1), }; integral_type.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[integral_type.name] = &integral_type; } void syntactic_grammar::Configure_floating_point_type() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("float"), 1, 1), }; floating_point_type.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("double"), 1, 1), }; floating_point_type.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[floating_point_type.name] = &floating_point_type; } void syntactic_grammar::Configure_enum_type() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(type_name, 1, 1), }; enum_type.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[enum_type.name] = &enum_type; } void syntactic_grammar::Configure_reference_type() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(array_type, 1, 1), }; reference_type.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(class_type, 1, 1), }; reference_type.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(interface_type, 1, 1), }; reference_type.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(delegate_type, 1, 1), }; reference_type.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[reference_type.name] = &reference_type; } void syntactic_grammar::Configure_class_type() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(type_name, 1, 1), }; class_type.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("object"), 1, 1), }; class_type.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("string"), 1, 1), }; class_type.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[class_type.name] = &class_type; } void syntactic_grammar::Configure_interface_type() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(type_name, 1, 1), }; interface_type.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[interface_type.name] = &interface_type; } void syntactic_grammar::Configure_delegate_type() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(type_name, 1, 1), }; delegate_type.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[delegate_type.name] = &delegate_type; } void syntactic_grammar::Configure_variable_reference() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(expression, 1, 1), }; variable_reference.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[variable_reference.name] = &variable_reference; } void syntactic_grammar::Configure_argument_list() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(argument, 1, 1), ::grammar::base::create(arguments, 0, 1), }; argument_list.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[argument_list.name] = &argument_list; } void syntactic_grammar::Configure_arguments() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal(","), 1, 1), ::grammar::base::create(argument_list, 1, 1), }; arguments.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[arguments.name] = &arguments; } void syntactic_grammar::Configure_argument() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("ref"), 1, 1), ::grammar::base::create(variable_reference, 1, 1), }; argument.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("out"), 1, 1), ::grammar::base::create(variable_reference, 1, 1), }; argument.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(expression, 1, 1), }; argument.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[argument.name] = &argument; } void syntactic_grammar::Configure_primary_expression() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(array_creation_expression, 1, 1), }; primary_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(primary_no_array_creation_expression, 1, 1), }; primary_expression.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[primary_expression.name] = &primary_expression; } void syntactic_grammar::Configure_primary_no_array_creation_expression() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(literal, 1, 1), ::grammar::base::create(primary_suffix, 0, 1), }; primary_no_array_creation_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(simple_name, 1, 1), ::grammar::base::create(primary_suffix, 0, 1), }; primary_no_array_creation_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(parenthesized_expression, 1, 1), ::grammar::base::create(primary_suffix, 0, 1), }; primary_no_array_creation_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(this_access, 1, 1), ::grammar::base::create(primary_suffix, 0, 1), }; primary_no_array_creation_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(base_access, 1, 1), ::grammar::base::create(primary_suffix, 0, 1), }; primary_no_array_creation_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(object_creation_expression, 1, 1), ::grammar::base::create(primary_suffix, 0, 1), }; primary_no_array_creation_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(delegate_creation_expression, 1, 1), ::grammar::base::create(primary_suffix, 0, 1), }; primary_no_array_creation_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(typeof_expression, 1, 1), ::grammar::base::create(primary_suffix, 0, 1), }; primary_no_array_creation_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(checked_expression, 1, 1), ::grammar::base::create(primary_suffix, 0, 1), }; primary_no_array_creation_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(unchecked_expression, 1, 1), ::grammar::base::create(primary_suffix, 0, 1), }; primary_no_array_creation_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(sizeof_expression, 1, 1), ::grammar::base::create(primary_suffix, 0, 1), }; primary_no_array_creation_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(predefined_type, 1, 1), ::grammar::base::create(member_access_suffix, 1, 1), ::grammar::base::create(primary_suffix, 0, 1), }; primary_no_array_creation_expression.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[primary_no_array_creation_expression.name] = &primary_no_array_creation_expression; } void syntactic_grammar::Configure_primary_suffix() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(member_access_suffix, 1, 1), ::grammar::base::create(primary_suffix, 0, 1), }; primary_suffix.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(invocation_expression_suffix, 1, 1), ::grammar::base::create(primary_suffix, 0, 1), }; primary_suffix.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(element_access_suffix, 1, 1), ::grammar::base::create(primary_suffix, 0, 1), }; primary_suffix.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(post_increment_suffix, 1, 1), ::grammar::base::create(primary_suffix, 0, 1), }; primary_suffix.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(post_decrement_suffix, 1, 1), ::grammar::base::create(primary_suffix, 0, 1), }; primary_suffix.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(pointer_member_access_suffix, 1, 1), ::grammar::base::create(primary_suffix, 0, 1), }; primary_suffix.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[primary_suffix.name] = &primary_suffix; } void syntactic_grammar::Configure_member_access_suffix() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("."), 1, 1), ::grammar::base::create(identifier, 1, 1), }; member_access_suffix.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[member_access_suffix.name] = &member_access_suffix; } void syntactic_grammar::Configure_invocation_expression_suffix() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("("), 1, 1), ::grammar::base::create(argument_list, 0, 1), ::grammar::base::create(::grammar::base::terminal(")"), 1, 1), }; invocation_expression_suffix.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[invocation_expression_suffix.name] = &invocation_expression_suffix; } void syntactic_grammar::Configure_element_access_suffix() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("["), 1, 1), ::grammar::base::create(expression_list, 1, 1), ::grammar::base::create(::grammar::base::terminal("]"), 1, 1), }; element_access_suffix.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[element_access_suffix.name] = &element_access_suffix; } void syntactic_grammar::Configure_post_increment_suffix() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("++"), 1, 1), }; post_increment_suffix.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[post_increment_suffix.name] = &post_increment_suffix; } void syntactic_grammar::Configure_post_decrement_suffix() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("--"), 1, 1), }; post_decrement_suffix.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[post_decrement_suffix.name] = &post_decrement_suffix; } void syntactic_grammar::Configure_expression_list() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(expression, 1, 1), ::grammar::base::create(expressions, 0, 1), }; expression_list.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[expression_list.name] = &expression_list; } void syntactic_grammar::Configure_expressions() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal(","), 1, 1), ::grammar::base::create(expression_list, 1, 1), }; expressions.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[expressions.name] = &expressions; } void syntactic_grammar::Configure_simple_name() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(identifier, 1, 1), }; simple_name.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[simple_name.name] = &simple_name; } void syntactic_grammar::Configure_parenthesized_expression() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("("), 1, 1), ::grammar::base::create(expression, 1, 1), ::grammar::base::create(::grammar::base::terminal(")"), 1, 1), }; parenthesized_expression.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[parenthesized_expression.name] = &parenthesized_expression; } void syntactic_grammar::Configure_predefined_type() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("bool"), 1, 1), }; predefined_type.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("byte"), 1, 1), }; predefined_type.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("char"), 1, 1), }; predefined_type.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("decimal"), 1, 1), }; predefined_type.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("double"), 1, 1), }; predefined_type.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("float"), 1, 1), }; predefined_type.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("int"), 1, 1), }; predefined_type.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("long"), 1, 1), }; predefined_type.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("object"), 1, 1), }; predefined_type.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("sbyte"), 1, 1), }; predefined_type.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("short"), 1, 1), }; predefined_type.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("string"), 1, 1), }; predefined_type.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("uint"), 1, 1), }; predefined_type.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("ulong"), 1, 1), }; predefined_type.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("ushort"), 1, 1), }; predefined_type.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[predefined_type.name] = &predefined_type; } void syntactic_grammar::Configure_invocation_expression() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(ie_primary_no_array_creation_expression, 1, 1), ::grammar::base::create(invocation_expression_suffix, 1, ::grammar::infinity()), }; invocation_expression.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[invocation_expression.name] = &invocation_expression; } void syntactic_grammar::Configure_ie_primary_no_array_creation_expression() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(literal, 1, 1), ::grammar::base::create(ie_primary_suffix, 0, 1), }; ie_primary_no_array_creation_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(simple_name, 1, 1), ::grammar::base::create(ie_primary_suffix, 0, 1), }; ie_primary_no_array_creation_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(parenthesized_expression, 1, 1), ::grammar::base::create(ie_primary_suffix, 0, 1), }; ie_primary_no_array_creation_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(this_access, 1, 1), ::grammar::base::create(ie_primary_suffix, 0, 1), }; ie_primary_no_array_creation_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(base_access, 1, 1), ::grammar::base::create(ie_primary_suffix, 0, 1), }; ie_primary_no_array_creation_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(object_creation_expression, 1, 1), ::grammar::base::create(ie_primary_suffix, 0, 1), }; ie_primary_no_array_creation_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(delegate_creation_expression, 1, 1), ::grammar::base::create(ie_primary_suffix, 0, 1), }; ie_primary_no_array_creation_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(typeof_expression, 1, 1), ::grammar::base::create(ie_primary_suffix, 0, 1), }; ie_primary_no_array_creation_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(checked_expression, 1, 1), ::grammar::base::create(ie_primary_suffix, 0, 1), }; ie_primary_no_array_creation_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(unchecked_expression, 1, 1), ::grammar::base::create(ie_primary_suffix, 0, 1), }; ie_primary_no_array_creation_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(sizeof_expression, 1, 1), ::grammar::base::create(ie_primary_suffix, 0, 1), }; ie_primary_no_array_creation_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(predefined_type, 1, 1), ::grammar::base::create(member_access_suffix, 1, 1), ::grammar::base::create(ie_primary_suffix, 0, 1), }; ie_primary_no_array_creation_expression.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[ie_primary_no_array_creation_expression.name] = &ie_primary_no_array_creation_expression; } void syntactic_grammar::Configure_ie_primary_suffix() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(member_access_suffix, 1, 1), ::grammar::base::create(ie_primary_suffix, 0, 1), }; ie_primary_suffix.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(invocation_expression_suffix, 1, 1), ::grammar::base::create(ie_primary_suffix, 1, 1), }; ie_primary_suffix.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(element_access_suffix, 1, 1), ::grammar::base::create(ie_primary_suffix, 0, 1), }; ie_primary_suffix.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(post_increment_suffix, 1, 1), ::grammar::base::create(ie_primary_suffix, 0, 1), }; ie_primary_suffix.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(post_decrement_suffix, 1, 1), ::grammar::base::create(ie_primary_suffix, 0, 1), }; ie_primary_suffix.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(pointer_member_access_suffix, 1, 1), ::grammar::base::create(ie_primary_suffix, 0, 1), }; ie_primary_suffix.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[ie_primary_suffix.name] = &ie_primary_suffix; } void syntactic_grammar::Configure_post_increment_expression() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(pide_primary_no_array_creation_expression, 1, 1), ::grammar::base::create(post_increment_suffix, 1, 1), }; post_increment_expression.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[post_increment_expression.name] = &post_increment_expression; } void syntactic_grammar::Configure_post_decrement_expression() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(pide_primary_no_array_creation_expression, 1, 1), ::grammar::base::create(post_decrement_suffix, 1, 1), }; post_decrement_expression.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[post_decrement_expression.name] = &post_decrement_expression; } void syntactic_grammar::Configure_pide_primary_no_array_creation_expression() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(simple_name, 1, 1), ::grammar::base::create(pide_primary_suffix, 0, 1), }; pide_primary_no_array_creation_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(parenthesized_expression, 1, 1), ::grammar::base::create(pide_primary_suffix, 0, 1), }; pide_primary_no_array_creation_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(this_access, 1, 1), ::grammar::base::create(pide_primary_suffix, 0, 1), }; pide_primary_no_array_creation_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(base_access, 1, 1), ::grammar::base::create(pide_primary_suffix, 0, 1), }; pide_primary_no_array_creation_expression.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[pide_primary_no_array_creation_expression.name] = &pide_primary_no_array_creation_expression; } void syntactic_grammar::Configure_pide_primary_suffix() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(member_access_suffix, 1, 1), ::grammar::base::create(pide_primary_suffix, 0, 1), }; pide_primary_suffix.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(invocation_expression_suffix, 1, 1), ::grammar::base::create(pide_primary_suffix, 0, 1), }; pide_primary_suffix.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(element_access_suffix, 1, 1), ::grammar::base::create(pide_primary_suffix, 0, 1), }; pide_primary_suffix.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(pointer_member_access_suffix, 1, 1), ::grammar::base::create(pide_primary_suffix, 0, 1), }; pide_primary_suffix.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[pide_primary_suffix.name] = &pide_primary_suffix; } void syntactic_grammar::Configure_this_access() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("this"), 1, 1), }; this_access.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[this_access.name] = &this_access; } void syntactic_grammar::Configure_base_access() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("base"), 1, 1), ::grammar::base::create(::grammar::base::terminal("."), 1, 1), ::grammar::base::create(identifier, 1, 1), }; base_access.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("base"), 1, 1), ::grammar::base::create(::grammar::base::terminal("["), 1, 1), ::grammar::base::create(expression_list, 1, 1), ::grammar::base::create(::grammar::base::terminal("]"), 1, 1), }; base_access.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[base_access.name] = &base_access; } void syntactic_grammar::Configure_object_creation_expression() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("new"), 1, 1), ::grammar::base::create(type, 1, 1), ::grammar::base::create(::grammar::base::terminal("("), 1, 1), ::grammar::base::create(argument_list, 0, 1), ::grammar::base::create(::grammar::base::terminal(")"), 1, 1), }; object_creation_expression.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[object_creation_expression.name] = &object_creation_expression; } void syntactic_grammar::Configure_array_creation_expression() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("new"), 1, 1), ::grammar::base::create(non_array_type, 1, 1), ::grammar::base::create(::grammar::base::terminal("["), 1, 1), ::grammar::base::create(expression_list, 1, 1), ::grammar::base::create(::grammar::base::terminal("]"), 1, 1), ::grammar::base::create(rank_specifiers, 0, 1), ::grammar::base::create(array_initializer, 0, 1), }; array_creation_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("new"), 1, 1), ::grammar::base::create(array_type, 1, 1), ::grammar::base::create(array_initializer, 1, 1), }; array_creation_expression.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[array_creation_expression.name] = &array_creation_expression; } void syntactic_grammar::Configure_delegate_creation_expression() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("new"), 1, 1), ::grammar::base::create(delegate_type, 1, 1), ::grammar::base::create(::grammar::base::terminal("("), 1, 1), ::grammar::base::create(expression, 1, 1), ::grammar::base::create(::grammar::base::terminal(")"), 1, 1), }; delegate_creation_expression.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[delegate_creation_expression.name] = &delegate_creation_expression; } void syntactic_grammar::Configure_typeof_expression() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("typeof"), 1, 1), ::grammar::base::create(::grammar::base::terminal("("), 1, 1), ::grammar::base::create(type, 1, 1), ::grammar::base::create(::grammar::base::terminal(")"), 1, 1), }; typeof_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("typeof"), 1, 1), ::grammar::base::create(::grammar::base::terminal("("), 1, 1), ::grammar::base::create(::grammar::base::terminal("void"), 1, 1), ::grammar::base::create(::grammar::base::terminal(")"), 1, 1), }; typeof_expression.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[typeof_expression.name] = &typeof_expression; } void syntactic_grammar::Configure_checked_expression() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("checked"), 1, 1), ::grammar::base::create(::grammar::base::terminal("("), 1, 1), ::grammar::base::create(expression, 1, 1), ::grammar::base::create(::grammar::base::terminal(")"), 1, 1), }; checked_expression.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[checked_expression.name] = &checked_expression; } void syntactic_grammar::Configure_unchecked_expression() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("unchecked"), 1, 1), ::grammar::base::create(::grammar::base::terminal("("), 1, 1), ::grammar::base::create(expression, 1, 1), ::grammar::base::create(::grammar::base::terminal(")"), 1, 1), }; unchecked_expression.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[unchecked_expression.name] = &unchecked_expression; } void syntactic_grammar::Configure_unary_expression() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("+"), 1, 1), ::grammar::base::create(unary_expression, 1, 1), }; unary_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("-"), 1, 1), ::grammar::base::create(unary_expression, 1, 1), }; unary_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("!"), 1, 1), ::grammar::base::create(unary_expression, 1, 1), }; unary_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("~"), 1, 1), ::grammar::base::create(unary_expression, 1, 1), }; unary_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("*"), 1, 1), ::grammar::base::create(unary_expression, 1, 1), }; unary_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("&"), 1, 1), ::grammar::base::create(unary_expression, 1, 1), }; unary_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(pre_increment_expression, 1, 1), }; unary_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(pre_decrement_expression, 1, 1), }; unary_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(cast_expression, 1, 1), }; unary_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(pointer_indirection_expression, 1, 1), }; unary_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(addressof_expression, 1, 1), }; unary_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(primary_expression, 1, 1), }; unary_expression.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[unary_expression.name] = &unary_expression; } void syntactic_grammar::Configure_pre_increment_expression() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("++"), 1, 1), ::grammar::base::create(unary_expression, 1, 1), }; pre_increment_expression.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[pre_increment_expression.name] = &pre_increment_expression; } void syntactic_grammar::Configure_pre_decrement_expression() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("--"), 1, 1), ::grammar::base::create(unary_expression, 1, 1), }; pre_decrement_expression.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[pre_decrement_expression.name] = &pre_decrement_expression; } void syntactic_grammar::Configure_cast_expression() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("("), 1, 1), ::grammar::base::create(type, 1, 1), ::grammar::base::create(::grammar::base::terminal(")"), 1, 1), ::grammar::base::create(unary_expression, 1, 1), }; cast_expression.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[cast_expression.name] = &cast_expression; } void syntactic_grammar::Configure_multiplicative_expression() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(unary_expression, 1, 1), ::grammar::base::create(multiplicative_expressions, 0, 1), }; multiplicative_expression.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[multiplicative_expression.name] = &multiplicative_expression; } void syntactic_grammar::Configure_multiplicative_expressions() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("*"), 1, 1), ::grammar::base::create(multiplicative_expression, 1, 1), }; multiplicative_expressions.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("/"), 1, 1), ::grammar::base::create(multiplicative_expression, 1, 1), }; multiplicative_expressions.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("%"), 1, 1), ::grammar::base::create(multiplicative_expression, 1, 1), }; multiplicative_expressions.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[multiplicative_expressions.name] = &multiplicative_expressions; } void syntactic_grammar::Configure_additive_expression() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(multiplicative_expression, 1, 1), ::grammar::base::create(additive_expressions, 0, 1), }; additive_expression.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[additive_expression.name] = &additive_expression; } void syntactic_grammar::Configure_additive_expressions() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("+"), 1, 1), ::grammar::base::create(additive_expression, 1, 1), }; additive_expressions.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("-"), 1, 1), ::grammar::base::create(additive_expression, 1, 1), }; additive_expressions.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[additive_expressions.name] = &additive_expressions; } void syntactic_grammar::Configure_shift_expression() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(additive_expression, 1, 1), ::grammar::base::create(shift_expressions, 0, 1), }; shift_expression.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[shift_expression.name] = &shift_expression; } void syntactic_grammar::Configure_shift_expressions() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("<<"), 1, 1), ::grammar::base::create(shift_expression, 1, 1), }; shift_expressions.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal(">>"), 1, 1), ::grammar::base::create(shift_expression, 1, 1), }; shift_expressions.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[shift_expressions.name] = &shift_expressions; } void syntactic_grammar::Configure_relational_expression() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(shift_expression, 1, 1), ::grammar::base::create(relational_expressions, 0, 1), }; relational_expression.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[relational_expression.name] = &relational_expression; } void syntactic_grammar::Configure_relational_expressions() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("<"), 1, 1), ::grammar::base::create(relational_expression, 1, 1), }; relational_expressions.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal(">"), 1, 1), ::grammar::base::create(relational_expression, 1, 1), }; relational_expressions.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("<="), 1, 1), ::grammar::base::create(relational_expression, 1, 1), }; relational_expressions.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal(">="), 1, 1), ::grammar::base::create(relational_expression, 1, 1), }; relational_expressions.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("is"), 1, 1), ::grammar::base::create(type, 1, 1), }; relational_expressions.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("as"), 1, 1), ::grammar::base::create(type, 1, 1), }; relational_expressions.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[relational_expressions.name] = &relational_expressions; } void syntactic_grammar::Configure_equality_expression() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(relational_expression, 1, 1), ::grammar::base::create(equality_expressions, 0, 1), }; equality_expression.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[equality_expression.name] = &equality_expression; } void syntactic_grammar::Configure_equality_expressions() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("=="), 1, 1), ::grammar::base::create(equality_expression, 1, 1), }; equality_expressions.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("!="), 1, 1), ::grammar::base::create(equality_expression, 1, 1), }; equality_expressions.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[equality_expressions.name] = &equality_expressions; } void syntactic_grammar::Configure_and_expression() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(equality_expression, 1, 1), ::grammar::base::create(and_expressions, 0, 1), }; and_expression.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[and_expression.name] = &and_expression; } void syntactic_grammar::Configure_and_expressions() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("&"), 1, 1), ::grammar::base::create(and_expression, 1, 1), }; and_expressions.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[and_expressions.name] = &and_expressions; } void syntactic_grammar::Configure_exclusive_or_expression() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(and_expression, 1, 1), ::grammar::base::create(exclusive_or_expressions, 0, 1), }; exclusive_or_expression.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[exclusive_or_expression.name] = &exclusive_or_expression; } void syntactic_grammar::Configure_exclusive_or_expressions() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("^"), 1, 1), ::grammar::base::create(exclusive_or_expression, 1, 1), }; exclusive_or_expressions.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[exclusive_or_expressions.name] = &exclusive_or_expressions; } void syntactic_grammar::Configure_inclusive_or_expression() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(exclusive_or_expression, 1, 1), ::grammar::base::create(inclusive_or_expressions, 0, 1), }; inclusive_or_expression.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[inclusive_or_expression.name] = &inclusive_or_expression; } void syntactic_grammar::Configure_inclusive_or_expressions() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("|"), 1, 1), ::grammar::base::create(inclusive_or_expression, 1, 1), }; inclusive_or_expressions.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[inclusive_or_expressions.name] = &inclusive_or_expressions; } void syntactic_grammar::Configure_conditional_and_expression() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(inclusive_or_expression, 1, 1), ::grammar::base::create(conditional_and_expressions, 0, 1), }; conditional_and_expression.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[conditional_and_expression.name] = &conditional_and_expression; } void syntactic_grammar::Configure_conditional_and_expressions() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("&&"), 1, 1), ::grammar::base::create(conditional_and_expression, 1, 1), }; conditional_and_expressions.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[conditional_and_expressions.name] = &conditional_and_expressions; } void syntactic_grammar::Configure_conditional_or_expression() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(conditional_and_expression, 1, 1), ::grammar::base::create(conditional_or_expressions, 0, 1), }; conditional_or_expression.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[conditional_or_expression.name] = &conditional_or_expression; } void syntactic_grammar::Configure_conditional_or_expressions() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("||"), 1, 1), ::grammar::base::create(conditional_or_expression, 1, 1), }; conditional_or_expressions.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[conditional_or_expressions.name] = &conditional_or_expressions; } void syntactic_grammar::Configure_conditional_expression() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(conditional_or_expression, 1, 1), }; conditional_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(conditional_or_expression, 1, 1), ::grammar::base::create(::grammar::base::terminal("?"), 1, 1), ::grammar::base::create(expression, 1, 1), ::grammar::base::create(::grammar::base::terminal(":"), 1, 1), ::grammar::base::create(expression, 1, 1), }; conditional_expression.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[conditional_expression.name] = &conditional_expression; } void syntactic_grammar::Configure_assignment() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(unary_expression, 1, 1), ::grammar::base::create(assignment_operator, 1, 1), ::grammar::base::create(expression, 1, 1), }; assignment.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[assignment.name] = &assignment; } void syntactic_grammar::Configure_assignment_operator() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("="), 1, 1), }; assignment_operator.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("+="), 1, 1), }; assignment_operator.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("-="), 1, 1), }; assignment_operator.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("*="), 1, 1), }; assignment_operator.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("/="), 1, 1), }; assignment_operator.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("%="), 1, 1), }; assignment_operator.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("&="), 1, 1), }; assignment_operator.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("|="), 1, 1), }; assignment_operator.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("^="), 1, 1), }; assignment_operator.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("<<="), 1, 1), }; assignment_operator.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal(">>="), 1, 1), }; assignment_operator.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[assignment_operator.name] = &assignment_operator; } void syntactic_grammar::Configure_expression() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(assignment, 1, 1), }; expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(conditional_expression, 1, 1), }; expression.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[expression.name] = &expression; } void syntactic_grammar::Configure_constant_expression() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(expression, 1, 1), }; constant_expression.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[constant_expression.name] = &constant_expression; } void syntactic_grammar::Configure_boolean_expression() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(expression, 1, 1), }; boolean_expression.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[boolean_expression.name] = &boolean_expression; } void syntactic_grammar::Configure_statement() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(labeled_statement, 1, 1), }; statement.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(declaration_statement, 1, 1), }; statement.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(embedded_statement, 1, 1), }; statement.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[statement.name] = &statement; } void syntactic_grammar::Configure_embedded_statement() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(block, 1, 1), }; embedded_statement.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(expression_statement, 1, 1), }; embedded_statement.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(empty_statement, 1, 1), }; embedded_statement.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(selection_statement, 1, 1), }; embedded_statement.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(iteration_statement, 1, 1), }; embedded_statement.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(jump_statement, 1, 1), }; embedded_statement.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(try_statement, 1, 1), }; embedded_statement.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(checked_statement, 1, 1), }; embedded_statement.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(unchecked_statement, 1, 1), }; embedded_statement.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(lock_statement, 1, 1), }; embedded_statement.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(using_statement, 1, 1), }; embedded_statement.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(unsafe_statement, 1, 1), }; embedded_statement.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(fixed_statement, 1, 1), }; embedded_statement.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[embedded_statement.name] = &embedded_statement; } void syntactic_grammar::Configure_block() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("{"), 1, 1), ::grammar::base::create(statement_list, 0, 1), ::grammar::base::create(::grammar::base::terminal("}"), 1, 1), }; block.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[block.name] = █ } void syntactic_grammar::Configure_statement_list() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(statement, 1, ::grammar::infinity()), }; statement_list.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[statement_list.name] = &statement_list; } void syntactic_grammar::Configure_empty_statement() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal(";"), 1, 1), }; empty_statement.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[empty_statement.name] = &empty_statement; } void syntactic_grammar::Configure_labeled_statement() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(identifier, 1, 1), ::grammar::base::create(::grammar::base::terminal(":"), 1, 1), ::grammar::base::create(statement, 1, 1), }; labeled_statement.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[labeled_statement.name] = &labeled_statement; } void syntactic_grammar::Configure_declaration_statement() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(local_variable_declaration, 1, 1), ::grammar::base::create(::grammar::base::terminal(";"), 1, 1), }; declaration_statement.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(local_constant_declaration, 1, 1), ::grammar::base::create(::grammar::base::terminal(";"), 1, 1), }; declaration_statement.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[declaration_statement.name] = &declaration_statement; } void syntactic_grammar::Configure_local_variable_declaration() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(type, 1, 1), ::grammar::base::create(local_variable_declarators, 1, 1), }; local_variable_declaration.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[local_variable_declaration.name] = &local_variable_declaration; } void syntactic_grammar::Configure_local_variable_declarators() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(local_variable_declarator, 1, 1), ::grammar::base::create(::grammar::base::terminal(","), 1, 1), ::grammar::base::create(local_variable_declarators, 1, 1), }; local_variable_declarators.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(local_variable_declarator, 1, 1), }; local_variable_declarators.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[local_variable_declarators.name] = &local_variable_declarators; } void syntactic_grammar::Configure_local_variable_declarator() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(identifier, 1, 1), ::grammar::base::create(::grammar::base::terminal("="), 1, 1), ::grammar::base::create(local_variable_initializer, 1, 1), }; local_variable_declarator.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(identifier, 1, 1), }; local_variable_declarator.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[local_variable_declarator.name] = &local_variable_declarator; } void syntactic_grammar::Configure_local_variable_initializer() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(expression, 1, 1), }; local_variable_initializer.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(array_initializer, 1, 1), }; local_variable_initializer.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(stackalloc_initializer, 1, 1), }; local_variable_initializer.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[local_variable_initializer.name] = &local_variable_initializer; } void syntactic_grammar::Configure_local_constant_declaration() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("const"), 1, 1), ::grammar::base::create(type, 1, 1), ::grammar::base::create(constant_declarators, 1, 1), }; local_constant_declaration.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[local_constant_declaration.name] = &local_constant_declaration; } void syntactic_grammar::Configure_expression_statement() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(statement_expression, 1, 1), ::grammar::base::create(::grammar::base::terminal(";"), 1, 1), }; expression_statement.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[expression_statement.name] = &expression_statement; } void syntactic_grammar::Configure_statement_expression() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(invocation_expression, 1, 1), }; statement_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(object_creation_expression, 1, 1), }; statement_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(assignment, 1, 1), }; statement_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(post_increment_expression, 1, 1), }; statement_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(post_decrement_expression, 1, 1), }; statement_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(pre_increment_expression, 1, 1), }; statement_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(pre_decrement_expression, 1, 1), }; statement_expression.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[statement_expression.name] = &statement_expression; } void syntactic_grammar::Configure_selection_statement() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(if_statement, 1, 1), }; selection_statement.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(switch_statement, 1, 1), }; selection_statement.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[selection_statement.name] = &selection_statement; } void syntactic_grammar::Configure_if_statement() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("if"), 1, 1), ::grammar::base::create(::grammar::base::terminal("("), 1, 1), ::grammar::base::create(boolean_expression, 1, 1), ::grammar::base::create(::grammar::base::terminal(")"), 1, 1), ::grammar::base::create(embedded_statement, 1, 1), ::grammar::base::create(::grammar::base::terminal("else"), 1, 1), ::grammar::base::create(embedded_statement, 1, 1), }; if_statement.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("if"), 1, 1), ::grammar::base::create(::grammar::base::terminal("("), 1, 1), ::grammar::base::create(boolean_expression, 1, 1), ::grammar::base::create(::grammar::base::terminal(")"), 1, 1), ::grammar::base::create(embedded_statement, 1, 1), }; if_statement.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[if_statement.name] = &if_statement; } void syntactic_grammar::Configure_switch_statement() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("switch"), 1, 1), ::grammar::base::create(::grammar::base::terminal("("), 1, 1), ::grammar::base::create(expression, 1, 1), ::grammar::base::create(::grammar::base::terminal(")"), 1, 1), ::grammar::base::create(switch_block, 1, 1), }; switch_statement.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[switch_statement.name] = &switch_statement; } void syntactic_grammar::Configure_switch_block() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("{"), 1, 1), ::grammar::base::create(switch_sections, 0, 1), ::grammar::base::create(::grammar::base::terminal("}"), 1, 1), }; switch_block.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[switch_block.name] = &switch_block; } void syntactic_grammar::Configure_switch_sections() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(switch_section, 1, ::grammar::infinity()), }; switch_sections.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[switch_sections.name] = &switch_sections; } void syntactic_grammar::Configure_switch_section() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(switch_labels, 1, 1), ::grammar::base::create(statement_list, 1, 1), }; switch_section.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[switch_section.name] = &switch_section; } void syntactic_grammar::Configure_switch_labels() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(switch_label, 1, ::grammar::infinity()), }; switch_labels.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[switch_labels.name] = &switch_labels; } void syntactic_grammar::Configure_switch_label() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("case"), 1, 1), ::grammar::base::create(constant_expression, 1, 1), ::grammar::base::create(::grammar::base::terminal(":"), 1, 1), }; switch_label.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("default"), 1, 1), ::grammar::base::create(::grammar::base::terminal(":"), 1, 1), }; switch_label.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[switch_label.name] = &switch_label; } void syntactic_grammar::Configure_iteration_statement() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(while_statement, 1, 1), }; iteration_statement.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(do_statement, 1, 1), }; iteration_statement.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(for_statement, 1, 1), }; iteration_statement.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(foreach_statement, 1, 1), }; iteration_statement.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[iteration_statement.name] = &iteration_statement; } void syntactic_grammar::Configure_while_statement() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("while"), 1, 1), ::grammar::base::create(::grammar::base::terminal("("), 1, 1), ::grammar::base::create(boolean_expression, 1, 1), ::grammar::base::create(::grammar::base::terminal(")"), 1, 1), ::grammar::base::create(embedded_statement, 1, 1), }; while_statement.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[while_statement.name] = &while_statement; } void syntactic_grammar::Configure_do_statement() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("do"), 1, 1), ::grammar::base::create(embedded_statement, 1, 1), ::grammar::base::create(::grammar::base::terminal("while"), 1, 1), ::grammar::base::create(::grammar::base::terminal("("), 1, 1), ::grammar::base::create(boolean_expression, 1, 1), ::grammar::base::create(::grammar::base::terminal(")"), 1, 1), ::grammar::base::create(::grammar::base::terminal(";"), 1, 1), }; do_statement.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[do_statement.name] = &do_statement; } void syntactic_grammar::Configure_for_statement() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("for"), 1, 1), ::grammar::base::create(::grammar::base::terminal("("), 1, 1), ::grammar::base::create(for_initializer, 0, 1), ::grammar::base::create(::grammar::base::terminal(";"), 1, 1), ::grammar::base::create(for_condition, 0, 1), ::grammar::base::create(::grammar::base::terminal(";"), 1, 1), ::grammar::base::create(for_iterator, 0, 1), ::grammar::base::create(::grammar::base::terminal(")"), 1, 1), ::grammar::base::create(embedded_statement, 1, 1), }; for_statement.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[for_statement.name] = &for_statement; } void syntactic_grammar::Configure_for_initializer() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(local_variable_declaration, 1, 1), }; for_initializer.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(statement_expression_list, 1, 1), }; for_initializer.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[for_initializer.name] = &for_initializer; } void syntactic_grammar::Configure_for_condition() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(boolean_expression, 1, 1), }; for_condition.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[for_condition.name] = &for_condition; } void syntactic_grammar::Configure_for_iterator() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(statement_expression_list, 1, 1), }; for_iterator.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[for_iterator.name] = &for_iterator; } void syntactic_grammar::Configure_statement_expression_list() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(statement_expression, 1, 1), ::grammar::base::create(::grammar::base::terminal(","), 1, 1), ::grammar::base::create(statement_expression_list, 1, 1), }; statement_expression_list.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(statement_expression, 1, 1), }; statement_expression_list.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[statement_expression_list.name] = &statement_expression_list; } void syntactic_grammar::Configure_foreach_statement() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("foreach"), 1, 1), ::grammar::base::create(::grammar::base::terminal("("), 1, 1), ::grammar::base::create(type, 1, 1), ::grammar::base::create(identifier, 1, 1), ::grammar::base::create(::grammar::base::terminal("in"), 1, 1), ::grammar::base::create(expression, 1, 1), ::grammar::base::create(::grammar::base::terminal(")"), 1, 1), ::grammar::base::create(embedded_statement, 1, 1), }; foreach_statement.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[foreach_statement.name] = &foreach_statement; } void syntactic_grammar::Configure_jump_statement() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(break_statement, 1, 1), }; jump_statement.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(continue_statement, 1, 1), }; jump_statement.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(goto_statement, 1, 1), }; jump_statement.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(return_statement, 1, 1), }; jump_statement.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(throw_statement, 1, 1), }; jump_statement.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[jump_statement.name] = &jump_statement; } void syntactic_grammar::Configure_break_statement() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("break"), 1, 1), ::grammar::base::create(::grammar::base::terminal(";"), 1, 1), }; break_statement.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[break_statement.name] = &break_statement; } void syntactic_grammar::Configure_continue_statement() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("continue"), 1, 1), ::grammar::base::create(::grammar::base::terminal(";"), 1, 1), }; continue_statement.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[continue_statement.name] = &continue_statement; } void syntactic_grammar::Configure_goto_statement() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("goto"), 1, 1), ::grammar::base::create(identifier, 1, 1), ::grammar::base::create(::grammar::base::terminal(";"), 1, 1), }; goto_statement.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("goto"), 1, 1), ::grammar::base::create(::grammar::base::terminal("case"), 1, 1), ::grammar::base::create(constant_expression, 1, 1), ::grammar::base::create(::grammar::base::terminal(";"), 1, 1), }; goto_statement.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("goto"), 1, 1), ::grammar::base::create(::grammar::base::terminal("default"), 1, 1), ::grammar::base::create(::grammar::base::terminal(";"), 1, 1), }; goto_statement.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[goto_statement.name] = &goto_statement; } void syntactic_grammar::Configure_return_statement() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("return"), 1, 1), ::grammar::base::create(expression, 0, 1), ::grammar::base::create(::grammar::base::terminal(";"), 1, 1), }; return_statement.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[return_statement.name] = &return_statement; } void syntactic_grammar::Configure_throw_statement() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("throw"), 1, 1), ::grammar::base::create(expression, 0, 1), ::grammar::base::create(::grammar::base::terminal(";"), 1, 1), }; throw_statement.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[throw_statement.name] = &throw_statement; } void syntactic_grammar::Configure_try_statement() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("try"), 1, 1), ::grammar::base::create(block, 1, 1), ::grammar::base::create(catch_clauses, 1, 1), ::grammar::base::create(finally_clause, 0, 1), }; try_statement.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("try"), 1, 1), ::grammar::base::create(block, 1, 1), ::grammar::base::create(finally_clause, 1, 1), }; try_statement.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[try_statement.name] = &try_statement; } void syntactic_grammar::Configure_catch_clauses() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(specific_catch_clauses, 1, 1), ::grammar::base::create(general_catch_clause, 0, 1), }; catch_clauses.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(specific_catch_clauses, 0, 1), ::grammar::base::create(general_catch_clause, 1, 1), }; catch_clauses.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[catch_clauses.name] = &catch_clauses; } void syntactic_grammar::Configure_specific_catch_clauses() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(specific_catch_clause, 1, ::grammar::infinity()), }; specific_catch_clauses.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[specific_catch_clauses.name] = &specific_catch_clauses; } void syntactic_grammar::Configure_specific_catch_clause() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("catch"), 1, 1), ::grammar::base::create(::grammar::base::terminal("("), 1, 1), ::grammar::base::create(class_type, 1, 1), ::grammar::base::create(identifier, 0, 1), ::grammar::base::create(::grammar::base::terminal(")"), 1, 1), ::grammar::base::create(block, 1, 1), }; specific_catch_clause.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[specific_catch_clause.name] = &specific_catch_clause; } void syntactic_grammar::Configure_general_catch_clause() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("catch"), 1, 1), ::grammar::base::create(block, 1, 1), }; general_catch_clause.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[general_catch_clause.name] = &general_catch_clause; } void syntactic_grammar::Configure_finally_clause() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("finally"), 1, 1), ::grammar::base::create(block, 1, 1), }; finally_clause.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[finally_clause.name] = &finally_clause; } void syntactic_grammar::Configure_checked_statement() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("checked"), 1, 1), ::grammar::base::create(block, 1, 1), }; checked_statement.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[checked_statement.name] = &checked_statement; } void syntactic_grammar::Configure_unchecked_statement() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("unchecked"), 1, 1), ::grammar::base::create(block, 1, 1), }; unchecked_statement.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[unchecked_statement.name] = &unchecked_statement; } void syntactic_grammar::Configure_lock_statement() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("lock"), 1, 1), ::grammar::base::create(::grammar::base::terminal("("), 1, 1), ::grammar::base::create(expression, 1, 1), ::grammar::base::create(::grammar::base::terminal(")"), 1, 1), ::grammar::base::create(embedded_statement, 1, 1), }; lock_statement.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[lock_statement.name] = &lock_statement; } void syntactic_grammar::Configure_using_statement() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("using"), 1, 1), ::grammar::base::create(::grammar::base::terminal("("), 1, 1), ::grammar::base::create(resource_acquisition, 1, 1), ::grammar::base::create(::grammar::base::terminal(")"), 1, 1), ::grammar::base::create(embedded_statement, 1, 1), }; using_statement.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[using_statement.name] = &using_statement; } void syntactic_grammar::Configure_resource_acquisition() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(local_variable_declaration, 1, 1), }; resource_acquisition.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(expression, 1, 1), }; resource_acquisition.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[resource_acquisition.name] = &resource_acquisition; } void syntactic_grammar::Configure_compilation_unit() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(using_directives, 0, 1), ::grammar::base::create(global_attributes, 0, 1), ::grammar::base::create(namespace_member_declarations, 0, 1), }; compilation_unit.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[compilation_unit.name] = &compilation_unit; } void syntactic_grammar::Configure_namespace_declaration() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("namespace"), 1, 1), ::grammar::base::create(qualified_identifier, 1, 1), ::grammar::base::create(namespace_body, 1, 1), ::grammar::base::create(::grammar::base::terminal(";"), 0, 1), }; namespace_declaration.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[namespace_declaration.name] = &namespace_declaration; } void syntactic_grammar::Configure_qualified_identifier() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(identifier, 1, 1), ::grammar::base::create(identifiers, 0, 1), }; qualified_identifier.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[qualified_identifier.name] = &qualified_identifier; } void syntactic_grammar::Configure_identifiers() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("."), 1, 1), ::grammar::base::create(qualified_identifier, 1, 1), }; identifiers.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[identifiers.name] = &identifiers; } void syntactic_grammar::Configure_namespace_body() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("{"), 1, 1), ::grammar::base::create(using_directives, 0, 1), ::grammar::base::create(namespace_member_declarations, 0, 1), ::grammar::base::create(::grammar::base::terminal("}"), 1, 1), }; namespace_body.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[namespace_body.name] = &namespace_body; } void syntactic_grammar::Configure_using_directives() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(using_directive, 1, ::grammar::infinity()), }; using_directives.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[using_directives.name] = &using_directives; } void syntactic_grammar::Configure_using_directive() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(using_alias_directive, 1, 1), }; using_directive.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(using_namespace_directive, 1, 1), }; using_directive.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[using_directive.name] = &using_directive; } void syntactic_grammar::Configure_using_alias_directive() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("using"), 1, 1), ::grammar::base::create(identifier, 1, 1), ::grammar::base::create(::grammar::base::terminal("="), 1, 1), ::grammar::base::create(namespace_or_type_name, 1, 1), ::grammar::base::create(::grammar::base::terminal(";"), 1, 1), }; using_alias_directive.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[using_alias_directive.name] = &using_alias_directive; } void syntactic_grammar::Configure_using_namespace_directive() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("using"), 1, 1), ::grammar::base::create(namespace_name, 1, 1), ::grammar::base::create(::grammar::base::terminal(";"), 1, 1), }; using_namespace_directive.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[using_namespace_directive.name] = &using_namespace_directive; } void syntactic_grammar::Configure_namespace_member_declarations() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(namespace_member_declaration, 1, ::grammar::infinity()), }; namespace_member_declarations.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[namespace_member_declarations.name] = &namespace_member_declarations; } void syntactic_grammar::Configure_namespace_member_declaration() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(namespace_declaration, 1, 1), }; namespace_member_declaration.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(type_declaration, 1, 1), }; namespace_member_declaration.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[namespace_member_declaration.name] = &namespace_member_declaration; } void syntactic_grammar::Configure_type_declaration() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(class_declaration, 1, 1), }; type_declaration.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(struct_declaration, 1, 1), }; type_declaration.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(interface_declaration, 1, 1), }; type_declaration.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(enum_declaration, 1, 1), }; type_declaration.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(delegate_declaration, 1, 1), }; type_declaration.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[type_declaration.name] = &type_declaration; } void syntactic_grammar::Configure_class_declaration() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(attributes, 0, 1), ::grammar::base::create(class_modifiers, 0, 1), ::grammar::base::create(::grammar::base::terminal("class"), 1, 1), ::grammar::base::create(identifier, 1, 1), ::grammar::base::create(class_base, 0, 1), ::grammar::base::create(class_body, 1, 1), ::grammar::base::create(::grammar::base::terminal(";"), 0, 1), }; class_declaration.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[class_declaration.name] = &class_declaration; } void syntactic_grammar::Configure_class_modifiers() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(class_modifier, 1, ::grammar::infinity()), }; class_modifiers.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[class_modifiers.name] = &class_modifiers; } void syntactic_grammar::Configure_class_modifier() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("new"), 1, 1), }; class_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("public"), 1, 1), }; class_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("protected"), 1, 1), }; class_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("internal"), 1, 1), }; class_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("private"), 1, 1), }; class_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("abstract"), 1, 1), }; class_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("sealed"), 1, 1), }; class_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("unsafe"), 1, 1), }; class_modifier.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[class_modifier.name] = &class_modifier; } void syntactic_grammar::Configure_class_base() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal(":"), 1, 1), ::grammar::base::create(base_type, 1, 1), ::grammar::base::create(interface_type_list, 0, ::grammar::infinity()), }; class_base.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[class_base.name] = &class_base; } void syntactic_grammar::Configure_base_type() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("object"), 1, 1), }; base_type.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(type_name, 1, 1), }; base_type.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[base_type.name] = &base_type; } void syntactic_grammar::Configure_interface_type_list() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal(","), 1, 1), ::grammar::base::create(interface_type, 1, 1), }; interface_type_list.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[interface_type_list.name] = &interface_type_list; } void syntactic_grammar::Configure_class_body() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("{"), 1, 1), ::grammar::base::create(class_member_declarations, 0, 1), ::grammar::base::create(::grammar::base::terminal("}"), 1, 1), }; class_body.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[class_body.name] = &class_body; } void syntactic_grammar::Configure_class_member_declarations() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(class_member_declaration, 1, ::grammar::infinity()), }; class_member_declarations.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[class_member_declarations.name] = &class_member_declarations; } void syntactic_grammar::Configure_class_member_declaration() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(constant_declaration, 1, 1), }; class_member_declaration.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(field_declaration, 1, 1), }; class_member_declaration.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(method_declaration, 1, 1), }; class_member_declaration.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(property_declaration, 1, 1), }; class_member_declaration.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(event_declaration, 1, 1), }; class_member_declaration.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(indexer_declaration, 1, 1), }; class_member_declaration.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(operator_declaration, 1, 1), }; class_member_declaration.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(constructor_declaration, 1, 1), }; class_member_declaration.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(destructor_declaration, 1, 1), }; class_member_declaration.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(static_constructor_declaration, 1, 1), }; class_member_declaration.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(type_declaration, 1, 1), }; class_member_declaration.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[class_member_declaration.name] = &class_member_declaration; } void syntactic_grammar::Configure_constant_declaration() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(attributes, 0, 1), ::grammar::base::create(constant_modifiers, 0, 1), ::grammar::base::create(::grammar::base::terminal("const"), 1, 1), ::grammar::base::create(type, 1, 1), ::grammar::base::create(constant_declarators, 1, 1), ::grammar::base::create(::grammar::base::terminal(";"), 1, 1), }; constant_declaration.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[constant_declaration.name] = &constant_declaration; } void syntactic_grammar::Configure_constant_modifiers() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(constant_modifier, 1, ::grammar::infinity()), }; constant_modifiers.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[constant_modifiers.name] = &constant_modifiers; } void syntactic_grammar::Configure_constant_modifier() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("new"), 1, 1), }; constant_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("public"), 1, 1), }; constant_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("protected"), 1, 1), }; constant_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("internal"), 1, 1), }; constant_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("private"), 1, 1), }; constant_modifier.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[constant_modifier.name] = &constant_modifier; } void syntactic_grammar::Configure_constant_declarators() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(constant_declarator, 1, 1), ::grammar::base::create(::grammar::base::terminal(","), 1, 1), ::grammar::base::create(constant_declarators, 1, 1), }; constant_declarators.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(constant_declarator, 1, 1), }; constant_declarators.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[constant_declarators.name] = &constant_declarators; } void syntactic_grammar::Configure_constant_declarator() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(identifier, 1, 1), ::grammar::base::create(::grammar::base::terminal("="), 1, 1), ::grammar::base::create(constant_expression, 1, 1), }; constant_declarator.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[constant_declarator.name] = &constant_declarator; } void syntactic_grammar::Configure_field_declaration() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(attributes, 0, 1), ::grammar::base::create(field_modifiers, 0, 1), ::grammar::base::create(type, 1, 1), ::grammar::base::create(variable_declarators, 1, 1), ::grammar::base::create(::grammar::base::terminal(";"), 1, 1), }; field_declaration.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[field_declaration.name] = &field_declaration; } void syntactic_grammar::Configure_field_modifiers() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(field_modifier, 1, ::grammar::infinity()), }; field_modifiers.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[field_modifiers.name] = &field_modifiers; } void syntactic_grammar::Configure_field_modifier() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("new"), 1, 1), }; field_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("public"), 1, 1), }; field_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("protected"), 1, 1), }; field_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("internal"), 1, 1), }; field_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("private"), 1, 1), }; field_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("static"), 1, 1), }; field_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("readonly"), 1, 1), }; field_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("volatile"), 1, 1), }; field_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("unsafe"), 1, 1), }; field_modifier.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[field_modifier.name] = &field_modifier; } void syntactic_grammar::Configure_variable_declarators() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(variable_declarator, 1, 1), ::grammar::base::create(variable_declarator_list, 0, 1), }; variable_declarators.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[variable_declarators.name] = &variable_declarators; } void syntactic_grammar::Configure_variable_declarator_list() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal(","), 1, 1), ::grammar::base::create(variable_declarators, 1, 1), }; variable_declarator_list.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[variable_declarator_list.name] = &variable_declarator_list; } void syntactic_grammar::Configure_variable_declarator() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(identifier, 1, 1), ::grammar::base::create(::grammar::base::terminal("="), 1, 1), ::grammar::base::create(variable_initializer, 1, 1), }; variable_declarator.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(identifier, 1, 1), }; variable_declarator.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[variable_declarator.name] = &variable_declarator; } void syntactic_grammar::Configure_variable_initializer() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(expression, 1, 1), }; variable_initializer.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(array_initializer, 1, 1), }; variable_initializer.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[variable_initializer.name] = &variable_initializer; } void syntactic_grammar::Configure_method_declaration() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(method_header, 1, 1), ::grammar::base::create(method_body, 1, 1), }; method_declaration.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[method_declaration.name] = &method_declaration; } void syntactic_grammar::Configure_method_header() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(attributes, 0, 1), ::grammar::base::create(method_modifiers, 0, 1), ::grammar::base::create(return_type, 1, 1), ::grammar::base::create(member_name, 1, 1), ::grammar::base::create(::grammar::base::terminal("("), 1, 1), ::grammar::base::create(formal_parameter_list, 0, 1), ::grammar::base::create(::grammar::base::terminal(")"), 1, 1), }; method_header.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[method_header.name] = &method_header; } void syntactic_grammar::Configure_method_modifiers() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(method_modifier, 1, ::grammar::infinity()), }; method_modifiers.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[method_modifiers.name] = &method_modifiers; } void syntactic_grammar::Configure_method_modifier() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("new"), 1, 1), }; method_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("public"), 1, 1), }; method_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("protected"), 1, 1), }; method_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("internal"), 1, 1), }; method_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("private"), 1, 1), }; method_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("static"), 1, 1), }; method_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("virtual"), 1, 1), }; method_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("sealed"), 1, 1), }; method_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("override"), 1, 1), }; method_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("abstract"), 1, 1), }; method_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("extern"), 1, 1), }; method_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("unsafe"), 1, 1), }; method_modifier.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[method_modifier.name] = &method_modifier; } void syntactic_grammar::Configure_return_type() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(type, 1, 1), }; return_type.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("void"), 1, 1), }; return_type.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[return_type.name] = &return_type; } void syntactic_grammar::Configure_member_name() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(identifier, 1, 1), ::grammar::base::create(member_access_suffix, 0, ::grammar::infinity()), }; member_name.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[member_name.name] = &member_name; } void syntactic_grammar::Configure_method_body() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(block, 1, 1), }; method_body.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal(";"), 1, 1), }; method_body.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[method_body.name] = &method_body; } void syntactic_grammar::Configure_formal_parameter_list() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(fixed_parameters, 1, 1), ::grammar::base::create(::grammar::base::terminal(","), 1, 1), ::grammar::base::create(parameter_array, 1, 1), }; formal_parameter_list.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(fixed_parameters, 1, 1), }; formal_parameter_list.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(parameter_array, 1, 1), }; formal_parameter_list.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[formal_parameter_list.name] = &formal_parameter_list; } void syntactic_grammar::Configure_fixed_parameters() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(fixed_parameter, 1, 1), ::grammar::base::create(::grammar::base::terminal(","), 1, 1), ::grammar::base::create(fixed_parameters, 1, 1), }; fixed_parameters.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(fixed_parameter, 1, 1), }; fixed_parameters.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[fixed_parameters.name] = &fixed_parameters; } void syntactic_grammar::Configure_fixed_parameter() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(attributes, 0, 1), ::grammar::base::create(parameter_modifier, 0, 1), ::grammar::base::create(type, 1, 1), ::grammar::base::create(identifier, 1, 1), }; fixed_parameter.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[fixed_parameter.name] = &fixed_parameter; } void syntactic_grammar::Configure_parameter_modifier() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("ref"), 1, 1), }; parameter_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("out"), 1, 1), }; parameter_modifier.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[parameter_modifier.name] = ¶meter_modifier; } void syntactic_grammar::Configure_parameter_array() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(attributes, 0, 1), ::grammar::base::create(::grammar::base::terminal("params"), 1, 1), ::grammar::base::create(array_type, 1, 1), ::grammar::base::create(identifier, 1, 1), }; parameter_array.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[parameter_array.name] = ¶meter_array; } void syntactic_grammar::Configure_property_declaration() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(attributes, 0, 1), ::grammar::base::create(property_modifiers, 0, 1), ::grammar::base::create(type, 1, 1), ::grammar::base::create(member_name, 1, 1), ::grammar::base::create(::grammar::base::terminal("{"), 1, 1), ::grammar::base::create(accessor_declarations, 1, 1), ::grammar::base::create(::grammar::base::terminal("}"), 1, 1), }; property_declaration.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[property_declaration.name] = &property_declaration; } void syntactic_grammar::Configure_property_modifiers() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(property_modifier, 1, ::grammar::infinity()), }; property_modifiers.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[property_modifiers.name] = &property_modifiers; } void syntactic_grammar::Configure_property_modifier() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("new"), 1, 1), }; property_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("public"), 1, 1), }; property_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("protected"), 1, 1), }; property_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("internal"), 1, 1), }; property_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("private"), 1, 1), }; property_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("static"), 1, 1), }; property_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("virtual"), 1, 1), }; property_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("sealed"), 1, 1), }; property_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("override"), 1, 1), }; property_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("abstract"), 1, 1), }; property_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("extern"), 1, 1), }; property_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("unsafe"), 1, 1), }; property_modifier.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[property_modifier.name] = &property_modifier; } void syntactic_grammar::Configure_accessor_declarations() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(get_accessor_declaration, 1, 1), ::grammar::base::create(set_accessor_declaration, 0, 1), }; accessor_declarations.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(set_accessor_declaration, 1, 1), ::grammar::base::create(get_accessor_declaration, 0, 1), }; accessor_declarations.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[accessor_declarations.name] = &accessor_declarations; } void syntactic_grammar::Configure_get_accessor_declaration() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(attributes, 0, 1), ::grammar::base::create(::grammar::base::terminal("get"), 1, 1), ::grammar::base::create(accessor_body, 1, 1), }; get_accessor_declaration.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[get_accessor_declaration.name] = &get_accessor_declaration; } void syntactic_grammar::Configure_set_accessor_declaration() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(attributes, 0, 1), ::grammar::base::create(::grammar::base::terminal("set"), 1, 1), ::grammar::base::create(accessor_body, 1, 1), }; set_accessor_declaration.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[set_accessor_declaration.name] = &set_accessor_declaration; } void syntactic_grammar::Configure_accessor_body() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(block, 1, 1), }; accessor_body.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal(";"), 1, 1), }; accessor_body.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[accessor_body.name] = &accessor_body; } void syntactic_grammar::Configure_event_declaration() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(attributes, 0, 1), ::grammar::base::create(event_modifiers, 0, 1), ::grammar::base::create(::grammar::base::terminal("event"), 1, 1), ::grammar::base::create(type, 1, 1), ::grammar::base::create(variable_declarators, 1, 1), ::grammar::base::create(::grammar::base::terminal(";"), 1, 1), }; event_declaration.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(attributes, 0, 1), ::grammar::base::create(event_modifiers, 0, 1), ::grammar::base::create(::grammar::base::terminal("event"), 1, 1), ::grammar::base::create(type, 1, 1), ::grammar::base::create(member_name, 1, 1), ::grammar::base::create(::grammar::base::terminal("{"), 1, 1), ::grammar::base::create(event_accessor_declarations, 1, 1), ::grammar::base::create(::grammar::base::terminal("}"), 1, 1), }; event_declaration.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[event_declaration.name] = &event_declaration; } void syntactic_grammar::Configure_event_modifiers() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(event_modifier, 1, ::grammar::infinity()), }; event_modifiers.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[event_modifiers.name] = &event_modifiers; } void syntactic_grammar::Configure_event_modifier() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("new"), 1, 1), }; event_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("public"), 1, 1), }; event_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("protected"), 1, 1), }; event_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("internal"), 1, 1), }; event_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("private"), 1, 1), }; event_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("static"), 1, 1), }; event_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("virtual"), 1, 1), }; event_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("sealed"), 1, 1), }; event_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("override"), 1, 1), }; event_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("abstract"), 1, 1), }; event_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("extern"), 1, 1), }; event_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("unsafe"), 1, 1), }; event_modifier.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[event_modifier.name] = &event_modifier; } void syntactic_grammar::Configure_event_accessor_declarations() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(add_accessor_declaration, 1, 1), ::grammar::base::create(remove_accessor_declaration, 1, 1), }; event_accessor_declarations.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(remove_accessor_declaration, 1, 1), ::grammar::base::create(add_accessor_declaration, 1, 1), }; event_accessor_declarations.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[event_accessor_declarations.name] = &event_accessor_declarations; } void syntactic_grammar::Configure_add_accessor_declaration() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(attributes, 0, 1), ::grammar::base::create(::grammar::base::terminal("add"), 1, 1), ::grammar::base::create(block, 1, 1), }; add_accessor_declaration.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[add_accessor_declaration.name] = &add_accessor_declaration; } void syntactic_grammar::Configure_remove_accessor_declaration() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(attributes, 0, 1), ::grammar::base::create(::grammar::base::terminal("remove"), 1, 1), ::grammar::base::create(block, 1, 1), }; remove_accessor_declaration.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[remove_accessor_declaration.name] = &remove_accessor_declaration; } void syntactic_grammar::Configure_indexer_declaration() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(attributes, 0, 1), ::grammar::base::create(indexer_modifiers, 0, 1), ::grammar::base::create(indexer_declarator, 1, 1), ::grammar::base::create(::grammar::base::terminal("{"), 1, 1), ::grammar::base::create(accessor_declarations, 1, 1), ::grammar::base::create(::grammar::base::terminal("}"), 1, 1), }; indexer_declaration.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[indexer_declaration.name] = &indexer_declaration; } void syntactic_grammar::Configure_indexer_modifiers() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(indexer_modifier, 1, ::grammar::infinity()), }; indexer_modifiers.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[indexer_modifiers.name] = &indexer_modifiers; } void syntactic_grammar::Configure_indexer_modifier() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("new"), 1, 1), }; indexer_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("public"), 1, 1), }; indexer_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("protected"), 1, 1), }; indexer_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("internal"), 1, 1), }; indexer_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("private"), 1, 1), }; indexer_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("virtual"), 1, 1), }; indexer_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("sealed"), 1, 1), }; indexer_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("override"), 1, 1), }; indexer_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("abstract"), 1, 1), }; indexer_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("extern"), 1, 1), }; indexer_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("unsafe"), 1, 1), }; indexer_modifier.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[indexer_modifier.name] = &indexer_modifier; } void syntactic_grammar::Configure_indexer_declarator() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(type, 1, 1), ::grammar::base::create(::grammar::base::terminal("this"), 1, 1), ::grammar::base::create(::grammar::base::terminal("["), 1, 1), ::grammar::base::create(formal_parameter_list, 1, 1), ::grammar::base::create(::grammar::base::terminal("]"), 1, 1), }; indexer_declarator.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(type, 1, 1), ::grammar::base::create(interface_type, 1, 1), ::grammar::base::create(::grammar::base::terminal("."), 1, 1), ::grammar::base::create(::grammar::base::terminal("this"), 1, 1), ::grammar::base::create(::grammar::base::terminal("["), 1, 1), ::grammar::base::create(formal_parameter_list, 1, 1), ::grammar::base::create(::grammar::base::terminal("]"), 1, 1), }; indexer_declarator.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[indexer_declarator.name] = &indexer_declarator; } void syntactic_grammar::Configure_operator_declaration() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(attributes, 0, 1), ::grammar::base::create(operator_modifiers, 1, 1), ::grammar::base::create(operator_declarator, 1, 1), ::grammar::base::create(operator_body, 1, 1), }; operator_declaration.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[operator_declaration.name] = &operator_declaration; } void syntactic_grammar::Configure_operator_modifiers() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(operator_modifier, 1, ::grammar::infinity()), }; operator_modifiers.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[operator_modifiers.name] = &operator_modifiers; } void syntactic_grammar::Configure_operator_modifier() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("public"), 1, 1), }; operator_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("static"), 1, 1), }; operator_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("extern"), 1, 1), }; operator_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("unsafe"), 1, 1), }; operator_modifier.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[operator_modifier.name] = &operator_modifier; } void syntactic_grammar::Configure_operator_declarator() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(unary_operator_declarator, 1, 1), }; operator_declarator.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(binary_operator_declarator, 1, 1), }; operator_declarator.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(conversion_operator_declarator, 1, 1), }; operator_declarator.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[operator_declarator.name] = &operator_declarator; } void syntactic_grammar::Configure_unary_operator_declarator() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(type, 1, 1), ::grammar::base::create(::grammar::base::terminal("operator"), 1, 1), ::grammar::base::create(overloadable_unary_operator, 1, 1), ::grammar::base::create(::grammar::base::terminal("("), 1, 1), ::grammar::base::create(type, 1, 1), ::grammar::base::create(identifier, 1, 1), ::grammar::base::create(::grammar::base::terminal(")"), 1, 1), }; unary_operator_declarator.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[unary_operator_declarator.name] = &unary_operator_declarator; } void syntactic_grammar::Configure_overloadable_unary_operator() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("+"), 1, 1), }; overloadable_unary_operator.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("-"), 1, 1), }; overloadable_unary_operator.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("!"), 1, 1), }; overloadable_unary_operator.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("~"), 1, 1), }; overloadable_unary_operator.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("++"), 1, 1), }; overloadable_unary_operator.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("--"), 1, 1), }; overloadable_unary_operator.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("true"), 1, 1), }; overloadable_unary_operator.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("false"), 1, 1), }; overloadable_unary_operator.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[overloadable_unary_operator.name] = &overloadable_unary_operator; } void syntactic_grammar::Configure_binary_operator_declarator() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(type, 1, 1), ::grammar::base::create(::grammar::base::terminal("operator"), 1, 1), ::grammar::base::create(overloadable_binary_operator, 1, 1), ::grammar::base::create(::grammar::base::terminal("("), 1, 1), ::grammar::base::create(type, 1, 1), ::grammar::base::create(identifier, 1, 1), ::grammar::base::create(::grammar::base::terminal(","), 1, 1), ::grammar::base::create(type, 1, 1), ::grammar::base::create(identifier, 1, 1), ::grammar::base::create(::grammar::base::terminal(")"), 1, 1), }; binary_operator_declarator.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[binary_operator_declarator.name] = &binary_operator_declarator; } void syntactic_grammar::Configure_overloadable_binary_operator() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("+"), 1, 1), }; overloadable_binary_operator.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("-"), 1, 1), }; overloadable_binary_operator.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("*"), 1, 1), }; overloadable_binary_operator.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("/"), 1, 1), }; overloadable_binary_operator.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("%"), 1, 1), }; overloadable_binary_operator.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("&"), 1, 1), }; overloadable_binary_operator.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("|"), 1, 1), }; overloadable_binary_operator.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("^"), 1, 1), }; overloadable_binary_operator.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("<<"), 1, 1), }; overloadable_binary_operator.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal(">>"), 1, 1), }; overloadable_binary_operator.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("=="), 1, 1), }; overloadable_binary_operator.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("!="), 1, 1), }; overloadable_binary_operator.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal(">"), 1, 1), }; overloadable_binary_operator.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("<"), 1, 1), }; overloadable_binary_operator.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal(">="), 1, 1), }; overloadable_binary_operator.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("<="), 1, 1), }; overloadable_binary_operator.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[overloadable_binary_operator.name] = &overloadable_binary_operator; } void syntactic_grammar::Configure_conversion_operator_declarator() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("implicit"), 1, 1), ::grammar::base::create(::grammar::base::terminal("operator"), 1, 1), ::grammar::base::create(type, 1, 1), ::grammar::base::create(::grammar::base::terminal("("), 1, 1), ::grammar::base::create(type, 1, 1), ::grammar::base::create(identifier, 1, 1), ::grammar::base::create(::grammar::base::terminal(")"), 1, 1), }; conversion_operator_declarator.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("explicit"), 1, 1), ::grammar::base::create(::grammar::base::terminal("operator"), 1, 1), ::grammar::base::create(type, 1, 1), ::grammar::base::create(::grammar::base::terminal("("), 1, 1), ::grammar::base::create(type, 1, 1), ::grammar::base::create(identifier, 1, 1), ::grammar::base::create(::grammar::base::terminal(")"), 1, 1), }; conversion_operator_declarator.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[conversion_operator_declarator.name] = &conversion_operator_declarator; } void syntactic_grammar::Configure_operator_body() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(block, 1, 1), }; operator_body.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal(";"), 1, 1), }; operator_body.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[operator_body.name] = &operator_body; } void syntactic_grammar::Configure_constructor_declaration() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(attributes, 0, 1), ::grammar::base::create(constructor_modifiers, 0, 1), ::grammar::base::create(constructor_declarator, 1, 1), ::grammar::base::create(constructor_body, 1, 1), }; constructor_declaration.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[constructor_declaration.name] = &constructor_declaration; } void syntactic_grammar::Configure_constructor_modifiers() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(constructor_modifier, 1, ::grammar::infinity()), }; constructor_modifiers.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[constructor_modifiers.name] = &constructor_modifiers; } void syntactic_grammar::Configure_constructor_modifier() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("public"), 1, 1), }; constructor_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("protected"), 1, 1), }; constructor_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("internal"), 1, 1), }; constructor_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("private"), 1, 1), }; constructor_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("extern"), 1, 1), }; constructor_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("unsafe"), 1, 1), }; constructor_modifier.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[constructor_modifier.name] = &constructor_modifier; } void syntactic_grammar::Configure_constructor_declarator() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(identifier, 1, 1), ::grammar::base::create(::grammar::base::terminal("("), 1, 1), ::grammar::base::create(formal_parameter_list, 0, 1), ::grammar::base::create(::grammar::base::terminal(")"), 1, 1), ::grammar::base::create(constructor_initializer, 0, 1), }; constructor_declarator.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[constructor_declarator.name] = &constructor_declarator; } void syntactic_grammar::Configure_constructor_initializer() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal(":"), 1, 1), ::grammar::base::create(::grammar::base::terminal("base"), 1, 1), ::grammar::base::create(::grammar::base::terminal("("), 1, 1), ::grammar::base::create(argument_list, 0, 1), ::grammar::base::create(::grammar::base::terminal(")"), 1, 1), }; constructor_initializer.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal(":"), 1, 1), ::grammar::base::create(::grammar::base::terminal("this"), 1, 1), ::grammar::base::create(::grammar::base::terminal("("), 1, 1), ::grammar::base::create(argument_list, 0, 1), ::grammar::base::create(::grammar::base::terminal(")"), 1, 1), }; constructor_initializer.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[constructor_initializer.name] = &constructor_initializer; } void syntactic_grammar::Configure_constructor_body() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(block, 1, 1), }; constructor_body.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal(";"), 1, 1), }; constructor_body.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[constructor_body.name] = &constructor_body; } void syntactic_grammar::Configure_static_constructor_declaration() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(attributes, 0, 1), ::grammar::base::create(static_constructor_modifiers, 1, 1), ::grammar::base::create(identifier, 1, 1), ::grammar::base::create(::grammar::base::terminal("("), 1, 1), ::grammar::base::create(::grammar::base::terminal(")"), 1, 1), ::grammar::base::create(static_constructor_body, 1, 1), }; static_constructor_declaration.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[static_constructor_declaration.name] = &static_constructor_declaration; } void syntactic_grammar::Configure_static_constructor_modifiers() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("extern"), 0, 1), ::grammar::base::create(::grammar::base::terminal("unsafe"), 0, 1), ::grammar::base::create(::grammar::base::terminal("static"), 1, 1), }; static_constructor_modifiers.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("unsafe"), 0, 1), ::grammar::base::create(::grammar::base::terminal("extern"), 0, 1), ::grammar::base::create(::grammar::base::terminal("static"), 1, 1), }; static_constructor_modifiers.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("extern"), 0, 1), ::grammar::base::create(::grammar::base::terminal("static"), 1, 1), ::grammar::base::create(::grammar::base::terminal("unsafe"), 0, 1), }; static_constructor_modifiers.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("unsafe"), 0, 1), ::grammar::base::create(::grammar::base::terminal("static"), 1, 1), ::grammar::base::create(::grammar::base::terminal("extern"), 0, 1), }; static_constructor_modifiers.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("static"), 1, 1), ::grammar::base::create(::grammar::base::terminal("extern"), 0, 1), ::grammar::base::create(::grammar::base::terminal("unsafe"), 0, 1), }; static_constructor_modifiers.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("static"), 1, 1), ::grammar::base::create(::grammar::base::terminal("unsafe"), 0, 1), ::grammar::base::create(::grammar::base::terminal("extern"), 0, 1), }; static_constructor_modifiers.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[static_constructor_modifiers.name] = &static_constructor_modifiers; } void syntactic_grammar::Configure_static_constructor_body() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(block, 1, 1), }; static_constructor_body.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal(";"), 1, 1), }; static_constructor_body.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[static_constructor_body.name] = &static_constructor_body; } void syntactic_grammar::Configure_destructor_declaration() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(attributes, 0, 1), ::grammar::base::create(::grammar::base::terminal("extern"), 0, 1), ::grammar::base::create(::grammar::base::terminal("unsafe"), 0, 1), ::grammar::base::create(::grammar::base::terminal("~"), 1, 1), ::grammar::base::create(identifier, 1, 1), ::grammar::base::create(::grammar::base::terminal("("), 1, 1), ::grammar::base::create(::grammar::base::terminal(")"), 1, 1), ::grammar::base::create(destructor_body, 1, 1), }; destructor_declaration.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(attributes, 0, 1), ::grammar::base::create(::grammar::base::terminal("unsafe"), 0, 1), ::grammar::base::create(::grammar::base::terminal("extern"), 0, 1), ::grammar::base::create(::grammar::base::terminal("~"), 1, 1), ::grammar::base::create(identifier, 1, 1), ::grammar::base::create(::grammar::base::terminal("("), 1, 1), ::grammar::base::create(::grammar::base::terminal(")"), 1, 1), ::grammar::base::create(destructor_body, 1, 1), }; destructor_declaration.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[destructor_declaration.name] = &destructor_declaration; } void syntactic_grammar::Configure_destructor_body() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(block, 1, 1), }; destructor_body.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal(";"), 1, 1), }; destructor_body.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[destructor_body.name] = &destructor_body; } void syntactic_grammar::Configure_struct_declaration() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(attributes, 0, 1), ::grammar::base::create(struct_modifiers, 0, 1), ::grammar::base::create(::grammar::base::terminal("struct"), 1, 1), ::grammar::base::create(identifier, 1, 1), ::grammar::base::create(struct_interfaces, 0, 1), ::grammar::base::create(struct_body, 1, 1), ::grammar::base::create(::grammar::base::terminal(";"), 0, 1), }; struct_declaration.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[struct_declaration.name] = &struct_declaration; } void syntactic_grammar::Configure_struct_modifiers() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(struct_modifier, 1, ::grammar::infinity()), }; struct_modifiers.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[struct_modifiers.name] = &struct_modifiers; } void syntactic_grammar::Configure_struct_modifier() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("new"), 1, 1), }; struct_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("public"), 1, 1), }; struct_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("protected"), 1, 1), }; struct_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("internal"), 1, 1), }; struct_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("private"), 1, 1), }; struct_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("unsafe"), 1, 1), }; struct_modifier.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[struct_modifier.name] = &struct_modifier; } void syntactic_grammar::Configure_struct_interfaces() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal(":"), 1, 1), ::grammar::base::create(interface_type, 1, 1), ::grammar::base::create(interface_type_list, 0, ::grammar::infinity()), }; struct_interfaces.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[struct_interfaces.name] = &struct_interfaces; } void syntactic_grammar::Configure_struct_body() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("{"), 1, 1), ::grammar::base::create(struct_member_declarations, 0, 1), ::grammar::base::create(::grammar::base::terminal("}"), 1, 1), }; struct_body.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[struct_body.name] = &struct_body; } void syntactic_grammar::Configure_struct_member_declarations() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(struct_member_declaration, 1, ::grammar::infinity()), }; struct_member_declarations.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[struct_member_declarations.name] = &struct_member_declarations; } void syntactic_grammar::Configure_struct_member_declaration() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(constant_declaration, 1, 1), }; struct_member_declaration.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(field_declaration, 1, 1), }; struct_member_declaration.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(method_declaration, 1, 1), }; struct_member_declaration.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(property_declaration, 1, 1), }; struct_member_declaration.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(event_declaration, 1, 1), }; struct_member_declaration.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(indexer_declaration, 1, 1), }; struct_member_declaration.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(operator_declaration, 1, 1), }; struct_member_declaration.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(constructor_declaration, 1, 1), }; struct_member_declaration.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(static_constructor_declaration, 1, 1), }; struct_member_declaration.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(type_declaration, 1, 1), }; struct_member_declaration.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[struct_member_declaration.name] = &struct_member_declaration; } void syntactic_grammar::Configure_array_type() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(non_array_type, 1, 1), ::grammar::base::create(rank_specifiers, 1, 1), }; array_type.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[array_type.name] = &array_type; } void syntactic_grammar::Configure_non_array_type() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(pointer_type, 1, 1), }; non_array_type.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(value_type, 1, 1), }; non_array_type.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(class_type, 1, 1), }; non_array_type.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[non_array_type.name] = &non_array_type; } void syntactic_grammar::Configure_rank_specifiers() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(rank_specifier, 1, ::grammar::infinity()), }; rank_specifiers.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[rank_specifiers.name] = &rank_specifiers; } void syntactic_grammar::Configure_rank_specifier() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("["), 1, 1), ::grammar::base::create(dim_separators, 0, 1), ::grammar::base::create(::grammar::base::terminal("]"), 1, 1), }; rank_specifier.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[rank_specifier.name] = &rank_specifier; } void syntactic_grammar::Configure_dim_separators() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal(","), 1, ::grammar::infinity()), }; dim_separators.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[dim_separators.name] = &dim_separators; } void syntactic_grammar::Configure_array_initializer() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("{"), 1, 1), ::grammar::base::create(variable_initializer_list, 0, 1), ::grammar::base::create(::grammar::base::terminal("}"), 1, 1), }; array_initializer.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("{"), 1, 1), ::grammar::base::create(variable_initializer_list, 1, 1), ::grammar::base::create(::grammar::base::terminal(","), 1, 1), ::grammar::base::create(::grammar::base::terminal("}"), 1, 1), }; array_initializer.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[array_initializer.name] = &array_initializer; } void syntactic_grammar::Configure_variable_initializer_list() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(variable_initializer, 1, 1), ::grammar::base::create(variable_initializers, 0, 1), }; variable_initializer_list.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[variable_initializer_list.name] = &variable_initializer_list; } void syntactic_grammar::Configure_variable_initializers() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal(","), 1, 1), ::grammar::base::create(variable_initializer_list, 1, 1), }; variable_initializers.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[variable_initializers.name] = &variable_initializers; } void syntactic_grammar::Configure_interface_declaration() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(attributes, 0, 1), ::grammar::base::create(interface_modifiers, 0, 1), ::grammar::base::create(::grammar::base::terminal("interface"), 1, 1), ::grammar::base::create(identifier, 1, 1), ::grammar::base::create(interface_base, 0, 1), ::grammar::base::create(interface_body, 1, 1), ::grammar::base::create(::grammar::base::terminal(";"), 0, 1), }; interface_declaration.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[interface_declaration.name] = &interface_declaration; } void syntactic_grammar::Configure_interface_modifiers() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(interface_modifier, 1, ::grammar::infinity()), }; interface_modifiers.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[interface_modifiers.name] = &interface_modifiers; } void syntactic_grammar::Configure_interface_modifier() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("new"), 1, 1), }; interface_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("public"), 1, 1), }; interface_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("protected"), 1, 1), }; interface_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("internal"), 1, 1), }; interface_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("private"), 1, 1), }; interface_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("unsafe"), 1, 1), }; interface_modifier.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[interface_modifier.name] = &interface_modifier; } void syntactic_grammar::Configure_interface_base() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal(":"), 1, 1), ::grammar::base::create(interface_type_list, 1, 1), }; interface_base.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[interface_base.name] = &interface_base; } void syntactic_grammar::Configure_interface_body() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("{"), 1, 1), ::grammar::base::create(interface_member_declarations, 0, 1), ::grammar::base::create(::grammar::base::terminal("}"), 1, 1), }; interface_body.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[interface_body.name] = &interface_body; } void syntactic_grammar::Configure_interface_member_declarations() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(interface_member_declaration, 1, ::grammar::infinity()), }; interface_member_declarations.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[interface_member_declarations.name] = &interface_member_declarations; } void syntactic_grammar::Configure_interface_member_declaration() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(interface_method_declaration, 1, 1), }; interface_member_declaration.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(interface_property_declaration, 1, 1), }; interface_member_declaration.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(interface_event_declaration, 1, 1), }; interface_member_declaration.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(interface_indexer_declaration, 1, 1), }; interface_member_declaration.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[interface_member_declaration.name] = &interface_member_declaration; } void syntactic_grammar::Configure_interface_method_declaration() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(attributes, 0, 1), ::grammar::base::create(::grammar::base::terminal("new"), 0, 1), ::grammar::base::create(return_type, 1, 1), ::grammar::base::create(identifier, 1, 1), ::grammar::base::create(::grammar::base::terminal("("), 1, 1), ::grammar::base::create(formal_parameter_list, 0, 1), ::grammar::base::create(::grammar::base::terminal(")"), 1, 1), ::grammar::base::create(::grammar::base::terminal(";"), 1, 1), }; interface_method_declaration.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[interface_method_declaration.name] = &interface_method_declaration; } void syntactic_grammar::Configure_interface_property_declaration() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(attributes, 0, 1), ::grammar::base::create(::grammar::base::terminal("new"), 0, 1), ::grammar::base::create(type, 1, 1), ::grammar::base::create(identifier, 1, 1), ::grammar::base::create(::grammar::base::terminal("{"), 1, 1), ::grammar::base::create(interface_accessors, 1, 1), ::grammar::base::create(::grammar::base::terminal("}"), 1, 1), }; interface_property_declaration.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[interface_property_declaration.name] = &interface_property_declaration; } void syntactic_grammar::Configure_interface_accessors() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(attributes, 0, 1), ::grammar::base::create(::grammar::base::terminal("get"), 1, 1), ::grammar::base::create(::grammar::base::terminal(";"), 1, 1), ::grammar::base::create(attributes, 0, 1), ::grammar::base::create(::grammar::base::terminal("set"), 1, 1), ::grammar::base::create(::grammar::base::terminal(";"), 1, 1), }; interface_accessors.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(attributes, 0, 1), ::grammar::base::create(::grammar::base::terminal("set"), 1, 1), ::grammar::base::create(::grammar::base::terminal(";"), 1, 1), ::grammar::base::create(attributes, 0, 1), ::grammar::base::create(::grammar::base::terminal("get"), 1, 1), ::grammar::base::create(::grammar::base::terminal(";"), 1, 1), }; interface_accessors.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(attributes, 0, 1), ::grammar::base::create(::grammar::base::terminal("get"), 1, 1), ::grammar::base::create(::grammar::base::terminal(";"), 1, 1), }; interface_accessors.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(attributes, 0, 1), ::grammar::base::create(::grammar::base::terminal("set"), 1, 1), ::grammar::base::create(::grammar::base::terminal(";"), 1, 1), }; interface_accessors.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[interface_accessors.name] = &interface_accessors; } void syntactic_grammar::Configure_interface_event_declaration() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(attributes, 0, 1), ::grammar::base::create(::grammar::base::terminal("new"), 0, 1), ::grammar::base::create(::grammar::base::terminal("event"), 1, 1), ::grammar::base::create(type, 1, 1), ::grammar::base::create(identifier, 1, 1), ::grammar::base::create(::grammar::base::terminal(";"), 1, 1), }; interface_event_declaration.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[interface_event_declaration.name] = &interface_event_declaration; } void syntactic_grammar::Configure_interface_indexer_declaration() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(attributes, 0, 1), ::grammar::base::create(::grammar::base::terminal("new"), 0, 1), ::grammar::base::create(type, 1, 1), ::grammar::base::create(::grammar::base::terminal("this"), 1, 1), ::grammar::base::create(::grammar::base::terminal("["), 1, 1), ::grammar::base::create(formal_parameter_list, 1, 1), ::grammar::base::create(::grammar::base::terminal("]"), 1, 1), ::grammar::base::create(::grammar::base::terminal("{"), 1, 1), ::grammar::base::create(interface_accessors, 1, 1), ::grammar::base::create(::grammar::base::terminal("}"), 1, 1), }; interface_indexer_declaration.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[interface_indexer_declaration.name] = &interface_indexer_declaration; } void syntactic_grammar::Configure_enum_declaration() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(attributes, 0, 1), ::grammar::base::create(enum_modifiers, 0, 1), ::grammar::base::create(::grammar::base::terminal("enum"), 1, 1), ::grammar::base::create(identifier, 1, 1), ::grammar::base::create(enum_base, 0, 1), ::grammar::base::create(enum_body, 1, 1), ::grammar::base::create(::grammar::base::terminal(";"), 0, 1), }; enum_declaration.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[enum_declaration.name] = &enum_declaration; } void syntactic_grammar::Configure_enum_base() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal(":"), 1, 1), ::grammar::base::create(integral_type, 1, 1), }; enum_base.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[enum_base.name] = &enum_base; } void syntactic_grammar::Configure_enum_body() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("{"), 1, 1), ::grammar::base::create(enum_member_declaration_list, 0, 1), ::grammar::base::create(::grammar::base::terminal("}"), 1, 1), }; enum_body.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("{"), 1, 1), ::grammar::base::create(enum_member_declaration_list, 1, 1), ::grammar::base::create(::grammar::base::terminal(","), 1, 1), ::grammar::base::create(::grammar::base::terminal("}"), 1, 1), }; enum_body.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[enum_body.name] = &enum_body; } void syntactic_grammar::Configure_enum_modifiers() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(enum_modifier, 1, ::grammar::infinity()), }; enum_modifiers.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[enum_modifiers.name] = &enum_modifiers; } void syntactic_grammar::Configure_enum_modifier() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("new"), 1, 1), }; enum_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("public"), 1, 1), }; enum_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("protected"), 1, 1), }; enum_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("internal"), 1, 1), }; enum_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("private"), 1, 1), }; enum_modifier.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[enum_modifier.name] = &enum_modifier; } void syntactic_grammar::Configure_enum_member_declaration_list() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(enum_member_declaration, 1, 1), ::grammar::base::create(enum_member_declarations, 0, 1), }; enum_member_declaration_list.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[enum_member_declaration_list.name] = &enum_member_declaration_list; } void syntactic_grammar::Configure_enum_member_declaration() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(attributes, 0, 1), ::grammar::base::create(identifier, 1, 1), ::grammar::base::create(::grammar::base::terminal("="), 1, 1), ::grammar::base::create(constant_expression, 1, 1), }; enum_member_declaration.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(attributes, 0, 1), ::grammar::base::create(identifier, 1, 1), }; enum_member_declaration.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[enum_member_declaration.name] = &enum_member_declaration; } void syntactic_grammar::Configure_enum_member_declarations() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal(","), 1, 1), ::grammar::base::create(enum_member_declaration_list, 1, 1), }; enum_member_declarations.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[enum_member_declarations.name] = &enum_member_declarations; } void syntactic_grammar::Configure_delegate_declaration() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(attributes, 0, 1), ::grammar::base::create(delegate_modifiers, 0, 1), ::grammar::base::create(::grammar::base::terminal("delegate"), 1, 1), ::grammar::base::create(return_type, 1, 1), ::grammar::base::create(identifier, 1, 1), ::grammar::base::create(::grammar::base::terminal("("), 1, 1), ::grammar::base::create(formal_parameter_list, 0, 1), ::grammar::base::create(::grammar::base::terminal(")"), 1, 1), ::grammar::base::create(::grammar::base::terminal(";"), 1, 1), }; delegate_declaration.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[delegate_declaration.name] = &delegate_declaration; } void syntactic_grammar::Configure_delegate_modifiers() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(delegate_modifier, 1, ::grammar::infinity()), }; delegate_modifiers.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[delegate_modifiers.name] = &delegate_modifiers; } void syntactic_grammar::Configure_delegate_modifier() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("new"), 1, 1), }; delegate_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("public"), 1, 1), }; delegate_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("protected"), 1, 1), }; delegate_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("internal"), 1, 1), }; delegate_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("private"), 1, 1), }; delegate_modifier.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("unsafe"), 1, 1), }; delegate_modifier.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[delegate_modifier.name] = &delegate_modifier; } void syntactic_grammar::Configure_global_attributes() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(global_attribute_sections, 1, 1), }; global_attributes.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[global_attributes.name] = &global_attributes; } void syntactic_grammar::Configure_global_attribute_sections() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(global_attribute_section, 1, ::grammar::infinity()), }; global_attribute_sections.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[global_attribute_sections.name] = &global_attribute_sections; } void syntactic_grammar::Configure_global_attribute_section() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("["), 1, 1), ::grammar::base::create(global_attribute_target_specifier, 1, 1), ::grammar::base::create(attribute_list, 1, 1), ::grammar::base::create(::grammar::base::terminal("]"), 1, 1), }; global_attribute_section.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("["), 1, 1), ::grammar::base::create(global_attribute_target_specifier, 1, 1), ::grammar::base::create(attribute_list, 1, 1), ::grammar::base::create(::grammar::base::terminal(","), 1, 1), ::grammar::base::create(::grammar::base::terminal("]"), 1, 1), }; global_attribute_section.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[global_attribute_section.name] = &global_attribute_section; } void syntactic_grammar::Configure_global_attribute_target_specifier() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(global_attribute_target, 1, 1), ::grammar::base::create(::grammar::base::terminal(":"), 1, 1), }; global_attribute_target_specifier.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[global_attribute_target_specifier.name] = &global_attribute_target_specifier; } void syntactic_grammar::Configure_global_attribute_target() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("assembly"), 1, 1), }; global_attribute_target.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[global_attribute_target.name] = &global_attribute_target; } void syntactic_grammar::Configure_attributes() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(attribute_sections, 1, 1), }; attributes.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[attributes.name] = &attributes; } void syntactic_grammar::Configure_attribute_sections() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(attribute_section, 1, ::grammar::infinity()), }; attribute_sections.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[attribute_sections.name] = &attribute_sections; } void syntactic_grammar::Configure_attribute_section() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("["), 1, 1), ::grammar::base::create(attribute_target_specifier, 0, 1), ::grammar::base::create(attribute_list, 1, 1), ::grammar::base::create(::grammar::base::terminal("]"), 1, 1), }; attribute_section.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("["), 1, 1), ::grammar::base::create(attribute_target_specifier, 0, 1), ::grammar::base::create(attribute_list, 1, 1), ::grammar::base::create(::grammar::base::terminal(","), 1, 1), ::grammar::base::create(::grammar::base::terminal("]"), 1, 1), }; attribute_section.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[attribute_section.name] = &attribute_section; } void syntactic_grammar::Configure_attribute_target_specifier() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(attribute_target, 1, 1), ::grammar::base::create(::grammar::base::terminal(":"), 1, 1), }; attribute_target_specifier.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[attribute_target_specifier.name] = &attribute_target_specifier; } void syntactic_grammar::Configure_attribute_target() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("field"), 1, 1), }; attribute_target.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("event"), 1, 1), }; attribute_target.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("method"), 1, 1), }; attribute_target.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("param"), 1, 1), }; attribute_target.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("property"), 1, 1), }; attribute_target.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("return"), 1, 1), }; attribute_target.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(type, 1, 1), }; attribute_target.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[attribute_target.name] = &attribute_target; } void syntactic_grammar::Configure_attribute_list() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(attribute, 1, 1), }; attribute_list.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(attribute, 1, 1), ::grammar::base::create(::grammar::base::terminal(","), 1, 1), ::grammar::base::create(attribute_list, 1, 1), }; attribute_list.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[attribute_list.name] = &attribute_list; } void syntactic_grammar::Configure_attribute() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(attribute_name, 1, 1), ::grammar::base::create(attribute_arguments, 0, 1), }; attribute.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[attribute.name] = &attribute; } void syntactic_grammar::Configure_attribute_name() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(type_name, 1, 1), }; attribute_name.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[attribute_name.name] = &attribute_name; } void syntactic_grammar::Configure_attribute_arguments() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("("), 1, 1), ::grammar::base::create(attribute_argument_list, 0, 1), ::grammar::base::create(::grammar::base::terminal(")"), 1, 1), }; attribute_arguments.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[attribute_arguments.name] = &attribute_arguments; } void syntactic_grammar::Configure_attribute_argument_list() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(named_argument_list, 1, 1), }; attribute_argument_list.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(positional_argument, 1, 1), ::grammar::base::create(positional_arguments, 0, 1), }; attribute_argument_list.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[attribute_argument_list.name] = &attribute_argument_list; } void syntactic_grammar::Configure_positional_argument() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(attribute_argument_expression, 1, 1), }; positional_argument.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[positional_argument.name] = &positional_argument; } void syntactic_grammar::Configure_positional_arguments() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal(","), 1, 1), ::grammar::base::create(attribute_argument_list, 1, 1), }; positional_arguments.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[positional_arguments.name] = &positional_arguments; } void syntactic_grammar::Configure_named_argument_list() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(named_argument, 1, 1), ::grammar::base::create(named_arguments, 0, 1), }; named_argument_list.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[named_argument_list.name] = &named_argument_list; } void syntactic_grammar::Configure_named_argument() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(identifier, 1, 1), ::grammar::base::create(::grammar::base::terminal("="), 1, 1), ::grammar::base::create(attribute_argument_expression, 1, 1), }; named_argument.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[named_argument.name] = &named_argument; } void syntactic_grammar::Configure_named_arguments() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal(","), 1, 1), ::grammar::base::create(named_argument_list, 1, 1), }; named_arguments.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[named_arguments.name] = &named_arguments; } void syntactic_grammar::Configure_attribute_argument_expression() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(expression, 1, 1), }; attribute_argument_expression.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[attribute_argument_expression.name] = &attribute_argument_expression; } void syntactic_grammar::Configure_unsafe_statement() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("unsafe"), 1, 1), ::grammar::base::create(block, 1, 1), }; unsafe_statement.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[unsafe_statement.name] = &unsafe_statement; } void syntactic_grammar::Configure_pointer_type() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(value_type, 1, 1), ::grammar::base::create(::grammar::base::terminal("*"), 1, ::grammar::infinity()), }; pointer_type.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("object"), 1, 1), ::grammar::base::create(::grammar::base::terminal("*"), 1, ::grammar::infinity()), }; pointer_type.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("string"), 1, 1), ::grammar::base::create(::grammar::base::terminal("*"), 1, ::grammar::infinity()), }; pointer_type.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("void"), 1, 1), ::grammar::base::create(::grammar::base::terminal("*"), 1, ::grammar::infinity()), }; pointer_type.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[pointer_type.name] = &pointer_type; } void syntactic_grammar::Configure_unmanaged_type() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(value_type, 1, 1), ::grammar::base::create(::grammar::base::terminal("*"), 0, ::grammar::infinity()), }; unmanaged_type.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("void"), 1, 1), ::grammar::base::create(::grammar::base::terminal("*"), 1, ::grammar::infinity()), }; unmanaged_type.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[unmanaged_type.name] = &unmanaged_type; } void syntactic_grammar::Configure_pointer_indirection_expression() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("*"), 1, 1), ::grammar::base::create(unary_expression, 1, 1), }; pointer_indirection_expression.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[pointer_indirection_expression.name] = &pointer_indirection_expression; } void syntactic_grammar::Configure_pointer_member_access() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(pma_primary_no_array_creation_expression, 1, 1), ::grammar::base::create(pointer_member_access_suffix, 1, 1), }; pointer_member_access.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[pointer_member_access.name] = &pointer_member_access; } void syntactic_grammar::Configure_pointer_member_access_suffix() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("->"), 1, 1), ::grammar::base::create(identifier, 1, 1), }; pointer_member_access_suffix.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[pointer_member_access_suffix.name] = &pointer_member_access_suffix; } void syntactic_grammar::Configure_pma_primary_no_array_creation_expression() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(simple_name, 1, 1), ::grammar::base::create(pma_primary_suffix, 0, 1), }; pma_primary_no_array_creation_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(parenthesized_expression, 1, 1), ::grammar::base::create(pma_primary_suffix, 0, 1), }; pma_primary_no_array_creation_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(this_access, 1, 1), ::grammar::base::create(pma_primary_suffix, 0, 1), }; pma_primary_no_array_creation_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(base_access, 1, 1), ::grammar::base::create(pma_primary_suffix, 0, 1), }; pma_primary_no_array_creation_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(object_creation_expression, 1, 1), ::grammar::base::create(pma_primary_suffix, 0, 1), }; pma_primary_no_array_creation_expression.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(delegate_creation_expression, 1, 1), ::grammar::base::create(pma_primary_suffix, 0, 1), }; pma_primary_no_array_creation_expression.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[pma_primary_no_array_creation_expression.name] = &pma_primary_no_array_creation_expression; } void syntactic_grammar::Configure_pma_primary_suffix() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(pointer_member_access_suffix, 1, 1), ::grammar::base::create(pma_primary_suffix, 1, 1), }; pma_primary_suffix.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(member_access_suffix, 1, 1), ::grammar::base::create(pma_primary_suffix, 0, 1), }; pma_primary_suffix.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(invocation_expression_suffix, 1, 1), ::grammar::base::create(pma_primary_suffix, 0, 1), }; pma_primary_suffix.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(element_access_suffix, 1, 1), ::grammar::base::create(pma_primary_suffix, 0, 1), }; pma_primary_suffix.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(post_increment_suffix, 1, 1), ::grammar::base::create(pma_primary_suffix, 0, 1), }; pma_primary_suffix.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(post_decrement_suffix, 1, 1), ::grammar::base::create(pma_primary_suffix, 0, 1), }; pma_primary_suffix.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[pma_primary_suffix.name] = &pma_primary_suffix; } void syntactic_grammar::Configure_addressof_expression() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("&"), 1, 1), ::grammar::base::create(unary_expression, 1, 1), }; addressof_expression.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[addressof_expression.name] = &addressof_expression; } void syntactic_grammar::Configure_sizeof_expression() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("sizeof"), 1, 1), ::grammar::base::create(::grammar::base::terminal("("), 1, 1), ::grammar::base::create(unmanaged_type, 1, 1), ::grammar::base::create(::grammar::base::terminal(")"), 1, 1), }; sizeof_expression.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[sizeof_expression.name] = &sizeof_expression; } void syntactic_grammar::Configure_fixed_statement() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("fixed"), 1, 1), ::grammar::base::create(::grammar::base::terminal("("), 1, 1), ::grammar::base::create(pointer_type, 1, 1), ::grammar::base::create(fixed_pointer_declarator_list, 1, 1), ::grammar::base::create(::grammar::base::terminal(")"), 1, 1), ::grammar::base::create(embedded_statement, 1, 1), }; fixed_statement.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[fixed_statement.name] = &fixed_statement; } void syntactic_grammar::Configure_fixed_pointer_declarator_list() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(fixed_pointer_declarator, 1, 1), ::grammar::base::create(fixed_pointer_declarators, 0, 1), }; fixed_pointer_declarator_list.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[fixed_pointer_declarator_list.name] = &fixed_pointer_declarator_list; } void syntactic_grammar::Configure_fixed_pointer_declarator() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(identifier, 1, 1), ::grammar::base::create(::grammar::base::terminal("="), 1, 1), ::grammar::base::create(fixed_pointer_initializer, 1, 1), }; fixed_pointer_declarator.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[fixed_pointer_declarator.name] = &fixed_pointer_declarator; } void syntactic_grammar::Configure_fixed_pointer_declarators() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal(","), 1, 1), ::grammar::base::create(fixed_pointer_declarator_list, 1, 1), }; fixed_pointer_declarators.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[fixed_pointer_declarators.name] = &fixed_pointer_declarators; } void syntactic_grammar::Configure_fixed_pointer_initializer() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("&"), 1, 1), ::grammar::base::create(variable_reference, 1, 1), }; fixed_pointer_initializer.push_back(key(), rhs, array::end_of(rhs)); } { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(expression, 1, 1), }; fixed_pointer_initializer.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[fixed_pointer_initializer.name] = &fixed_pointer_initializer; } void syntactic_grammar::Configure_stackalloc_initializer() { { const ::grammar::qualified_symbol_definition rhs[] = { ::grammar::base::create(::grammar::base::terminal("stackalloc"), 1, 1), ::grammar::base::create(unmanaged_type, 1, 1), ::grammar::base::create(::grammar::base::terminal("["), 1, 1), ::grammar::base::create(expression, 1, 1), ::grammar::base::create(::grammar::base::terminal("]"), 1, 1), }; stackalloc_initializer.push_back(key(), rhs, array::end_of(rhs)); } ::grammar::base::symbols[stackalloc_initializer.name] = &stackalloc_initializer; } } namespace csharp // syntactic_grammar - 'tor { syntactic_grammar::syntactic_grammar() : ::grammar::base() , namespace_name(key(), "namespace-name", 1) , type_name(key(), "type-name", 1) , namespace_or_type_name(key(), "namespace-or-type-name", 1) , type(key(), "type", 3) , value_type(key(), "value-type", 2) , struct_type(key(), "struct-type", 2) , simple_type(key(), "simple-type", 2) , numeric_type(key(), "numeric-type", 3) , integral_type(key(), "integral-type", 9) , floating_point_type(key(), "floating-point-type", 2) , enum_type(key(), "enum-type", 1) , reference_type(key(), "reference-type", 4) , class_type(key(), "class-type", 3) , interface_type(key(), "interface-type", 1) , delegate_type(key(), "delegate-type", 1) , variable_reference(key(), "variable-reference", 1) , argument_list(key(), "argument-list", 1) , arguments(key(), "arguments", 1) , argument(key(), "argument", 3) , primary_expression(key(), "primary-expression", 2) , primary_no_array_creation_expression(key(), "primary-no-array-creation-expression", 12) , primary_suffix(key(), "primary-suffix", 6) , member_access_suffix(key(), "member-access-suffix", 1) , invocation_expression_suffix(key(), "invocation-expression-suffix", 1) , element_access_suffix(key(), "element-access-suffix", 1) , post_increment_suffix(key(), "post-increment-suffix", 1) , post_decrement_suffix(key(), "post-decrement-suffix", 1) , expression_list(key(), "expression-list", 1) , expressions(key(), "expressions", 1) , simple_name(key(), "simple-name", 1) , parenthesized_expression(key(), "parenthesized-expression", 1) , predefined_type(key(), "predefined-type", 15) , invocation_expression(key(), "invocation-expression", 1) , ie_primary_no_array_creation_expression(key(), "ie-primary-no-array-creation-expression", 12) , ie_primary_suffix(key(), "ie-primary-suffix", 6) , post_increment_expression(key(), "post-increment-expression", 1) , post_decrement_expression(key(), "post-decrement-expression", 1) , pide_primary_no_array_creation_expression(key(), "pide-primary-no-array-creation-expression", 4) , pide_primary_suffix(key(), "pide-primary-suffix", 4) , this_access(key(), "this-access", 1) , base_access(key(), "base-access", 2) , object_creation_expression(key(), "object-creation-expression", 1) , array_creation_expression(key(), "array-creation-expression", 2) , delegate_creation_expression(key(), "delegate-creation-expression", 1) , typeof_expression(key(), "typeof-expression", 2) , checked_expression(key(), "checked-expression", 1) , unchecked_expression(key(), "unchecked-expression", 1) , unary_expression(key(), "unary-expression", 12) , pre_increment_expression(key(), "pre-increment-expression", 1) , pre_decrement_expression(key(), "pre-decrement-expression", 1) , cast_expression(key(), "cast-expression", 1) , multiplicative_expression(key(), "multiplicative-expression", 1) , multiplicative_expressions(key(), "multiplicative-expressions", 3) , additive_expression(key(), "additive-expression", 1) , additive_expressions(key(), "additive-expressions", 2) , shift_expression(key(), "shift-expression", 1) , shift_expressions(key(), "shift-expressions", 2) , relational_expression(key(), "relational-expression", 1) , relational_expressions(key(), "relational-expressions", 6) , equality_expression(key(), "equality-expression", 1) , equality_expressions(key(), "equality-expressions", 2) , and_expression(key(), "and-expression", 1) , and_expressions(key(), "and-expressions", 1) , exclusive_or_expression(key(), "exclusive-or-expression", 1) , exclusive_or_expressions(key(), "exclusive-or-expressions", 1) , inclusive_or_expression(key(), "inclusive-or-expression", 1) , inclusive_or_expressions(key(), "inclusive-or-expressions", 1) , conditional_and_expression(key(), "conditional-and-expression", 1) , conditional_and_expressions(key(), "conditional-and-expressions", 1) , conditional_or_expression(key(), "conditional-or-expression", 1) , conditional_or_expressions(key(), "conditional-or-expressions", 1) , conditional_expression(key(), "conditional-expression", 2) , assignment(key(), "assignment", 1) , assignment_operator(key(), "assignment-operator", 11) , expression(key(), "expression", 2) , constant_expression(key(), "constant-expression", 1) , boolean_expression(key(), "boolean-expression", 1) , statement(key(), "statement", 3) , embedded_statement(key(), "embedded-statement", 13) , block(key(), "block", 1) , statement_list(key(), "statement-list", 1) , empty_statement(key(), "empty-statement", 1) , labeled_statement(key(), "labeled-statement", 1) , declaration_statement(key(), "declaration-statement", 2) , local_variable_declaration(key(), "local-variable-declaration", 1) , local_variable_declarators(key(), "local-variable-declarators", 2) , local_variable_declarator(key(), "local-variable-declarator", 2) , local_variable_initializer(key(), "local-variable-initializer", 3) , local_constant_declaration(key(), "local-constant-declaration", 1) , expression_statement(key(), "expression-statement", 1) , statement_expression(key(), "statement-expression", 7) , selection_statement(key(), "selection-statement", 2) , if_statement(key(), "if-statement", 2) , switch_statement(key(), "switch-statement", 1) , switch_block(key(), "switch-block", 1) , switch_sections(key(), "switch-sections", 1) , switch_section(key(), "switch-section", 1) , switch_labels(key(), "switch-labels", 1) , switch_label(key(), "switch-label", 2) , iteration_statement(key(), "iteration-statement", 4) , while_statement(key(), "while-statement", 1) , do_statement(key(), "do-statement", 1) , for_statement(key(), "for-statement", 1) , for_initializer(key(), "for-initializer", 2) , for_condition(key(), "for-condition", 1) , for_iterator(key(), "for-iterator", 1) , statement_expression_list(key(), "statement-expression-list", 2) , foreach_statement(key(), "foreach-statement", 1) , jump_statement(key(), "jump-statement", 5) , break_statement(key(), "break-statement", 1) , continue_statement(key(), "continue-statement", 1) , goto_statement(key(), "goto-statement", 3) , return_statement(key(), "return-statement", 1) , throw_statement(key(), "throw-statement", 1) , try_statement(key(), "try-statement", 2) , catch_clauses(key(), "catch-clauses", 2) , specific_catch_clauses(key(), "specific-catch-clauses", 1) , specific_catch_clause(key(), "specific-catch-clause", 1) , general_catch_clause(key(), "general-catch-clause", 1) , finally_clause(key(), "finally-clause", 1) , checked_statement(key(), "checked-statement", 1) , unchecked_statement(key(), "unchecked-statement", 1) , lock_statement(key(), "lock-statement", 1) , using_statement(key(), "using-statement", 1) , resource_acquisition(key(), "resource-acquisition", 2) , compilation_unit(key(), "compilation-unit", 1) , namespace_declaration(key(), "namespace-declaration", 1) , qualified_identifier(key(), "qualified-identifier", 1) , identifiers(key(), "identifiers", 1) , namespace_body(key(), "namespace-body", 1) , using_directives(key(), "using-directives", 1) , using_directive(key(), "using-directive", 2) , using_alias_directive(key(), "using-alias-directive", 1) , using_namespace_directive(key(), "using-namespace-directive", 1) , namespace_member_declarations(key(), "namespace-member-declarations", 1) , namespace_member_declaration(key(), "namespace-member-declaration", 2) , type_declaration(key(), "type-declaration", 5) , class_declaration(key(), "class-declaration", 1) , class_modifiers(key(), "class-modifiers", 1) , class_modifier(key(), "class-modifier", 8) , class_base(key(), "class-base", 1) , base_type(key(), "base-type", 2) , interface_type_list(key(), "interface-type-list", 1) , class_body(key(), "class-body", 1) , class_member_declarations(key(), "class-member-declarations", 1) , class_member_declaration(key(), "class-member-declaration", 11) , constant_declaration(key(), "constant-declaration", 1) , constant_modifiers(key(), "constant-modifiers", 1) , constant_modifier(key(), "constant-modifier", 5) , constant_declarators(key(), "constant-declarators", 2) , constant_declarator(key(), "constant-declarator", 1) , field_declaration(key(), "field-declaration", 1) , field_modifiers(key(), "field-modifiers", 1) , field_modifier(key(), "field-modifier", 9) , variable_declarators(key(), "variable-declarators", 1) , variable_declarator_list(key(), "variable-declarator-list", 1) , variable_declarator(key(), "variable-declarator", 2) , variable_initializer(key(), "variable-initializer", 2) , method_declaration(key(), "method-declaration", 1) , method_header(key(), "method-header", 1) , method_modifiers(key(), "method-modifiers", 1) , method_modifier(key(), "method-modifier", 12) , return_type(key(), "return-type", 2) , member_name(key(), "member-name", 1) , method_body(key(), "method-body", 2) , formal_parameter_list(key(), "formal-parameter-list", 3) , fixed_parameters(key(), "fixed-parameters", 2) , fixed_parameter(key(), "fixed-parameter", 1) , parameter_modifier(key(), "parameter-modifier", 2) , parameter_array(key(), "parameter-array", 1) , property_declaration(key(), "property-declaration", 1) , property_modifiers(key(), "property-modifiers", 1) , property_modifier(key(), "property-modifier", 12) , accessor_declarations(key(), "accessor-declarations", 2) , get_accessor_declaration(key(), "get-accessor-declaration", 1) , set_accessor_declaration(key(), "set-accessor-declaration", 1) , accessor_body(key(), "accessor-body", 2) , event_declaration(key(), "event-declaration", 2) , event_modifiers(key(), "event-modifiers", 1) , event_modifier(key(), "event-modifier", 12) , event_accessor_declarations(key(), "event-accessor-declarations", 2) , add_accessor_declaration(key(), "add-accessor-declaration", 1) , remove_accessor_declaration(key(), "remove-accessor-declaration", 1) , indexer_declaration(key(), "indexer-declaration", 1) , indexer_modifiers(key(), "indexer-modifiers", 1) , indexer_modifier(key(), "indexer-modifier", 11) , indexer_declarator(key(), "indexer-declarator", 2) , operator_declaration(key(), "operator-declaration", 1) , operator_modifiers(key(), "operator-modifiers", 1) , operator_modifier(key(), "operator-modifier", 4) , operator_declarator(key(), "operator-declarator", 3) , unary_operator_declarator(key(), "unary-operator-declarator", 1) , overloadable_unary_operator(key(), "overloadable-unary-operator", 8) , binary_operator_declarator(key(), "binary-operator-declarator", 1) , overloadable_binary_operator(key(), "overloadable-binary-operator", 16) , conversion_operator_declarator(key(), "conversion-operator-declarator", 2) , operator_body(key(), "operator-body", 2) , constructor_declaration(key(), "constructor-declaration", 1) , constructor_modifiers(key(), "constructor-modifiers", 1) , constructor_modifier(key(), "constructor-modifier", 6) , constructor_declarator(key(), "constructor-declarator", 1) , constructor_initializer(key(), "constructor-initializer", 2) , constructor_body(key(), "constructor-body", 2) , static_constructor_declaration(key(), "static-constructor-declaration", 1) , static_constructor_modifiers(key(), "static-constructor-modifiers", 6) , static_constructor_body(key(), "static-constructor-body", 2) , destructor_declaration(key(), "destructor-declaration", 2) , destructor_body(key(), "destructor-body", 2) , struct_declaration(key(), "struct-declaration", 1) , struct_modifiers(key(), "struct-modifiers", 1) , struct_modifier(key(), "struct-modifier", 6) , struct_interfaces(key(), "struct-interfaces", 1) , struct_body(key(), "struct-body", 1) , struct_member_declarations(key(), "struct-member-declarations", 1) , struct_member_declaration(key(), "struct-member-declaration", 10) , array_type(key(), "array-type", 1) , non_array_type(key(), "non-array-type", 3) , rank_specifiers(key(), "rank-specifiers", 1) , rank_specifier(key(), "rank-specifier", 1) , dim_separators(key(), "dim-separators", 1) , array_initializer(key(), "array-initializer", 2) , variable_initializer_list(key(), "variable-initializer-list", 1) , variable_initializers(key(), "variable-initializers", 1) , interface_declaration(key(), "interface-declaration", 1) , interface_modifiers(key(), "interface-modifiers", 1) , interface_modifier(key(), "interface-modifier", 6) , interface_base(key(), "interface-base", 1) , interface_body(key(), "interface-body", 1) , interface_member_declarations(key(), "interface-member-declarations", 1) , interface_member_declaration(key(), "interface-member-declaration", 4) , interface_method_declaration(key(), "interface-method-declaration", 1) , interface_property_declaration(key(), "interface-property-declaration", 1) , interface_accessors(key(), "interface-accessors", 4) , interface_event_declaration(key(), "interface-event-declaration", 1) , interface_indexer_declaration(key(), "interface-indexer-declaration", 1) , enum_declaration(key(), "enum-declaration", 1) , enum_base(key(), "enum-base", 1) , enum_body(key(), "enum-body", 2) , enum_modifiers(key(), "enum-modifiers", 1) , enum_modifier(key(), "enum-modifier", 5) , enum_member_declaration_list(key(), "enum-member-declaration-list", 1) , enum_member_declaration(key(), "enum-member-declaration", 2) , enum_member_declarations(key(), "enum-member-declarations", 1) , delegate_declaration(key(), "delegate-declaration", 1) , delegate_modifiers(key(), "delegate-modifiers", 1) , delegate_modifier(key(), "delegate-modifier", 6) , global_attributes(key(), "global-attributes", 1) , global_attribute_sections(key(), "global-attribute-sections", 1) , global_attribute_section(key(), "global-attribute-section", 2) , global_attribute_target_specifier(key(), "global-attribute-target-specifier", 1) , global_attribute_target(key(), "global-attribute-target", 1) , attributes(key(), "attributes", 1) , attribute_sections(key(), "attribute-sections", 1) , attribute_section(key(), "attribute-section", 2) , attribute_target_specifier(key(), "attribute-target-specifier", 1) , attribute_target(key(), "attribute-target", 7) , attribute_list(key(), "attribute-list", 2) , attribute(key(), "attribute", 1) , attribute_name(key(), "attribute-name", 1) , attribute_arguments(key(), "attribute-arguments", 1) , attribute_argument_list(key(), "attribute-argument-list", 2) , positional_argument(key(), "positional-argument", 1) , positional_arguments(key(), "positional-arguments", 1) , named_argument_list(key(), "named-argument-list", 1) , named_argument(key(), "named-argument", 1) , named_arguments(key(), "named-arguments", 1) , attribute_argument_expression(key(), "attribute-argument-expression", 1) , unsafe_statement(key(), "unsafe-statement", 1) , pointer_type(key(), "pointer-type", 4) , unmanaged_type(key(), "unmanaged-type", 2) , pointer_indirection_expression(key(), "pointer-indirection-expression", 1) , pointer_member_access(key(), "pointer-member-access", 1) , pointer_member_access_suffix(key(), "pointer-member-access-suffix", 1) , pma_primary_no_array_creation_expression(key(), "pma-primary-no-array-creation-expression", 6) , pma_primary_suffix(key(), "pma-primary-suffix", 6) , addressof_expression(key(), "addressof-expression", 1) , sizeof_expression(key(), "sizeof-expression", 1) , fixed_statement(key(), "fixed-statement", 1) , fixed_pointer_declarator_list(key(), "fixed-pointer-declarator-list", 1) , fixed_pointer_declarator(key(), "fixed-pointer-declarator", 1) , fixed_pointer_declarators(key(), "fixed-pointer-declarators", 1) , fixed_pointer_initializer(key(), "fixed-pointer-initializer", 2) , stackalloc_initializer(key(), "stackalloc-initializer", 1) , identifier(key(), "identifier", &syntactic_grammar_visitor::identifier) , literal(key(), "literal", &syntactic_grammar_visitor::literal) { Configure_namespace_name(); Configure_type_name(); Configure_namespace_or_type_name(); Configure_type(); Configure_value_type(); Configure_struct_type(); Configure_simple_type(); Configure_numeric_type(); Configure_integral_type(); Configure_floating_point_type(); Configure_enum_type(); Configure_reference_type(); Configure_class_type(); Configure_interface_type(); Configure_delegate_type(); Configure_variable_reference(); Configure_argument_list(); Configure_arguments(); Configure_argument(); Configure_primary_expression(); Configure_primary_no_array_creation_expression(); Configure_primary_suffix(); Configure_member_access_suffix(); Configure_invocation_expression_suffix(); Configure_element_access_suffix(); Configure_post_increment_suffix(); Configure_post_decrement_suffix(); Configure_expression_list(); Configure_expressions(); Configure_simple_name(); Configure_parenthesized_expression(); Configure_predefined_type(); Configure_invocation_expression(); Configure_ie_primary_no_array_creation_expression(); Configure_ie_primary_suffix(); Configure_post_increment_expression(); Configure_post_decrement_expression(); Configure_pide_primary_no_array_creation_expression(); Configure_pide_primary_suffix(); Configure_this_access(); Configure_base_access(); Configure_object_creation_expression(); Configure_array_creation_expression(); Configure_delegate_creation_expression(); Configure_typeof_expression(); Configure_checked_expression(); Configure_unchecked_expression(); Configure_unary_expression(); Configure_pre_increment_expression(); Configure_pre_decrement_expression(); Configure_cast_expression(); Configure_multiplicative_expression(); Configure_multiplicative_expressions(); Configure_additive_expression(); Configure_additive_expressions(); Configure_shift_expression(); Configure_shift_expressions(); Configure_relational_expression(); Configure_relational_expressions(); Configure_equality_expression(); Configure_equality_expressions(); Configure_and_expression(); Configure_and_expressions(); Configure_exclusive_or_expression(); Configure_exclusive_or_expressions(); Configure_inclusive_or_expression(); Configure_inclusive_or_expressions(); Configure_conditional_and_expression(); Configure_conditional_and_expressions(); Configure_conditional_or_expression(); Configure_conditional_or_expressions(); Configure_conditional_expression(); Configure_assignment(); Configure_assignment_operator(); Configure_expression(); Configure_constant_expression(); Configure_boolean_expression(); Configure_statement(); Configure_embedded_statement(); Configure_block(); Configure_statement_list(); Configure_empty_statement(); Configure_labeled_statement(); Configure_declaration_statement(); Configure_local_variable_declaration(); Configure_local_variable_declarators(); Configure_local_variable_declarator(); Configure_local_variable_initializer(); Configure_local_constant_declaration(); Configure_expression_statement(); Configure_statement_expression(); Configure_selection_statement(); Configure_if_statement(); Configure_switch_statement(); Configure_switch_block(); Configure_switch_sections(); Configure_switch_section(); Configure_switch_labels(); Configure_switch_label(); Configure_iteration_statement(); Configure_while_statement(); Configure_do_statement(); Configure_for_statement(); Configure_for_initializer(); Configure_for_condition(); Configure_for_iterator(); Configure_statement_expression_list(); Configure_foreach_statement(); Configure_jump_statement(); Configure_break_statement(); Configure_continue_statement(); Configure_goto_statement(); Configure_return_statement(); Configure_throw_statement(); Configure_try_statement(); Configure_catch_clauses(); Configure_specific_catch_clauses(); Configure_specific_catch_clause(); Configure_general_catch_clause(); Configure_finally_clause(); Configure_checked_statement(); Configure_unchecked_statement(); Configure_lock_statement(); Configure_using_statement(); Configure_resource_acquisition(); Configure_compilation_unit(); Configure_namespace_declaration(); Configure_qualified_identifier(); Configure_identifiers(); Configure_namespace_body(); Configure_using_directives(); Configure_using_directive(); Configure_using_alias_directive(); Configure_using_namespace_directive(); Configure_namespace_member_declarations(); Configure_namespace_member_declaration(); Configure_type_declaration(); Configure_class_declaration(); Configure_class_modifiers(); Configure_class_modifier(); Configure_class_base(); Configure_base_type(); Configure_interface_type_list(); Configure_class_body(); Configure_class_member_declarations(); Configure_class_member_declaration(); Configure_constant_declaration(); Configure_constant_modifiers(); Configure_constant_modifier(); Configure_constant_declarators(); Configure_constant_declarator(); Configure_field_declaration(); Configure_field_modifiers(); Configure_field_modifier(); Configure_variable_declarators(); Configure_variable_declarator_list(); Configure_variable_declarator(); Configure_variable_initializer(); Configure_method_declaration(); Configure_method_header(); Configure_method_modifiers(); Configure_method_modifier(); Configure_return_type(); Configure_member_name(); Configure_method_body(); Configure_formal_parameter_list(); Configure_fixed_parameters(); Configure_fixed_parameter(); Configure_parameter_modifier(); Configure_parameter_array(); Configure_property_declaration(); Configure_property_modifiers(); Configure_property_modifier(); Configure_accessor_declarations(); Configure_get_accessor_declaration(); Configure_set_accessor_declaration(); Configure_accessor_body(); Configure_event_declaration(); Configure_event_modifiers(); Configure_event_modifier(); Configure_event_accessor_declarations(); Configure_add_accessor_declaration(); Configure_remove_accessor_declaration(); Configure_indexer_declaration(); Configure_indexer_modifiers(); Configure_indexer_modifier(); Configure_indexer_declarator(); Configure_operator_declaration(); Configure_operator_modifiers(); Configure_operator_modifier(); Configure_operator_declarator(); Configure_unary_operator_declarator(); Configure_overloadable_unary_operator(); Configure_binary_operator_declarator(); Configure_overloadable_binary_operator(); Configure_conversion_operator_declarator(); Configure_operator_body(); Configure_constructor_declaration(); Configure_constructor_modifiers(); Configure_constructor_modifier(); Configure_constructor_declarator(); Configure_constructor_initializer(); Configure_constructor_body(); Configure_static_constructor_declaration(); Configure_static_constructor_modifiers(); Configure_static_constructor_body(); Configure_destructor_declaration(); Configure_destructor_body(); Configure_struct_declaration(); Configure_struct_modifiers(); Configure_struct_modifier(); Configure_struct_interfaces(); Configure_struct_body(); Configure_struct_member_declarations(); Configure_struct_member_declaration(); Configure_array_type(); Configure_non_array_type(); Configure_rank_specifiers(); Configure_rank_specifier(); Configure_dim_separators(); Configure_array_initializer(); Configure_variable_initializer_list(); Configure_variable_initializers(); Configure_interface_declaration(); Configure_interface_modifiers(); Configure_interface_modifier(); Configure_interface_base(); Configure_interface_body(); Configure_interface_member_declarations(); Configure_interface_member_declaration(); Configure_interface_method_declaration(); Configure_interface_property_declaration(); Configure_interface_accessors(); Configure_interface_event_declaration(); Configure_interface_indexer_declaration(); Configure_enum_declaration(); Configure_enum_base(); Configure_enum_body(); Configure_enum_modifiers(); Configure_enum_modifier(); Configure_enum_member_declaration_list(); Configure_enum_member_declaration(); Configure_enum_member_declarations(); Configure_delegate_declaration(); Configure_delegate_modifiers(); Configure_delegate_modifier(); Configure_global_attributes(); Configure_global_attribute_sections(); Configure_global_attribute_section(); Configure_global_attribute_target_specifier(); Configure_global_attribute_target(); Configure_attributes(); Configure_attribute_sections(); Configure_attribute_section(); Configure_attribute_target_specifier(); Configure_attribute_target(); Configure_attribute_list(); Configure_attribute(); Configure_attribute_name(); Configure_attribute_arguments(); Configure_attribute_argument_list(); Configure_positional_argument(); Configure_positional_arguments(); Configure_named_argument_list(); Configure_named_argument(); Configure_named_arguments(); Configure_attribute_argument_expression(); Configure_unsafe_statement(); Configure_pointer_type(); Configure_unmanaged_type(); Configure_pointer_indirection_expression(); Configure_pointer_member_access(); Configure_pointer_member_access_suffix(); Configure_pma_primary_no_array_creation_expression(); Configure_pma_primary_suffix(); Configure_addressof_expression(); Configure_sizeof_expression(); Configure_fixed_statement(); Configure_fixed_pointer_declarator_list(); Configure_fixed_pointer_declarator(); Configure_fixed_pointer_declarators(); Configure_fixed_pointer_initializer(); Configure_stackalloc_initializer(); } } namespace csharp // syntactic_grammar - instance { const syntactic_grammar & syntactic_grammar::instance() { static const syntactic_grammar the_instance; return the_instance; } }