swissChili | 923bd53 | 2021-12-08 22:48:58 -0800 | [diff] [blame] | 1 | SETUP |
| 2 | |
| 3 | If you don't get console output from REFAL run: |
| 4 | export QT_LOGGING_RULES="*.debug=true" |
| 5 | |
| 6 | |
| 7 | DEPENDENCIES |
| 8 | |
swissChili | 323883d | 2022-02-20 16:35:23 -0800 | [diff] [blame] | 9 | Install libreadline-dev and libqt5core5a |
swissChili | c71acc6 | 2021-12-07 08:03:37 -0800 | [diff] [blame] | 10 | |
| 11 | |
| 12 | OPTIMIZATION POSSIBILITIES: |
| 13 | |
| 14 | When parsing e.* variables check the min length of the remaining tokens. If |
| 15 | we have `e.1 s.2' for instance, we can tell right away how long `e.1' wil |
| 16 | have to be. |
swissChili | 682e7bc | 2021-12-07 09:04:54 -0800 | [diff] [blame] | 17 | |
| 18 | |
| 19 | EVALUATION |
| 20 | |
| 21 | There are several parts to evaluation: |
| 22 | |
| 23 | - Pattern matching and delegation (which sentence of a function do we choose to evaluate) |
| 24 | - Expression evaluation (how do we expand an AstNode stream into a Token stream) |