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 |