parseMacro function

Node parseMacro(
  1. Node parent,
  2. Token? label,
  3. Token opecode,
  4. List<Token> operand,
  5. Env env,
)

Implementation

Node parseMacro(
  final Node parent,
  final Token? label,
  final Token opecode,
  final List<Token> operand,
  final Env env,
) {
  final macro = macros[opecode.runesAsString];
  if (macro == null) {
    return ErrorNode(
      '[SYNTAX ERROR] ${opecode.runesAsString} not found.',
      start: opecode.start,
      end: opecode.end,
      lineStart: opecode.lineStart,
      lineNumber: opecode.lineNumber,
    );
  }

  return macro(
    parent,
    label,
    opecode,
    operand,
    env,
  );
}