class Pione::PNML::ExtractedDeclarations

ExtractedDeclarations is a store of declarations.

Attributes

features[R]
params[R]
variable_bindings[R]

Public Class Methods

new(env) click to toggle source
# File lib/pione/pnml/declaration-extractor.rb, line 57
def initialize(env)
  @env = env
  @params = []
  @variable_bindings = []
  @features = []
end

Public Instance Methods

add_feature(feature) click to toggle source

Add the feature.

@param variable_binding [String]

a string of feature
# File lib/pione/pnml/declaration-extractor.rb, line 94
def add_feature(feature)
  @features <<
    LabelExtractor.extract_feature_sentence(feature)
end
add_param(param) click to toggle source

Add the parameter.

@param param [String]

a string of parameter
# File lib/pione/pnml/declaration-extractor.rb, line 68
def add_param(param)
  sentence = LabelExtractor.extract_param_sentence(param)
  parsed = Lang::DocumentParser.new.parse(sentence)
  value = Lang::DocumentTransformer.new.apply(parsed, {package_name: true, filename: true})
  param_decl = value.elements.first
  param_decl.eval(@env)
  @params << sentence
end
add_variable_binding(variable_binding) click to toggle source

Add the variable binding.

@param variable_binding [String]

a string of variable binding
# File lib/pione/pnml/declaration-extractor.rb, line 81
def add_variable_binding(variable_binding)
  sentence = LabelExtractor.extract_variable_binding(variable_binding)
  parsed = Lang::DocumentParser.new.parse(sentence)
  value = Lang::DocumentTransformer.new.apply(parsed, {package_name: true, filename: true})
  variable_binding_decl = value.elements.first
  variable_binding_decl.eval(@env)
  @variable_bindings << variable_binding
end