Analyses

Building a parser

One example among many possibilities: build a StringParser from a data set.

using Tabulae, CitableParserBuilder
srcdata = joinpath(repo, "datasets", "core-infl-shared")
tabds = Tabulae.Dataset([srcdata])
parser = stringParser(tabds)
StringParser(["agricola|ls.n1626|forms.2010001100|latcommon.noun1626|latcommoninfl.a_ae13", "agricolae|ls.n1626|forms.2010001200|latcommon.noun1626|latcommoninfl.a_ae14", "agricolae|ls.n1626|forms.2010001300|latcommon.noun1626|latcommoninfl.a_ae15", "agricolam|ls.n1626|forms.2010001400|latcommon.noun1626|latcommoninfl.a_ae16", "agricola|ls.n1626|forms.2010001500|latcommon.noun1626|latcommoninfl.a_ae17", "agricola|ls.n1626|forms.2010001600|latcommon.noun1626|latcommoninfl.a_ae23", "agricolae|ls.n1626|forms.2020001100|latcommon.noun1626|latcommoninfl.a_ae18", "agricolarum|ls.n1626|forms.2020001200|latcommon.noun1626|latcommoninfl.a_ae19", "agricolis|ls.n1626|forms.2020001300|latcommon.noun1626|latcommoninfl.a_ae20", "agricolas|ls.n1626|forms.2020001400|latcommon.noun1626|latcommoninfl.a_ae21"  …  "audiremur|ls.n4453|forms.3122220000|latcommon.verbn4453|latcommon.ire_conj4impft22", "audiremini|ls.n4453|forms.3222220000|latcommon.verbn4453|latcommon.ire_conj4impft23", "audirentur|ls.n4453|forms.3322220000|latcommon.verbn4453|latcommon.ire_conj4impft24", "audiar|ls.n4453|forms.3113120000|latcommon.verbn4453|latcommon.ire_conj4fut7", "audieris|ls.n4453|forms.3213120000|latcommon.verbn4453|latcommon.ire_conj4fut8", "audiere|ls.n4453|forms.3213120000|latcommon.verbn4453|latcommon.ire_conj4fut8b", "audietur|ls.n4453|forms.3313120000|latcommon.verbn4453|latcommon.ire_conj4fut9", "audiemur|ls.n4453|forms.3123120000|latcommon.verbn4453|latcommon.ire_conj4fut10", "audiemini|ls.n4453|forms.3223120000|latcommon.verbn4453|latcommon.ire_conj4fut11", "audientur|ls.n4453|forms.3323120000|latcommon.verbn4453|latcommon.ire_conj4fut12"])

How to parse a token

results = parsetoken("donum", parser)
3-element Vector{CitableParserBuilder.Analysis}:
 CitableParserBuilder.Analysis("donum", ls.n14736, forms.2010003100, latcommon.nounn14736, nouninfl.us_i13)
 CitableParserBuilder.Analysis("donum", ls.n14736, forms.2010003400, latcommon.nounn14736, nouninfl.us_i16)
 CitableParserBuilder.Analysis("donum", ls.n14736, forms.2010003600, latcommon.nounn14736, nouninfl.us_i23)

Key points about analyses