lbessard@49: /* msousa@264: * matiec - a compiler for the programming languages defined in IEC 61131-3 msousa@264: * msousa@264: * Copyright (C) 2008 Edouard TISSERANT msousa@264: * msousa@264: * This program is free software: you can redistribute it and/or modify msousa@264: * it under the terms of the GNU General Public License as published by msousa@264: * the Free Software Foundation, either version 3 of the License, or msousa@264: * (at your option) any later version. msousa@264: * msousa@264: * This program is distributed in the hope that it will be useful, msousa@264: * but WITHOUT ANY WARRANTY; without even the implied warranty of msousa@264: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the msousa@264: * GNU General Public License for more details. msousa@264: * msousa@264: * You should have received a copy of the GNU General Public License msousa@264: * along with this program. If not, see . msousa@264: * lbessard@49: * lbessard@49: * This code is made available on the understanding that it will not be lbessard@49: * used in safety-critical situations without a full and competent review. lbessard@49: */ etisserant@40: lbessard@49: /* msousa@264: * An IEC 61131-3 compiler. lbessard@49: * lbessard@49: * Based on the lbessard@49: * FINAL DRAFT - IEC 61131-3, 2nd Ed. (2001-12-10) lbessard@49: * lbessard@49: */ lbessard@149: lbessard@149: /**** lbessard@149: * IEC 61131-3 standard function library lbessard@149: * generated code, do not edit by hand lbessard@149: */ lbessard@49: lbessard@49: etisserant@40: const char *standard_function_names[] = { lbessard@149: "REAL_TO_SINT", lbessard@149: "REAL_TO_LINT", lbessard@149: "REAL_TO_DINT", lbessard@149: "REAL_TO_DATE", lbessard@149: "REAL_TO_DWORD", lbessard@149: "REAL_TO_DT", lbessard@149: "REAL_TO_TOD", lbessard@149: "REAL_TO_UDINT", lbessard@149: "REAL_TO_WORD", lbessard@149: "REAL_TO_STRING", lbessard@149: "REAL_TO_LWORD", lbessard@149: "REAL_TO_UINT", lbessard@149: "REAL_TO_LREAL", lbessard@149: "REAL_TO_BYTE", lbessard@149: "REAL_TO_USINT", lbessard@149: "REAL_TO_ULINT", lbessard@149: "REAL_TO_BOOL", lbessard@149: "REAL_TO_TIME", lbessard@149: "REAL_TO_INT", lbessard@149: "SINT_TO_REAL", lbessard@149: "SINT_TO_LINT", lbessard@149: "SINT_TO_DINT", lbessard@149: "SINT_TO_DATE", lbessard@149: "SINT_TO_DWORD", lbessard@149: "SINT_TO_DT", lbessard@149: "SINT_TO_TOD", lbessard@149: "SINT_TO_UDINT", lbessard@149: "SINT_TO_WORD", lbessard@149: "SINT_TO_STRING", lbessard@149: "SINT_TO_LWORD", lbessard@149: "SINT_TO_UINT", lbessard@149: "SINT_TO_LREAL", lbessard@149: "SINT_TO_BYTE", lbessard@149: "SINT_TO_USINT", lbessard@149: "SINT_TO_ULINT", lbessard@149: "SINT_TO_BOOL", lbessard@149: "SINT_TO_TIME", lbessard@149: "SINT_TO_INT", lbessard@149: "LINT_TO_REAL", lbessard@149: "LINT_TO_SINT", lbessard@149: "LINT_TO_DINT", lbessard@149: "LINT_TO_DATE", lbessard@149: "LINT_TO_DWORD", lbessard@149: "LINT_TO_DT", lbessard@149: "LINT_TO_TOD", lbessard@149: "LINT_TO_UDINT", lbessard@149: "LINT_TO_WORD", lbessard@149: "LINT_TO_STRING", lbessard@149: "LINT_TO_LWORD", lbessard@149: "LINT_TO_UINT", lbessard@149: "LINT_TO_LREAL", lbessard@149: "LINT_TO_BYTE", lbessard@149: "LINT_TO_USINT", lbessard@149: "LINT_TO_ULINT", lbessard@149: "LINT_TO_BOOL", lbessard@149: "LINT_TO_TIME", lbessard@149: "LINT_TO_INT", lbessard@149: "DINT_TO_REAL", lbessard@149: "DINT_TO_SINT", lbessard@149: "DINT_TO_LINT", lbessard@149: "DINT_TO_DATE", lbessard@149: "DINT_TO_DWORD", lbessard@149: "DINT_TO_DT", lbessard@149: "DINT_TO_TOD", lbessard@149: "DINT_TO_UDINT", lbessard@149: "DINT_TO_WORD", lbessard@149: "DINT_TO_STRING", lbessard@149: "DINT_TO_LWORD", lbessard@149: "DINT_TO_UINT", lbessard@149: "DINT_TO_LREAL", lbessard@149: "DINT_TO_BYTE", lbessard@149: "DINT_TO_USINT", lbessard@149: "DINT_TO_ULINT", lbessard@149: "DINT_TO_BOOL", lbessard@149: "DINT_TO_TIME", lbessard@149: "DINT_TO_INT", lbessard@149: "DATE_TO_REAL", lbessard@149: "DATE_TO_SINT", lbessard@149: "DATE_TO_LINT", lbessard@149: "DATE_TO_DINT", lbessard@149: "DATE_TO_DWORD", lbessard@149: "DATE_TO_UDINT", lbessard@149: "DATE_TO_WORD", lbessard@149: "DATE_TO_STRING", lbessard@149: "DATE_TO_LWORD", lbessard@149: "DATE_TO_UINT", lbessard@149: "DATE_TO_LREAL", lbessard@149: "DATE_TO_BYTE", lbessard@149: "DATE_TO_USINT", lbessard@149: "DATE_TO_ULINT", lbessard@149: "DATE_TO_INT", lbessard@149: "DWORD_TO_REAL", lbessard@149: "DWORD_TO_SINT", lbessard@149: "DWORD_TO_LINT", lbessard@149: "DWORD_TO_DINT", lbessard@149: "DWORD_TO_DATE", lbessard@149: "DWORD_TO_DT", lbessard@149: "DWORD_TO_TOD", lbessard@149: "DWORD_TO_UDINT", lbessard@149: "DWORD_TO_WORD", lbessard@149: "DWORD_TO_STRING", lbessard@149: "DWORD_TO_LWORD", lbessard@149: "DWORD_TO_UINT", lbessard@149: "DWORD_TO_LREAL", lbessard@149: "DWORD_TO_BYTE", lbessard@149: "DWORD_TO_USINT", lbessard@149: "DWORD_TO_ULINT", lbessard@149: "DWORD_TO_BOOL", lbessard@149: "DWORD_TO_TIME", lbessard@149: "DWORD_TO_INT", lbessard@149: "DT_TO_REAL", lbessard@149: "DT_TO_SINT", lbessard@149: "DT_TO_LINT", lbessard@149: "DT_TO_DINT", lbessard@149: "DT_TO_DWORD", lbessard@149: "DT_TO_UDINT", lbessard@149: "DT_TO_WORD", lbessard@149: "DT_TO_STRING", lbessard@149: "DT_TO_LWORD", lbessard@149: "DT_TO_UINT", lbessard@149: "DT_TO_LREAL", lbessard@149: "DT_TO_BYTE", lbessard@149: "DT_TO_USINT", lbessard@149: "DT_TO_ULINT", lbessard@149: "DT_TO_INT", lbessard@149: "TOD_TO_REAL", lbessard@149: "TOD_TO_SINT", lbessard@149: "TOD_TO_LINT", lbessard@149: "TOD_TO_DINT", lbessard@149: "TOD_TO_DWORD", lbessard@149: "TOD_TO_UDINT", lbessard@149: "TOD_TO_WORD", lbessard@149: "TOD_TO_STRING", lbessard@149: "TOD_TO_LWORD", lbessard@149: "TOD_TO_UINT", lbessard@149: "TOD_TO_LREAL", lbessard@149: "TOD_TO_BYTE", lbessard@149: "TOD_TO_USINT", lbessard@149: "TOD_TO_ULINT", lbessard@149: "TOD_TO_INT", lbessard@149: "UDINT_TO_REAL", lbessard@149: "UDINT_TO_SINT", lbessard@149: "UDINT_TO_LINT", lbessard@149: "UDINT_TO_DINT", lbessard@149: "UDINT_TO_DATE", lbessard@149: "UDINT_TO_DWORD", lbessard@149: "UDINT_TO_DT", lbessard@149: "UDINT_TO_TOD", lbessard@149: "UDINT_TO_WORD", lbessard@149: "UDINT_TO_STRING", lbessard@149: "UDINT_TO_LWORD", lbessard@149: "UDINT_TO_UINT", lbessard@149: "UDINT_TO_LREAL", lbessard@149: "UDINT_TO_BYTE", lbessard@149: "UDINT_TO_USINT", lbessard@149: "UDINT_TO_ULINT", lbessard@149: "UDINT_TO_BOOL", lbessard@149: "UDINT_TO_TIME", lbessard@149: "UDINT_TO_INT", lbessard@149: "WORD_TO_REAL", lbessard@149: "WORD_TO_SINT", lbessard@149: "WORD_TO_LINT", lbessard@149: "WORD_TO_DINT", lbessard@149: "WORD_TO_DATE", lbessard@149: "WORD_TO_DWORD", lbessard@149: "WORD_TO_DT", lbessard@149: "WORD_TO_TOD", lbessard@149: "WORD_TO_UDINT", lbessard@149: "WORD_TO_STRING", lbessard@149: "WORD_TO_LWORD", lbessard@149: "WORD_TO_UINT", lbessard@149: "WORD_TO_LREAL", lbessard@149: "WORD_TO_BYTE", lbessard@149: "WORD_TO_USINT", lbessard@149: "WORD_TO_ULINT", lbessard@149: "WORD_TO_BOOL", lbessard@149: "WORD_TO_TIME", lbessard@149: "WORD_TO_INT", lbessard@149: "STRING_TO_REAL", lbessard@149: "STRING_TO_SINT", lbessard@149: "STRING_TO_LINT", lbessard@149: "STRING_TO_DINT", lbessard@149: "STRING_TO_DATE", lbessard@149: "STRING_TO_DWORD", lbessard@149: "STRING_TO_DT", lbessard@149: "STRING_TO_TOD", lbessard@149: "STRING_TO_UDINT", lbessard@149: "STRING_TO_WORD", lbessard@149: "STRING_TO_LWORD", lbessard@149: "STRING_TO_UINT", lbessard@149: "STRING_TO_LREAL", lbessard@149: "STRING_TO_BYTE", lbessard@149: "STRING_TO_USINT", lbessard@149: "STRING_TO_ULINT", lbessard@149: "STRING_TO_BOOL", lbessard@149: "STRING_TO_TIME", lbessard@149: "STRING_TO_INT", lbessard@149: "LWORD_TO_REAL", lbessard@149: "LWORD_TO_SINT", lbessard@149: "LWORD_TO_LINT", lbessard@149: "LWORD_TO_DINT", lbessard@149: "LWORD_TO_DATE", lbessard@149: "LWORD_TO_DWORD", lbessard@149: "LWORD_TO_DT", lbessard@149: "LWORD_TO_TOD", lbessard@149: "LWORD_TO_UDINT", lbessard@149: "LWORD_TO_WORD", lbessard@149: "LWORD_TO_STRING", lbessard@149: "LWORD_TO_UINT", lbessard@149: "LWORD_TO_LREAL", lbessard@149: "LWORD_TO_BYTE", lbessard@149: "LWORD_TO_USINT", lbessard@149: "LWORD_TO_ULINT", lbessard@149: "LWORD_TO_BOOL", lbessard@149: "LWORD_TO_TIME", lbessard@149: "LWORD_TO_INT", lbessard@149: "UINT_TO_REAL", lbessard@149: "UINT_TO_SINT", lbessard@149: "UINT_TO_LINT", lbessard@149: "UINT_TO_DINT", lbessard@149: "UINT_TO_DATE", lbessard@149: "UINT_TO_DWORD", lbessard@149: "UINT_TO_DT", lbessard@149: "UINT_TO_TOD", lbessard@149: "UINT_TO_UDINT", lbessard@149: "UINT_TO_WORD", lbessard@149: "UINT_TO_STRING", lbessard@149: "UINT_TO_LWORD", lbessard@149: "UINT_TO_LREAL", lbessard@149: "UINT_TO_BYTE", lbessard@149: "UINT_TO_USINT", lbessard@149: "UINT_TO_ULINT", lbessard@149: "UINT_TO_BOOL", lbessard@149: "UINT_TO_TIME", lbessard@149: "UINT_TO_INT", lbessard@149: "LREAL_TO_REAL", lbessard@149: "LREAL_TO_SINT", lbessard@149: "LREAL_TO_LINT", lbessard@149: "LREAL_TO_DINT", lbessard@149: "LREAL_TO_DATE", lbessard@149: "LREAL_TO_DWORD", lbessard@149: "LREAL_TO_DT", lbessard@149: "LREAL_TO_TOD", lbessard@149: "LREAL_TO_UDINT", lbessard@149: "LREAL_TO_WORD", lbessard@149: "LREAL_TO_STRING", lbessard@149: "LREAL_TO_LWORD", lbessard@149: "LREAL_TO_UINT", lbessard@149: "LREAL_TO_BYTE", lbessard@149: "LREAL_TO_USINT", lbessard@149: "LREAL_TO_ULINT", lbessard@149: "LREAL_TO_BOOL", lbessard@149: "LREAL_TO_TIME", lbessard@149: "LREAL_TO_INT", lbessard@149: "BYTE_TO_REAL", lbessard@149: "BYTE_TO_SINT", lbessard@149: "BYTE_TO_LINT", lbessard@149: "BYTE_TO_DINT", lbessard@149: "BYTE_TO_DATE", lbessard@149: "BYTE_TO_DWORD", lbessard@149: "BYTE_TO_DT", lbessard@149: "BYTE_TO_TOD", lbessard@149: "BYTE_TO_UDINT", lbessard@149: "BYTE_TO_WORD", lbessard@149: "BYTE_TO_STRING", lbessard@149: "BYTE_TO_LWORD", lbessard@149: "BYTE_TO_UINT", lbessard@149: "BYTE_TO_LREAL", lbessard@149: "BYTE_TO_USINT", lbessard@149: "BYTE_TO_ULINT", lbessard@149: "BYTE_TO_BOOL", lbessard@149: "BYTE_TO_TIME", lbessard@149: "BYTE_TO_INT", lbessard@149: "USINT_TO_REAL", lbessard@149: "USINT_TO_SINT", lbessard@149: "USINT_TO_LINT", lbessard@149: "USINT_TO_DINT", lbessard@149: "USINT_TO_DATE", lbessard@149: "USINT_TO_DWORD", lbessard@149: "USINT_TO_DT", lbessard@149: "USINT_TO_TOD", lbessard@149: "USINT_TO_UDINT", lbessard@149: "USINT_TO_WORD", lbessard@149: "USINT_TO_STRING", lbessard@149: "USINT_TO_LWORD", lbessard@149: "USINT_TO_UINT", lbessard@149: "USINT_TO_LREAL", lbessard@149: "USINT_TO_BYTE", lbessard@149: "USINT_TO_ULINT", lbessard@149: "USINT_TO_BOOL", lbessard@149: "USINT_TO_TIME", lbessard@149: "USINT_TO_INT", lbessard@149: "ULINT_TO_REAL", lbessard@149: "ULINT_TO_SINT", lbessard@149: "ULINT_TO_LINT", lbessard@149: "ULINT_TO_DINT", lbessard@149: "ULINT_TO_DATE", lbessard@149: "ULINT_TO_DWORD", lbessard@149: "ULINT_TO_DT", lbessard@149: "ULINT_TO_TOD", lbessard@149: "ULINT_TO_UDINT", lbessard@149: "ULINT_TO_WORD", lbessard@149: "ULINT_TO_STRING", lbessard@149: "ULINT_TO_LWORD", lbessard@149: "ULINT_TO_UINT", lbessard@149: "ULINT_TO_LREAL", lbessard@149: "ULINT_TO_BYTE", lbessard@149: "ULINT_TO_USINT", lbessard@149: "ULINT_TO_BOOL", lbessard@149: "ULINT_TO_TIME", lbessard@149: "ULINT_TO_INT", lbessard@149: "BOOL_TO_REAL", etisserant@40: "BOOL_TO_SINT", lbessard@149: "BOOL_TO_LINT", lbessard@149: "BOOL_TO_DINT", lbessard@149: "BOOL_TO_DATE", lbessard@149: "BOOL_TO_DWORD", lbessard@149: "BOOL_TO_DT", lbessard@149: "BOOL_TO_TOD", lbessard@149: "BOOL_TO_UDINT", lbessard@149: "BOOL_TO_WORD", lbessard@149: "BOOL_TO_STRING", lbessard@149: "BOOL_TO_LWORD", lbessard@149: "BOOL_TO_UINT", lbessard@149: "BOOL_TO_LREAL", lbessard@149: "BOOL_TO_BYTE", lbessard@149: "BOOL_TO_USINT", lbessard@149: "BOOL_TO_ULINT", lbessard@149: "BOOL_TO_TIME", etisserant@40: "BOOL_TO_INT", lbessard@149: "TIME_TO_REAL", lbessard@149: "TIME_TO_SINT", lbessard@149: "TIME_TO_LINT", lbessard@149: "TIME_TO_DINT", lbessard@149: "TIME_TO_DWORD", lbessard@149: "TIME_TO_UDINT", lbessard@149: "TIME_TO_WORD", lbessard@149: "TIME_TO_STRING", lbessard@149: "TIME_TO_LWORD", lbessard@149: "TIME_TO_UINT", lbessard@149: "TIME_TO_LREAL", lbessard@149: "TIME_TO_BYTE", lbessard@149: "TIME_TO_USINT", lbessard@149: "TIME_TO_ULINT", lbessard@149: "TIME_TO_INT", lbessard@149: "INT_TO_REAL", lbessard@149: "INT_TO_SINT", lbessard@149: "INT_TO_LINT", lbessard@149: "INT_TO_DINT", lbessard@149: "INT_TO_DATE", lbessard@149: "INT_TO_DWORD", lbessard@149: "INT_TO_DT", lbessard@149: "INT_TO_TOD", lbessard@149: "INT_TO_UDINT", lbessard@149: "INT_TO_WORD", lbessard@149: "INT_TO_STRING", lbessard@149: "INT_TO_LWORD", lbessard@149: "INT_TO_UINT", lbessard@149: "INT_TO_LREAL", lbessard@149: "INT_TO_BYTE", lbessard@149: "INT_TO_USINT", lbessard@149: "INT_TO_ULINT", etisserant@40: "INT_TO_BOOL", etisserant@40: "INT_TO_TIME", etisserant@40: "TRUNC", lbessard@149: "BCD_TO_UDINT", lbessard@149: "BCD_TO_UINT", lbessard@149: "BCD_TO_ULINT", etisserant@40: "BCD_TO_USINT", lbessard@149: "UDINT_TO_BCD", lbessard@149: "UINT_TO_BCD", etisserant@40: "USINT_TO_BCD", etisserant@40: "ULINT_TO_BCD", etisserant@40: "DATE_AND_TIME_TO_TIME_OF_DAY", etisserant@40: "DATE_AND_TIME_TO_DATE", etisserant@40: "ABS", etisserant@40: "SQRT", etisserant@40: "LN", etisserant@40: "LOG", etisserant@40: "EXP", etisserant@40: "SIN", etisserant@40: "COS", etisserant@40: "TAN", etisserant@40: "ASIN", etisserant@40: "ACOS", etisserant@40: "ATAN", etisserant@40: "ADD", etisserant@40: "MUL", etisserant@40: "SUB", etisserant@40: "DIV", etisserant@40: "MOD", etisserant@40: "EXPT", etisserant@40: "MOVE", etisserant@40: "SHL", etisserant@40: "SHR", etisserant@40: "ROR", etisserant@40: "ROL", etisserant@40: "AND", etisserant@40: "OR", etisserant@40: "XOR", etisserant@40: "NOT", etisserant@40: "SEL", etisserant@40: "MAX", etisserant@40: "MIN", etisserant@40: "LIMIT", etisserant@40: "MUX", etisserant@40: "GT", etisserant@40: "GE", etisserant@40: "EQ", etisserant@40: "LT", etisserant@40: "LE", etisserant@40: "NE", etisserant@40: "LEN", etisserant@40: "LEFT", etisserant@40: "RIGHT", etisserant@40: "MID", etisserant@40: "CONCAT", etisserant@40: "INSERT", etisserant@40: "DELETE", etisserant@40: "REPLACE", etisserant@40: "FIND", etisserant@40: etisserant@40: /* end of array marker! Do not remove! */ etisserant@40: NULL etisserant@40: }; etisserant@40: