A basic compiler based off of thejameskyle's super-tiny-compiler

stdlib.js 475B

1234567891011121314151617181920212223242526
  1. const global_obj = {}
  2. module.exports = {
  3. assign: function (ref, value) {
  4. global_obj[ref.name] = value.value
  5. },
  6. add: function (arg1, arg2) {
  7. return {
  8. value: (arg1.value + arg2.value)
  9. }
  10. },
  11. subtract: function (arg1, arg2) {
  12. return {
  13. value: (arg1.value - arg2.value)
  14. }
  15. },
  16. log: function (ref) {
  17. console.log(ref.value)
  18. },
  19. ref: function (refname) {
  20. return {
  21. name: refname,
  22. value: global_obj[refname]
  23. }
  24. }
  25. }