=begin
* Name: SiSU
* Description: a framework for document structuring, publishing and search
Sematic tags
* Author: Ralph Amissah
* Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
2007,
2008 Ralph Amissah All Rights Reserved.
* License: GPL 3 or later:
SiSU, a framework for document structuring, publishing and search
Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
2007 Ralph Amissah
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the Free
Software Foundation, either version 3 of the License, or (at your option)
any later version.
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details.
You should have received a copy of the GNU General Public License along with
this program. If not, see .
If you have Internet connection, the latest version of the GPL should be
available at these locations:
* SiSU uses:
* Standard SiSU markup syntax,
* Standard SiSU meta-markup syntax, and the
* Standard SiSU object citation numbering and system
* Hompages:
* Download:
* Ralph Amissah
** Description: system environment, resource control and configuration details
=end
module SiSU_sem
class Tags
def initialize(para)
@para=para
end
def rgx
def exclude
/^<:code>/
end
def each_csc
/\b[a-z]+[:;]\{|\}[:;][a-z]+\b/m
#/\b(?:[a-z]+(?:[_.][a-z]+)+|[a-z]+)[:;]\{|\}[:;](?:[a-z]+(?:[_.][a-z]+)+|[a-z]+)\b/m
end
def each_c
/\b[a-z]+:\{|\}:[a-z]+\b/m
#/\b(?:[a-z]+(?:[_.][a-z]+)+|[a-z]+):\{|\}:(?:[a-z]+(?:[_.][a-z]+)+|[a-z]+)\b/m
end
def each_sc
/\b[a-z]+;\{|\};[a-z]+\b/m
#/\b(?:[a-z]+(?:[_.][a-z]+)+|[a-z]+);\{|\};(?:[a-z]+(?:[_.][a-z]+)+|[a-z]+)\b/m
end
def pair_csc
/(([a-z]+)(?::\{(.+?)\}:\2|;\{(.+?)\};\2))/m
#/(([a-z]+(?:[_.][a-z]+)+|[a-z]+)(?::\{(.+?)\}:\2|;\{(.+?)\};\2))/m
end
def pair_c
/(([a-z]+):\{(.+?)\}:\2)/m
#/(([a-z]+(?:[_.][a-z]+)+|[a-z]+):\{(.+?)\}:\2)/m
end
def pair_sc
/(([a-z]+);\{.+?\};\2)/m
#/(([a-z]+(?:[_.][a-z]+)+|[a-z]+);\{.+?\};\2)/m
end
def whole_csc_ae
/(([a-z]+)(?::\[(.+?)\]:\2|;\[(.+?)\];\2))/m
#/(([a-z]+(?:[_.][a-z]+)+|[a-z]+)(?::\[(.+?)\]:\2|;\[(.+?)\];\2))/m
end
def each_csc_ae
/\b[a-z]+[:;]\[|\][:;][a-z]+\b/m
#/\b(?:[a-z]+(?:[_.][a-z]+)+|[a-z]+)[:;]\[|\][:;](?:[a-z]+(?:[_.][a-z]+)+|[a-z]+)\b/m
end
self
end
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; puts "WARNING semantic taggin error: #@para"
end
end
@para
end
def all
sem_marker_parts
sem_marker_added_extra_parts
end
self
end
end
end
__END__