From d7890b628f4b06cae952bb5af97d37150a55bc7d Mon Sep 17 00:00:00 2001 From: hallgren Date: Fri, 21 Sep 2012 10:45:10 +0000 Subject: gfse: added a new "matrix view" of grammars --- src/www/gfse/gf_abs.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'src/www/gfse/gf_abs.js') diff --git a/src/www/gfse/gf_abs.js b/src/www/gfse/gf_abs.js index 30f852196..caa83fa90 100644 --- a/src/www/gfse/gf_abs.js +++ b/src/www/gfse/gf_abs.js @@ -20,9 +20,9 @@ type Concrete = { langcode: Id, params: [{name: Id, rhs: String}], lincats : [{ cat: Cat, type: Term}], opers: [{name: Lhs, rhs: Term}], - lins: [{fun: FunId, args: [Id], lin: Term}] + lins: [Lin] } - +type Lin = {fun: FunId, args: [Id], lin: Term} type Lhs = String -- name and type of oper, -- e.g "regN : Str -> { s:Str,g:Gender} =" @@ -85,6 +85,13 @@ function cat_lincat(conc,cat) { return null; } +// Return the lin defined in a given concrete syntax for an abstract function +// cat_lincat :: Concrete -> FunId -> Lin +function fun_lin(conc,fun) { + with(conc) for(var i in lins) if(lins[i].fun==fun) return lins[i] + return null; +} + // Return the index of the concrete syntax with a given langcode // conc_index :: Grammar -> Id -> Int function conc_index(g,langcode) { -- cgit v1.2.3