diff options
| author | hallgren <hallgren@chalmers.se> | 2012-09-21 10:45:10 +0000 |
|---|---|---|
| committer | hallgren <hallgren@chalmers.se> | 2012-09-21 10:45:10 +0000 |
| commit | d7890b628f4b06cae952bb5af97d37150a55bc7d (patch) | |
| tree | bc75d4f44873041c6277b15ca8dbbd28bd010bf9 /src/www/gfse/gf_abs.js | |
| parent | b3f6d3612b7e560791a54f6d56a8757ac9f060ca (diff) | |
gfse: added a new "matrix view" of grammars
Diffstat (limited to 'src/www/gfse/gf_abs.js')
| -rw-r--r-- | src/www/gfse/gf_abs.js | 11 |
1 files changed, 9 insertions, 2 deletions
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) { |
