Sha256: 7d499308b94b4eb9e54d6c8a3e534dd25cd0109fc1d3cfa8f65074f00a5e2b48
Contents?: true
Size: 817 Bytes
Versions: 29
Compression:
Stored size: 817 Bytes
Contents
%%{ machine re_property; property_char = [pP]; property_sequence = property_char . '{' . '^'? (alnum|space|[_\-\.=])+ '}'; action premature_property_end { raise PrematureEndError.new('unicode property') } # Unicode properties scanner # -------------------------------------------------------------------------- unicode_property := |* property_sequence < eof(premature_property_end) { text = copy(data, ts-1, te) type = (text[1] == 'P') ^ (text[3] == '^') ? :nonproperty : :property name = data[ts+2..te-2].pack('c*').gsub(/[\^\s_\-]/, '').downcase token = self.class.short_prop_map[name] || self.class.long_prop_map[name] raise UnknownUnicodePropertyError.new(name) unless token self.emit(type, token.to_sym, text) fret; }; *|; }%%
Version data entries
29 entries across 23 versions & 8 rubygems