about summary refs log tree commit diff
path: root/src/nix-instantiate/nixexpr.hh
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2003-11-19T11·35+0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2003-11-19T11·35+0000
commitac68840e79ce74f05ee8b31bb1d528c98b9c7f76 (patch)
tree98e8251d0537197b1c3e53068529f1e5e3114fdc /src/nix-instantiate/nixexpr.hh
parent2be8b5917a8040fac72e7970e94bbb436e8c35d6 (diff)
* Refactoring: put the Nix expression evaluator in its own library so
  that it can be used by multiple programs.

Diffstat (limited to 'src/nix-instantiate/nixexpr.hh')
-rw-r--r--src/nix-instantiate/nixexpr.hh75
1 files changed, 0 insertions, 75 deletions
diff --git a/src/nix-instantiate/nixexpr.hh b/src/nix-instantiate/nixexpr.hh
deleted file mode 100644
index 011c2900e12a..000000000000
--- a/src/nix-instantiate/nixexpr.hh
+++ /dev/null
@@ -1,75 +0,0 @@
-#ifndef __NIXEXPR_H
-#define __NIXEXPR_H
-
-#include <map>
-
-#include <aterm2.h>
-
-#include "util.hh"
-
-
-/* Nix expressions are represented as ATerms.  The maximal sharing
-   property of the ATerm library allows us to implement caching of
-   normals forms efficiently. */
-typedef ATerm Expr;
-
-
-/* Mappings from ATerms to ATerms.  This is just a wrapper around
-   ATerm tables. */
-class ATermMap
-{
-private:
-    unsigned int maxLoadPct;
-    ATermTable table;
-    
-public:
-    ATermMap(unsigned int initialSize = 16, unsigned int maxLoadPct = 75);
-    ATermMap(const ATermMap & map);
-    ~ATermMap();
-
-    void set(ATerm key, ATerm value);
-    void set(const string & key, ATerm value);
-
-    ATerm get(ATerm key) const;
-    ATerm get(const string & key) const;
-
-    void remove(ATerm key);
-    void remove(const string & key);
-
-    ATermList keys() const;
-};
-
-
-/* Convert a string to an ATerm (i.e., a quoted nullary function
-   applicaton). */
-ATerm string2ATerm(const string & s);
-string aterm2String(ATerm t);
-
-/* Generic bottomup traversal over ATerms.  The traversal first
-   recursively descends into subterms, and then applies the given term
-   function to the resulting term. */
-struct TermFun
-{
-    virtual ATerm operator () (ATerm e) = 0;
-};
-ATerm bottomupRewrite(TermFun & f, ATerm e);
-
-/* Query all attributes in an attribute set expression.  The
-   expression must be in normal form. */
-void queryAllAttrs(Expr e, ATermMap & attrs);
-
-/* Query a specific attribute from an attribute set expression.  The
-   expression must be in normal form. */
-Expr queryAttr(Expr e, const string & name);
-
-/* Create an attribute set expression from an Attrs value. */
-Expr makeAttrs(const ATermMap & attrs);
-
-/* Perform a set of substitutions on an expression. */
-Expr substitute(const ATermMap & subs, Expr e);
-
-/* Create an expression representing a boolean. */
-Expr makeBool(bool b);
-
-
-#endif /* !__NIXEXPR_H */