Index: packages/petitparser/lib/src/lisp/environment.dart |
diff --git a/packages/petitparser/lib/src/lisp/environment.dart b/packages/petitparser/lib/src/lisp/environment.dart |
deleted file mode 100644 |
index 579d4b9bb4b249f2b463ea275102f3d6cd57e138..0000000000000000000000000000000000000000 |
--- a/packages/petitparser/lib/src/lisp/environment.dart |
+++ /dev/null |
@@ -1,55 +0,0 @@ |
-part of petitparser.lisp; |
- |
-/// Environment of bindings. |
-class Environment { |
- |
- /// The owning environment. |
- final Environment _owner; |
- |
- /// The internal environment bindings. |
- final Map<Name, dynamic> _bindings; |
- |
- /// Constructor for the nested environment. |
- Environment([this._owner]) : _bindings = new Map(); |
- |
- /// Constructor for a nested environment. |
- Environment create() => new Environment(this); |
- |
- /// Return the binding for [key]. |
- operator [](Name key) { |
- if (_bindings.containsKey(key)) { |
- return _bindings[key]; |
- } else if (_owner != null) { |
- return _owner[key]; |
- } else { |
- return _invalidBinding(key); |
- } |
- } |
- |
- /// Updates the binding for [key] with a [value]. |
- void operator []=(Name key, value) { |
- if (_bindings.containsKey(key)) { |
- _bindings[key] = value; |
- } else if (_owner != null) { |
- _owner[key] = value; |
- } else { |
- _invalidBinding(key); |
- } |
- } |
- |
- /// Defines a new binding from [key] to [value]. |
- define(Name key, value) { |
- return _bindings[key] = value; |
- } |
- |
- /// Returns the keys of the bindings. |
- Iterable<Name> get keys => _bindings.keys; |
- |
- /// Returns the parent of the bindings. |
- Environment get owner => _owner; |
- |
- /// Called when a missing binding is accessed. |
- _invalidBinding(Name key) { |
- throw new ArgumentError('Unknown binding for $key'); |
- } |
-} |