<commit_before>require_relative '../state_machine/OO_structured_fsm/attribute_state'
require_relative '../state_machine/OO_structured_fsm/class_state'
require_relative '../state_machine/OO_structured_fsm/constructor_state'
require_relative '../state_machine/OO_structured_fsm/function_state'
require_relative '../state_machine/OO_structured_fsm/idle_state'
require_relative '../state_machine/OO_structured_fsm/include_state'
require_relative '../state_machine/OO_structured_fsm/method_state'
require_relative '../state_machine/OO_structured_fsm/module_state'
require_relative '../state_machine/OO_structured_fsm/variable_state'
require_relative '../state_machine/OO_structured_fsm/oo_structured_state'
require_relative '../state_machine/OO_structured_fsm/conditional_state'
require_relative '../state_machine/OO_structured_fsm/repetition_state'
require_relative '../state_machine/OO_structured_fsm/comment_state'
require_relative '../state_machine/OO_structured_fsm/aggregation_state'

# Module that keeps the language syntax.
module Languages

  # @abstract Abstract class for handling different types of language.
  class Language

    public

      attr_reader :name
      attr_reader :path

      attr_reader :attributeState
      attr_reader :state
      attr_reader :previousState
      attr_reader :classState
      attr_reader :constructorState
      attr_reader :functionState
      attr_reader :idleState
      attr_reader :includeState
      attr_reader :methodState
      attr_reader :moduleState
      attr_reader :variableState
      attr_reader :conditionalState
      attr_reader :repetitionState
      attr_reader :commentState
      attr_reader :aggregationState

      attr_reader :externRequirementHandler
      attr_reader :variableHandler
      attr_reader :functionHandler
      attr_reader :moduleHandler
      attr_reader :classHandler
      attr_reader :endBlockHandler
      attr_reader :attributeHandler
      attr_reader :methodHandler
      attr_reader :constructorHandler
      attr_reader :conditionalHandler
      attr_reader :repetitionHandler
      attr_reader :commentHandler
      attr_reader :aggregationHandler

      attr_accessor :fileElements

      # Those values help state machine to understand which place to add
      # conditional information and repetition data.
      attr_accessor :flagFunctionBehaviour<commit_msg>Make metadata accessible on ruby syntax<commit_after>require_relative '../state_machine/OO_structured_fsm/attribute_state'
require_relative '../state_machine/OO_structured_fsm/class_state'
require_relative '../state_machine/OO_structured_fsm/constructor_state'
require_relative '../state_machine/OO_structured_fsm/function_state'
require_relative '../state_machine/OO_structured_fsm/idle_state'
require_relative '../state_machine/OO_structured_fsm/include_state'
require_relative '../state_machine/OO_structured_fsm/method_state'
require_relative '../state_machine/OO_structured_fsm/module_state'
require_relative '../state_machine/OO_structured_fsm/variable_state'
require_relative '../state_machine/OO_structured_fsm/oo_structured_state'
require_relative '../state_machine/OO_structured_fsm/conditional_state'
require_relative '../state_machine/OO_structured_fsm/repetition_state'
require_relative '../state_machine/OO_structured_fsm/comment_state'
require_relative '../state_machine/OO_structured_fsm/aggregation_state'

# Module that keeps the language syntax.
module Languages

  # @abstract Abstract class for handling different types of language.
  class Language

    public

      attr_reader :name
      attr_reader :path

      attr_reader :attributeState
      attr_reader :state
      attr_reader :previousState
      attr_reader :classState
      attr_reader :constructorState
      attr_reader :functionState
      attr_reader :idleState
      attr_reader :includeState
      attr_reader :methodState
      attr_reader :moduleState
      attr_reader :variableState
      attr_reader :conditionalState
      attr_reader :repetitionState
      attr_reader :commentState
      attr_reader :aggregationState

      attr_reader :externRequirementHandler
      attr_reader :variableHandler
      attr_reader :functionHandler
      attr_reader :moduleHandler
      attr_reader :classHandler
      attr_reader :endBlockHandler
      attr_reader :attributeHandler
      attr_reader :methodHandler
      attr_reader :constructorHandler
      attr_reader :conditionalHandler
      attr_reader :repetitionHandler
      attr_reader :commentHandler
      attr_reader :aggregationHandler

      attr_reader :metadata

      attr_accessor :fileElements

      # Those values help state machine to understand which place to add
      # conditional information and repetition data.
      attr_accessor :flagFunctionBehaviour
{'fraction_non_alphanumeric': 0.0591184457906831, 'fraction_numerical': 0.0, 'mean_word_length': 4.548088064889919, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6516557', 'n_tokens_mistral': 1305, 'n_tokens_neox': 1242, 'n_words': 262}