Class: Pione::PNML::ExtractedDeclarations

Inherits:
Object
  • Object
show all
Defined in:
lib/pione/pnml/declaration-extractor.rb

Overview

ExtractedDeclarations is a store of declarations.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(env) ⇒ ExtractedDeclarations

Returns a new instance of ExtractedDeclarations.



57
58
59
60
61
62
# File 'lib/pione/pnml/declaration-extractor.rb', line 57

def initialize(env)
  @env = env
  @params = []
  @variable_bindings = []
  @features = []
end

Instance Attribute Details

#featuresObject (readonly)

Returns the value of attribute features.



55
56
57
# File 'lib/pione/pnml/declaration-extractor.rb', line 55

def features
  @features
end

#paramsObject (readonly)

Returns the value of attribute params.



53
54
55
# File 'lib/pione/pnml/declaration-extractor.rb', line 53

def params
  @params
end

#variable_bindingsObject (readonly)

Returns the value of attribute variable_bindings.



54
55
56
# File 'lib/pione/pnml/declaration-extractor.rb', line 54

def variable_bindings
  @variable_bindings
end

Instance Method Details

#add_feature(feature) ⇒ Object

Add the feature.

Parameters:

  • variable_binding (String)

    a string of feature



94
95
96
97
# File 'lib/pione/pnml/declaration-extractor.rb', line 94

def add_feature(feature)
  @features <<
    LabelExtractor.extract_feature_sentence(feature)
end

#add_param(param) ⇒ Object

Add the parameter.

Parameters:

  • param (String)

    a string of parameter



68
69
70
71
72
73
74
75
# 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) ⇒ Object

Add the variable binding.

Parameters:

  • variable_binding (String)

    a string of variable binding



81
82
83
84
85
86
87
88
# 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