init.lisp 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. "The compiler plugin infrastructure provides a way of modifying how the
  2. compiler processes code."
  3. (define-native logger/put-error!
  4. "Push an error message MSG to the logger"
  5. :bind-to "_compiler['logger/put-error!']")
  6. (define-native logger/put-warning!
  7. "Push an warning message MSG to the logger"
  8. :bind-to "_compiler['logger/put-warning!']")
  9. (define-native logger/put-verbose!
  10. "Push an verbose message MSG to the logger"
  11. :bind-to "_compiler['logger/put-verbose!']")
  12. (define-native logger/put-debug!
  13. "Push an verbose message MSG to the logger"
  14. :bind-to "_compiler['logger/put-debug!']")
  15. (define-native logger/put-node-error!
  16. "Push a defailed error message to the logger.
  17. You must provide a message MSG and a node NODE, additional
  18. explainations EXPLAIN can be provided, along with a series of
  19. LINES. These LINES are split into pairs of elements with the first
  20. designating it's position and the second a descriptive piece of
  21. text."
  22. :bind-to "_compiler['logger/put-node-error!']")
  23. (define-native logger/put-node-warning!
  24. "Push a warning message to the logger.
  25. You must provide a message MSG and a node NODE, additional
  26. explainations EXPLAIN can be provided, along with a series of
  27. LINES. These LINES are split into pairs of elements with the first
  28. designating it's position and the second a descriptive piece of
  29. text."
  30. :bind-to "_compiler['logger/put-node-warning!']")
  31. (define-native logger/do-node-error!
  32. "Push an error message to the logger, then fail.
  33. You must provide a message MSG and a node NODE, additional
  34. EXPLAINATIONS explain can be provided, along with a series of
  35. LINES. These LINES are split into pairs of elements with the first
  36. designating it's position and the second a descriptive piece of
  37. text."
  38. :bind-to "_compiler['logger/do-node-error!']")
  39. (define-native range/get-source
  40. "Get the nearest source position of NODE
  41. This will walk up NODE's tree until a non-macro node is found."
  42. :bind-to "_compiler['range/get-source']")
  43. (define-native flags
  44. "Get a list of all compiler flags."
  45. :bind-to "_compiler['flags']")
  46. (define-native flag?
  47. "Determine whether one of the given compiler FLAGS are set."
  48. :bind-to "_compiler['flag?']")