]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-0.0.9
authorfred <fred>
Thu, 31 Oct 1996 14:58:41 +0000 (14:58 +0000)
committerfred <fred>
Thu, 31 Oct 1996 14:58:41 +0000 (14:58 +0000)
hdr/symbol.hh [new file with mode: 0644]
src/symbol.cc [new file with mode: 0644]

diff --git a/hdr/symbol.hh b/hdr/symbol.hh
new file mode 100644 (file)
index 0000000..4f26e04
--- /dev/null
@@ -0,0 +1,27 @@
+#ifndef SYMBOL_HH
+#define SYMBOL_HH
+#include "string.hh"
+#include "boxes.hh"
+#include "proto.hh"
+
+struct Symbol {
+    String tex;
+    Box dim;
+
+    Symbol (String, Box);
+    Symbol();
+};
+
+struct Parametric_symbol {    
+    Symtables*symtables_;      // indirection 
+
+    /*****************/
+    
+    Parametric_symbol(Symtables*s) { symtables_ = s; }
+    Symbol eval(String args1) const; // convenience
+    Symbol eval(String args1,String arg2) const; // convenience
+    virtual Symbol eval(svec<String> args)const =0;
+    virtual ~Parametric_symbol(){}
+};
+
+#endif
diff --git a/src/symbol.cc b/src/symbol.cc
new file mode 100644 (file)
index 0000000..907f1d7
--- /dev/null
@@ -0,0 +1,32 @@
+#include "symbol.hh"
+
+Symbol::Symbol()
+    :    dim(Interval(0,0),Interval(0,0))
+{
+    tex = "\\unknown";
+}
+Symbol::Symbol(String s, Box b)
+    :  dim(b)
+{
+    tex = s;
+}
+
+/****************************************************************/
+
+Symbol
+Parametric_symbol::eval(String args1)const
+{
+    svec<String> a;
+    a.add(args1);
+    return eval(a);
+}
+
+Symbol
+Parametric_symbol::eval(String args1,String arg2)const
+{
+    svec<String> a;
+    a.add(args1);
+    a.add(arg2);
+    return eval(a);
+}
+