From bc183ec5f40be6b93c3b3a2fc5b0b2fbc0c16493 Mon Sep 17 00:00:00 2001 From: kalmarek Date: Thu, 23 Apr 2020 16:43:40 +0200 Subject: [PATCH] generalize groupparse to arbitrary number of gens --- src/groupparse.jl | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/groupparse.jl b/src/groupparse.jl index bb0c6c6..09d6460 100644 --- a/src/groupparse.jl +++ b/src/groupparse.jl @@ -34,13 +34,17 @@ function parse_magma_fpgroup(str::AbstractString) end function parse_magma_fpgroup(gens_str::AbstractVector{<:AbstractString}, rels_str::AbstractVector{<:AbstractString}) - rels_expr = Meta.parse.(rels_str) - expr = :([$(rels_expr...)]) + + gens_arr = Symbol.(gens_str) + gens_expr = Expr(:tuple, gens_arr...) + + rels_arr = Meta.parse.(rels_str) + rels_expr = :([$(rels_arr...)]) F = FreeGroup(String.(gens_str)) relations = @eval begin - a,b,c = AbstractAlgebra.gens($F) - $expr + $gens_expr = AbstractAlgebra.gens($F); + $rels_expr end return F/relations