Import frontend::code_gen
to also include code generation modules.
nitc :: astbuilder
Instantiation and transformation of semantic nodes in the AST of expressions and statementsSerializable::inspect
to show more useful information
nitc :: modelbuilder
more_collections :: more_collections
Highly specific, but useful, collections-related classes.serialization :: serialization_core
Abstract services to serialize Nit objects to different formatsnitc :: toolcontext
Common command-line tool infrastructure than handle options and error messagescore :: union_find
union–find algorithm using an efficient disjoint-set data structurenitc :: actors_injection_phase
Injects model for the classes annotated with "is actor" sonitc :: i18n_phase
Basic support of internationalization through the generation of id-to-string tablesthreaded
annotation
nitc :: serialization_model_phase
Phase generating methods (model-only) to serialize Nit objectsnitc :: nitrestful
Tool generating boilerplate code linking RESTful actions to Nit methodsnitc :: api_metrics
nitc :: nitmetrics
A program that collects various metrics on nit programs and librariesclone
method of the astbuilder tool
# Collect and orchestration of main frontend phases
#
# Import `frontend::code_gen` to also include code generation modules.
module frontend
import no_warning
import simple_misc_analysis
import literal
import modelize
import semantize
import div_by_zero
import serialization_model_phase
import deriving
import check_annotation
import parse_annotations
import glsl_validation
import parallelization_phase
import i18n_phase
import regex_phase
import actors_injection_phase
redef class ToolContext
# FIXME: there is conflict in linex in nitc, so use this trick to force invocation
private var dummy: Bool = do_dummy
# SEE `dummy`
private fun do_dummy: Bool
do
# Force no warning before analysing classes
phases.add_edge(modelize_class_phase, no_warning_phase)
# Force easy warnings after modelbuilder
phases.add_edge(simple_misc_analysis_phase, modelize_property_phase)
# Force easy warnings before intraproc-errors
phases.add_edge(scope_phase, simple_misc_analysis_phase)
# Code genrated by the serialization phase must be analyzed for literals
phases.add_edge(literal_phase, serialization_phase_pre_model)
phases.add_edge(modelize_class_phase, serialization_phase_pre_model)
phases.add_edge(modelize_class_phase, parallelization_phase)
return true
end
end
src/frontend/frontend.nit:15,1--55,3