diff options
| author | hallgren <hallgren@chalmers.se> | 2012-02-27 17:18:05 +0000 |
|---|---|---|
| committer | hallgren <hallgren@chalmers.se> | 2012-02-27 17:18:05 +0000 |
| commit | 4441c957eafa2d107b11988a809f5c54ae97b9da (patch) | |
| tree | 79fc446b6efbe234eb8412aec681966ec9bc1bdf /src/www/gfse/gf_abs.js | |
| parent | c41974422f3dc460fcf8008a906adf49ba609019 (diff) | |
gfse: recognize Predef categories Int, Float and String
but don't show them in the startcat menu.
Diffstat (limited to 'src/www/gfse/gf_abs.js')
| -rw-r--r-- | src/www/gfse/gf_abs.js | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/www/gfse/gf_abs.js b/src/www/gfse/gf_abs.js index 2530a20db..e49837b7a 100644 --- a/src/www/gfse/gf_abs.js +++ b/src/www/gfse/gf_abs.js @@ -29,18 +29,24 @@ type Lhs = String -- name and type of oper, type Term = String -- arbitrary GF term (not parsed by the editor) */ -// locally_defined_cats :: Grammar -> {Cat=>Bool} -> {Cat=>Bool} // destr upd +// locally_defined_cats :: Grammar -> {Cat=>ModId} -> {Cat=>ModId} // destr upd function locally_defined_cats(g,dc) { with(g.abstract) for(var i in cats) dc[cats[i]]=g.basename; return dc; } -// all_defined_cats :: Grammar -> [Grammar] -> {Cat=>Bool} +// predefined_cats :: () -> {Cat=>ModId} +function predefined_cats() { + var pd = "Predef" + return { "Int":pd, "Float":pd, "String":pd} +} + +// all_defined_cats :: Grammar -> [Grammar] -> {Cat=>ModId} function all_defined_cats(g,igs) { - return all_inherited_cats(igs,locally_defined_cats(g,{})) + return all_inherited_cats(igs,locally_defined_cats(g,predefined_cats())) } -// all_inherited_cats :: [Grammar] -> {Cat=>Bool} -> {Cat=>Bool} // destr upd +// all_inherited_cats :: [Grammar] -> {Cat=>ModId} -> {Cat=>ModId} // destr upd function all_inherited_cats(igs,dc) { for(var i in igs) dc=locally_defined_cats(igs[i],dc) return dc; |
