Software zum Installieren eines Smart-Mirror Frameworks , zum Nutzen von hochschulrelevanten Informationen, auf einem Raspberry-Pi.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

errors.ts 1.6KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. import { Token } from './lexer/Token'
  2. import { IntermediateResult } from './result/IntermediateResult'
  3. function tokenToString (token: Token): string {
  4. if (token.text !== undefined && token.text !== '') {
  5. return `'${token.type}' with value '${token.text}'`
  6. } else {
  7. return `'${token.type}'`
  8. }
  9. }
  10. export class NoParsletFoundError extends Error {
  11. private readonly token: Token
  12. constructor (token: Token) {
  13. super(`No parslet found for token: ${tokenToString(token)}`)
  14. this.token = token
  15. Object.setPrototypeOf(this, NoParsletFoundError.prototype)
  16. }
  17. getToken (): Token {
  18. return this.token
  19. }
  20. }
  21. export class EarlyEndOfParseError extends Error {
  22. private readonly token: Token
  23. constructor (token: Token) {
  24. super(`The parsing ended early. The next token was: ${tokenToString(token)}`)
  25. this.token = token
  26. Object.setPrototypeOf(this, EarlyEndOfParseError.prototype)
  27. }
  28. getToken (): Token {
  29. return this.token
  30. }
  31. }
  32. export class UnexpectedTypeError extends Error {
  33. constructor (result: IntermediateResult) {
  34. super(`Unexpected type: '${result.type}'`)
  35. Object.setPrototypeOf(this, UnexpectedTypeError.prototype)
  36. }
  37. }
  38. // export class UnexpectedTokenError extends Error {
  39. // private expected: Token
  40. // private found: Token
  41. //
  42. // constructor (expected: Token, found: Token) {
  43. // super(`The parsing ended early. The next token was: ${tokenToString(token)}`)
  44. //
  45. // this.token = token
  46. //
  47. // Object.setPrototypeOf(this, EarlyEndOfParseError.prototype)
  48. // }
  49. //
  50. // getToken() {
  51. // return this.token
  52. // }
  53. // }