/* Objective Modula-2 Compiler (objm2c) * * objm2_productions.h * Definition of productions * * Author: Benjamin Kowarsch * * Copyright (C) 2009 The Objective Modula-2 Project. All rights reserved. * * License: * * Permission is hereby granted to review and test this software for the sole * purpose of supporting the effort by the licensor to define and develop the * Objective Modula-2 language. It is not permissible under any circumstances * to use the software for the purpose of creating derivative languages or * dialects. This permission is valid until 31 December 2009, 24:00h GMT. * * Future licensing: * * The licensor undertakes to eventually release this software under a proper * open source license AFTER the Objective Modula-2 language definition has * been finalised and a conforming and working reference compiler completed. * * Version history: * * 2.00 2009-09-20 BK new file */ #ifndef OBJM2_PRODUCTIONS_H #define OBJM2_PRODUCTIONS_H // --------------------------------------------------------------------------- // Enumeration type containing all productions // --------------------------------------------------------------------------- #define _add_production(_production, \ _fi0, _fi1, _fi2, _fi3, _fo0, _fo1, _fo2, _fo3) p ## _production, typedef enum /* objm2_production_t */ { #include "objm2_production_table.h" OBJM2_NUMBER_OF_PRODUCTIONS } objm2_production_t; #undef _add_production // --------------------------------------------------------------------------- // function: objm2_production_name( production ) // --------------------------------------------------------------------------- // // Returns the human readable name for production . // Returns NULL if the value of is invalid. const char *objm2_production_name(objm2_production_t production); #endif /* OBJM2_PRODUCTIONS_H */ // END OF FILE