def generate_code(self, neurons): if self._target == "NEST": from pynestml.codegeneration.nest_codegenerator import NESTCodeGenerator _codeGenerator = NESTCodeGenerator() _codeGenerator.generate_code(neurons) elif self._target == "": # dummy/null target: user requested to not generate any code code, message = Messages.get_no_code_generated() Logger.log_message(None, code, message, None, LoggingLevel.INFO)
def from_target_name( target_name: str, options: Optional[Mapping[str, Any]] = None) -> CodeGenerator: """Static factory method that returns a new instance of a child class of CodeGenerator""" assert target_name.upper() in CodeGenerator.get_known_targets( ), "Unknown target platform requested: \"" + str(target_name) + "\"" if target_name.upper() == "NEST": from pynestml.codegeneration.nest_codegenerator import NESTCodeGenerator return NESTCodeGenerator(options) elif target_name.upper() == "AUTODOC": from pynestml.codegeneration.autodoc_codegenerator import AutoDocCodeGenerator assert options is None or options == {}, "\"autodoc\" code generator does not support options" return AutoDocCodeGenerator() elif target_name == "": # dummy/null target: user requested to not generate any code code, message = Messages.get_no_code_generated() Logger.log_message(None, code, message, None, LoggingLevel.INFO) return CodeGenerator("", options) assert False # cannot reach here due to earlier assert -- silence static checker warnings
def generate_code(self, neurons): """ Generate code for the given neurons and (depending on the target) generate an index page, module entrypoint or similar that incorporates an enumeration of all neurons. :param neurons: a list of neurons. :type neurons: List[ASTNode] """ if self._target.upper() == "NEST": from pynestml.codegeneration.nest_codegenerator import NESTCodeGenerator _codeGenerator = NESTCodeGenerator() _codeGenerator.generate_code(neurons) elif self._target.upper() == "AUTODOC": from pynestml.codegeneration.autodoc_codegenerator import AutoDocCodeGenerator _codeGenerator = AutoDocCodeGenerator() _codeGenerator.generate_code(neurons) else: # dummy/null target: user requested to not generate any code assert self._target == "" code, message = Messages.get_no_code_generated() Logger.log_message(None, code, message, None, LoggingLevel.INFO)