Sha256: 9c3dc89592d82b5d7e2095c71d37a3e29dc6af9876b2f5d7f055e9f271f1c0f2
Contents?: true
Size: 713 Bytes
Versions: 41
Compression:
Stored size: 713 Bytes
Contents
# frozen_string_literal: true require_relative "parse" require_relative "constants" require_relative "transform" module Plurimath class Asciimath class Parser attr_accessor :text def initialize(text) @text = text &.gsub(/(\|:|:\|)/, "|") &.gsub(/(\{:)/, "ℒ") &.gsub(/(:\})/, "ℛ") &.gsub(/(\(:)/, "ᑕ") &.gsub(/(:\))/, "ᑐ") end def parse nodes = Parse.new.parse(text) transformed_tree = Transform.new.apply(nodes) return transformed_tree if transformed_tree.is_a?(Math::Formula) Math::Formula.new(transformed_tree) end end end end
Version data entries
41 entries across 41 versions & 1 rubygems