Class: SiSU_Sem::Tags
- Inherits:
-
Object
- Object
- SiSU_Sem::Tags
- Defined in:
- lib/sisu/shared_sem.rb
Instance Method Summary collapse
- #all ⇒ Object
- #each_c ⇒ Object
- #each_csc ⇒ Object
- #each_csc_ae ⇒ Object
- #each_sc ⇒ Object
- #exclude ⇒ Object
- #if_pair_c ⇒ Object
- #if_pair_sc ⇒ Object
-
#initialize(para, md) ⇒ Tags
constructor
A new instance of Tags.
- #match_pair_c ⇒ Object
- #match_pair_sc ⇒ Object
- #matching ⇒ Object
- #pair_c ⇒ Object
- #pair_csc ⇒ Object
- #pair_sc ⇒ Object
- #print ⇒ Object
- #rgx ⇒ Object
- #rm ⇒ Object
- #scan_pair_c ⇒ Object
- #scan_pair_sc ⇒ Object
- #sem_marker_added_extra_parts ⇒ Object
- #sem_marker_parts ⇒ Object
- #whole_csc_ae ⇒ Object
Constructor Details
#initialize(para, md) ⇒ Tags
Returns a new instance of Tags.
58 59 60 |
# File 'lib/sisu/shared_sem.rb', line 58 def initialize(para,md) @para,@md=para,md end |
Instance Method Details
#all ⇒ Object
143 144 145 146 147 148 149 |
# File 'lib/sisu/shared_sem.rb', line 143 def all if @md.sem_tag sem_marker_parts sem_marker_added_extra_parts end @para end |
#each_c ⇒ Object
68 69 70 |
# File 'lib/sisu/shared_sem.rb', line 68 def each_c /(?:[a-z]+(?:[_:.][a-z]+)+|[a-z]*):\{|\}:[a-z]+(?:[_:.][a-z]+)*/m end |
#each_csc ⇒ Object
65 66 67 |
# File 'lib/sisu/shared_sem.rb', line 65 def each_csc /(?:;|(?:[a-z]+(?:[_:.][a-z]+)+|[a-z]*):)\{|\}[:;][a-z]+(?:[_:.][a-z]+)*/m end |
#each_csc_ae ⇒ Object
86 87 88 |
# File 'lib/sisu/shared_sem.rb', line 86 def each_csc_ae /(?:;|(?:[a-z]+(?:[_:.][a-z]+)+)*:|[a-z]*:)\[|\][:;](?:[a-z]+(?:[_:.][a-z]+)+|[a-z]+)/m end |
#each_sc ⇒ Object
71 72 73 |
# File 'lib/sisu/shared_sem.rb', line 71 def each_sc /(?:[a-z]+(?:[_:.][a-z]+)+|[a-z]*);\{|\};[a-z]+(?:[_:.][a-z]+)*/m end |
#exclude ⇒ Object
62 63 64 |
# File 'lib/sisu/shared_sem.rb', line 62 def exclude /^(?:<:code>|%+ )/ end |
#if_pair_c ⇒ Object
102 103 104 105 106 |
# File 'lib/sisu/shared_sem.rb', line 102 def if_pair_c if @para=~/([a-z](?:[a-z_:.]+?[a-z])?)+(?::\{(.+?)\}:\1)/m puts "#{$1}:{ #{$2} }:#{$1}" end end |
#if_pair_sc ⇒ Object
107 108 109 110 111 |
# File 'lib/sisu/shared_sem.rb', line 107 def if_pair_sc if @para=~/;\{\s*(.+?)\s*\};([a-z]+(?:[_:.][a-z]+)*)/ puts ";{ #{$1} };#{$2}" end end |
#match_pair_c ⇒ Object
112 113 114 115 116 |
# File 'lib/sisu/shared_sem.rb', line 112 def match_pair_c matched=[] matched=rgx.pair_c.match(@para)[1] if @para =~ rgx.pair_c puts matched unless matched.nil? end |
#match_pair_sc ⇒ Object
117 118 119 120 121 |
# File 'lib/sisu/shared_sem.rb', line 117 def match_pair_sc matched=[] matched=rgx.pair_sc.match(@para)[1] if @para =~ rgx.pair_sc puts matched unless matched.nil? end |
#matching ⇒ Object
122 123 124 |
# File 'lib/sisu/shared_sem.rb', line 122 def matching scan_pair_c end |
#pair_c ⇒ Object
77 78 79 |
# File 'lib/sisu/shared_sem.rb', line 77 def pair_c /(([a-z]+(?:[_:.][a-z]+)*)(?::\{(.+?)\}:\2)|:\{(.+?)\}:[a-z]+(?:[_:.][a-z]+)*)/m end |
#pair_csc ⇒ Object
74 75 76 |
# File 'lib/sisu/shared_sem.rb', line 74 def pair_csc /(([a-z]+(?:[_:.][a-z]+)+|[a-z]+)(?::\{(.+?)\}:\2)|([:;])\{(.+?)\}\4[a-z]+(?:[_:.][a-z]+)*)/m end |
#pair_sc ⇒ Object
80 81 82 |
# File 'lib/sisu/shared_sem.rb', line 80 def pair_sc /(;\{.+?\};[a-z]+(?:[_:.][a-z]+)*)/m end |
#print ⇒ Object
91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 |
# File 'lib/sisu/shared_sem.rb', line 91 def print def scan_pair_c if @para =~ rgx.pair_c matched=@para.scan(rgx.pair_c).flatten puts matched[0] unless matched[0].nil? end end def scan_pair_sc matched=@para.scan(rgx.pair_sc).flatten puts matched[0] unless matched[0].nil? end def if_pair_c if @para=~/([a-z](?:[a-z_:.]+?[a-z])?)+(?::\{(.+?)\}:\1)/m puts "#{$1}:{ #{$2} }:#{$1}" end end def if_pair_sc if @para=~/;\{\s*(.+?)\s*\};([a-z]+(?:[_:.][a-z]+)*)/ puts ";{ #{$1} };#{$2}" end end def match_pair_c matched=[] matched=rgx.pair_c.match(@para)[1] if @para =~ rgx.pair_c puts matched unless matched.nil? end def match_pair_sc matched=[] matched=rgx.pair_sc.match(@para)[1] if @para =~ rgx.pair_sc puts matched unless matched.nil? end def matching scan_pair_c end self end |
#rgx ⇒ Object
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
# File 'lib/sisu/shared_sem.rb', line 61 def rgx def exclude /^(?:<:code>|%+ )/ end def each_csc /(?:;|(?:[a-z]+(?:[_:.][a-z]+)+|[a-z]*):)\{|\}[:;][a-z]+(?:[_:.][a-z]+)*/m end def each_c /(?:[a-z]+(?:[_:.][a-z]+)+|[a-z]*):\{|\}:[a-z]+(?:[_:.][a-z]+)*/m end def each_sc /(?:[a-z]+(?:[_:.][a-z]+)+|[a-z]*);\{|\};[a-z]+(?:[_:.][a-z]+)*/m end def pair_csc /(([a-z]+(?:[_:.][a-z]+)+|[a-z]+)(?::\{(.+?)\}:\2)|([:;])\{(.+?)\}\4[a-z]+(?:[_:.][a-z]+)*)/m end def pair_c /(([a-z]+(?:[_:.][a-z]+)*)(?::\{(.+?)\}:\2)|:\{(.+?)\}:[a-z]+(?:[_:.][a-z]+)*)/m end def pair_sc /(;\{.+?\};[a-z]+(?:[_:.][a-z]+)*)/m end def whole_csc_ae /(([a-z]+(?:[_.][a-z]+)+|[a-z]*)(?::\[(.+?)\]:\2)|;\{(.+?)\};(?:[a-z]+(?:[_:.][a-z]+)+|[a-z]+)\b)/m end def each_csc_ae /(?:;|(?:[a-z]+(?:[_:.][a-z]+)+)*:|[a-z]*:)\[|\][:;](?:[a-z]+(?:[_:.][a-z]+)+|[a-z]+)/m end self end |
#rm ⇒ Object
127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 |
# File 'lib/sisu/shared_sem.rb', line 127 def rm def sem_marker_parts unless @para =~ rgx.exclude @para.gsub!(rgx.each_csc,'') end @para end def sem_marker_added_extra_parts unless @para =~ rgx.exclude @para.gsub!(rgx.whole_csc_ae,'') if @para =~rgx.each_csc_ae STDERR.puts "WARNING semantic tagging error: #{@para}" end end @para end def all if @md.sem_tag sem_marker_parts sem_marker_added_extra_parts end @para end self end |
#scan_pair_c ⇒ Object
92 93 94 95 96 97 |
# File 'lib/sisu/shared_sem.rb', line 92 def scan_pair_c if @para =~ rgx.pair_c matched=@para.scan(rgx.pair_c).flatten puts matched[0] unless matched[0].nil? end end |
#scan_pair_sc ⇒ Object
98 99 100 101 |
# File 'lib/sisu/shared_sem.rb', line 98 def scan_pair_sc matched=@para.scan(rgx.pair_sc).flatten puts matched[0] unless matched[0].nil? end |
#sem_marker_added_extra_parts ⇒ Object
134 135 136 137 138 139 140 141 142 |
# File 'lib/sisu/shared_sem.rb', line 134 def sem_marker_added_extra_parts unless @para =~ rgx.exclude @para.gsub!(rgx.whole_csc_ae,'') if @para =~rgx.each_csc_ae STDERR.puts "WARNING semantic tagging error: #{@para}" end end @para end |
#sem_marker_parts ⇒ Object
128 129 130 131 132 133 |
# File 'lib/sisu/shared_sem.rb', line 128 def sem_marker_parts unless @para =~ rgx.exclude @para.gsub!(rgx.each_csc,'') end @para end |
#whole_csc_ae ⇒ Object
83 84 85 |
# File 'lib/sisu/shared_sem.rb', line 83 def whole_csc_ae /(([a-z]+(?:[_.][a-z]+)+|[a-z]*)(?::\[(.+?)\]:\2)|;\{(.+?)\};(?:[a-z]+(?:[_:.][a-z]+)+|[a-z]+)\b)/m end |