| OLD | NEW |
| (Empty) |
| 1 library petitparser.example.lispweb; | |
| 2 | |
| 3 import 'dart:html'; | |
| 4 import 'package:petitparser/lisp.dart'; | |
| 5 | |
| 6 void inspector(Element element, Environment environment) { | |
| 7 var result = ''; | |
| 8 while (environment != null) { | |
| 9 result = '$result<ul>'; | |
| 10 for (var symbol in environment.keys) { | |
| 11 result = '$result<li><b>$symbol</b>: ${environment[symbol]}</li>'; | |
| 12 } | |
| 13 result = '$result</ul>'; | |
| 14 result = '$result<hr/>'; | |
| 15 environment = environment.owner; | |
| 16 } | |
| 17 element.innerHtml = result; | |
| 18 } | |
| 19 | |
| 20 void main() { | |
| 21 var root = new Environment(); | |
| 22 var native = Natives.import(root); | |
| 23 var standard = Standard.import(native.create()); | |
| 24 var environment = standard.create(); | |
| 25 | |
| 26 var input = querySelector('#input') as TextAreaElement; | |
| 27 var output = querySelector('#output') as TextAreaElement; | |
| 28 | |
| 29 querySelector('#evaluate').onClick.listen((event) { | |
| 30 var result = evalString(lispParser, environment, input.value); | |
| 31 output.value = result.toString(); | |
| 32 inspector(querySelector('#inspector'), environment); | |
| 33 }); | |
| 34 inspector(querySelector('#inspector'), environment); | |
| 35 } | |
| OLD | NEW |