view anagram/agcl/agcl.cpp @ 8:ec2b657edf13

Add explicit lint-comment-style fallthrough annotations. GCC now assumes that if you don't have these you're making a mistake, which is annoying. XXX: This changeset updates the AG output files only (by hand) and is XXX: abusive - rebuilding them will erase the change. However, I need XXX: to get things to build before I can try to get AG to issue the XXX: annotations itself, so this seems like a reasonable expedient.
author David A. Holland
date Mon, 30 May 2022 23:51:43 -0400
parents 13d2b8934445
children
line wrap: on
line source

/*
 * AnaGram, A System for Syntax Directed Programming
 * Copyright 1993-2002 Parsifal Software. All Rights Reserved.
 * Copyright 2006, 2007 David A. Holland. All Rights Reserved.
 * See the file COPYING for license and usage terms.
 *
 * agcl.cpp - main function for command line version
 */

#include <stdio.h>
#include <stdlib.h>
#include "port.h"

#define AG_EXE
#include "aglib.h"
#include "version.h"

//#define INCLUDE_LOGGING
#include "log.h"

#ifdef DUMMYGUI
void bailOut(const char *problem) {
  LOGSECTION("bailOut");
  LOGV(problem);
  LOGSTACK;
  fprintf(stderr, "%s\nUnexpected program termination\n", problem);
  exit(1);
  //IAssertionFailure exception("problem", 0);
  //throw(exception);
}
#endif

int main(int argc, char *argv[]) {
  LOGSECTION("Main Program");
  init(argv[0]);

  if (argc != 2) {
    fprintf(stderr, "\n");
    fprintf(stderr, "   AnaGram, A System for Syntax-Directed Programming\n");
    fprintf(stderr, "   %s\n", VERSIONSTRING);
    fprintf(stderr, "   Copyright 1993-2002 Parsifal Software.\n");
    fprintf(stderr, "   Copyright 2006, 2007 David A. Holland.\n");
    fprintf(stderr, "   All Rights Reserved.\n");
    fprintf(stderr, "\n");
    fprintf(stderr, "Usage: agcl <file name>\n");
    return 1;
  }

  return commandLineBuild(argv[1]);
}