/* Objective Modula-2 Compiler (objm2c) * * objm2_pragma_ident_table.h * Pragma identifier master table * * 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.01 2009-08-02 BK new file */ // This file represents the PRAGMA IDENTIFIER MASTER TABLE for the ObjM2 // compiler, used to derive other tables which contain pragma identifiers, // thereby keeping those tables in synchronisation. Consequently, any // changes, additions or removals of pragma identifiers must be made in this // file, not anywhere else. Failing to do so will result in an incorrect // compiler as tables will no longer be synchronised. // // How to use this master table: // // The following code will generate a declaration for an enumeration of // pragma identifiers prefixed with PRAGMA_IDENT ... // // #define _add_pragma_ident(_suffix, _hash) PRAGMA_IDENT ## _suffix, // enum objm2_pragma_ident_t { // #include "objm2_pragma_ident_table.h" // } /* objm2_pragma_ident_t */; // #undef _add_pragma_ident // // Arguments for the _add_pragma_ident macro: // // 1st: pragma identifier suffix, must be preceeded by an underscore // 2nd: storage hash value for the pragma identifier, unsigned integer _add_pragma_ident( _IF, 0x0049123D) _add_pragma_ident( _ELSIF, 0x47E3AD09) _add_pragma_ident( _ELSE, 0x3015F279) _add_pragma_ident( _ENDIF, 0x1D8E65F8) _add_pragma_ident( _INFO, 0x6B20514E) _add_pragma_ident( _WARN, 0x7024F526) _add_pragma_ident( _ERROR, 0x5E948388) _add_pragma_ident( _FATAL, 0x0C7B2164) _add_pragma_ident( _INLINE, 0x78F32539) _add_pragma_ident( _NOINLINE, 0x3F96E73A) _add_pragma_ident( _FRAMEWORK, 0x46B41B9E) /* ObjM2 extension */ _add_pragma_ident( _IBAction, 0x6604A94F) /* ObjM2 extension */ _add_pragma_ident( _IBOutlet, 0x6480D4E6) /* ObjM2 extension */ _add_pragma_ident( _QUALIFIED, 0x219438BC) /* ObjM2 extension */ // END OF FILE