overloaded API to symbol

This commit is contained in:
aarne
2006-11-23 13:13:15 +00:00
parent a98411e27f
commit e513418f68
2 changed files with 42 additions and 0 deletions

View File

@@ -0,0 +1,37 @@
incomplete resource Symbolic = open Symbol, Grammar in {
oper
symb : overload {
symb : Str -> NP ; -- x
symb : Int -> NP ; -- 23
symb : Float -> NP ; -- 0.99
symb : N -> Int -> NP ; -- level 4
symb : CN -> Num -> NP ; -- level four
symb : Det -> N -> Str -> Str -> NP ; -- the levels i and j
symb : Det -> CN -> [Symb] -> NP -- the basic levels i, j, and k
} ;
mkSymb : Str -> Symb ;
--.
symb = overload {
symb : Str -> NP
= \s -> UsePN (SymbPN (mkSymb s)) ;
symb : Int -> NP
= \i -> UsePN (IntPN i) ;
symb : Float -> NP
= \i -> UsePN (FloatPN i) ;
symb : N -> Int -> NP
= \c,i -> CNNumNP (UseN c) (NumInt i) ;
symb : CN -> Num -> NP
= \c,n -> CNNumNP c n ;
symb : Det -> N -> Str -> Str -> NP
= \c,n,x,y -> CNSymbNP c (UseN n) (BaseSymb (mkSymb x) (mkSymb y)) ;
symb : Det -> CN -> [Symb] -> NP
= CNSymbNP
} ;
mkSymb : Str -> Symb = \s -> {s = s ; lock_Symb = <>} ;
}

View File

@@ -0,0 +1,5 @@
--# -path=.:../abstract:../common:../english:../mathematical:prelude
resource SymbolicEng = Symbolic with
(Symbol = SymbolEng),
(Grammar = GrammarEng) ;