absyntax_utils/search_base_type.cc
changeset 270 f1674941c3ad
parent 265 4d222f46f8cc
child 279 c0453b7f99df
--- a/absyntax_utils/search_base_type.cc	Fri Apr 01 11:10:06 2011 +0200
+++ b/absyntax_utils/search_base_type.cc	Mon Apr 04 13:25:39 2011 +0200
@@ -1,21 +1,28 @@
 /*
- * (c) 2003 Mario de Sousa
- *
- * Offered to the public under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
- * Public License for more details.
+ *  matiec - a compiler for the programming languages defined in IEC 61131-3
+ *
+ *  Copyright (C) 2003-2011  Mario de Sousa (msousa@fe.up.pt)
+ *
+ *  This program is free software: you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation, either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
  *
  * This code is made available on the understanding that it will not be
  * used in safety-critical situations without a full and competent review.
  */
 
 /*
- * An IEC 61131-3 IL and ST compiler.
+ * An IEC 61131-3 compiler.
  *
  * Based on the
  * FINAL DRAFT - IEC 61131-3, 2nd Ed. (2001-12-10)
@@ -85,10 +92,14 @@
   * If 'x' were a SINT, then the '30' would have to be a SINT too!
   */
 void *search_base_type_c::visit(real_c *symbol)          	{return (void *)symbol;}
+void *search_base_type_c::visit(neg_real_c *symbol)          	{return (void *)symbol;}
 void *search_base_type_c::visit(integer_c *symbol)       	{return (void *)symbol;}
+void *search_base_type_c::visit(neg_integer_c *symbol)       	{return (void *)symbol;}
 void *search_base_type_c::visit(binary_integer_c *symbol)	{return (void *)symbol;}
 void *search_base_type_c::visit(octal_integer_c *symbol) 	{return (void *)symbol;}
 void *search_base_type_c::visit(hex_integer_c *symbol)   	{return (void *)symbol;}
+void *search_base_type_c::visit(boolean_true_c *symbol)   	{return (void *)symbol;}
+void *search_base_type_c::visit(boolean_false_c *symbol)   	{return (void *)symbol;}
 
 
 /***********************************/
@@ -115,10 +126,8 @@
 void *search_base_type_c::visit(lword_type_name_c *symbol)	{return (void *)symbol;}
 void *search_base_type_c::visit(string_type_name_c *symbol)	{return (void *)symbol;}
 void *search_base_type_c::visit(wstring_type_name_c *symbol)	{return (void *)symbol;}
-/*
-void *search_base_type_c::visit(constant_int_type_name_c *symbol)	{return (void *)symbol;}
-void *search_base_type_c::visit(constant_real_type_name_c *symbol)	{return (void *)symbol;}
-*/
+
+
 /******************************************************/
 /* Extensions to the base standard as defined in      */
 /* "Safety Software Technical Specification,          */
@@ -126,7 +135,28 @@
 /*  Version 1.0 – Official Release"                   */
 /* by PLCopen - Technical Committee 5 - 2006-01-31    */
 /******************************************************/
-void *search_base_type_c::visit(safebool_type_name_c *symbol)	{return (void *)symbol;}
+
+void *search_base_type_c::visit(safetime_type_name_c *symbol)     {return (void *)symbol;}
+void *search_base_type_c::visit(safebool_type_name_c *symbol)     {return (void *)symbol;}
+void *search_base_type_c::visit(safesint_type_name_c *symbol)     {return (void *)symbol;}
+void *search_base_type_c::visit(safeint_type_name_c *symbol)      {return (void *)symbol;}
+void *search_base_type_c::visit(safedint_type_name_c *symbol)     {return (void *)symbol;}
+void *search_base_type_c::visit(safelint_type_name_c *symbol)     {return (void *)symbol;}
+void *search_base_type_c::visit(safeusint_type_name_c *symbol)    {return (void *)symbol;}
+void *search_base_type_c::visit(safeuint_type_name_c *symbol)     {return (void *)symbol;}
+void *search_base_type_c::visit(safeudint_type_name_c *symbol)    {return (void *)symbol;}
+void *search_base_type_c::visit(safeulint_type_name_c *symbol)    {return (void *)symbol;}
+void *search_base_type_c::visit(safereal_type_name_c *symbol)     {return (void *)symbol;}
+void *search_base_type_c::visit(safelreal_type_name_c *symbol)    {return (void *)symbol;}
+void *search_base_type_c::visit(safedate_type_name_c *symbol)     {return (void *)symbol;}
+void *search_base_type_c::visit(safetod_type_name_c *symbol)      {return (void *)symbol;}
+void *search_base_type_c::visit(safedt_type_name_c *symbol)       {return (void *)symbol;}
+void *search_base_type_c::visit(safebyte_type_name_c *symbol)     {return (void *)symbol;}
+void *search_base_type_c::visit(safeword_type_name_c *symbol)     {return (void *)symbol;}
+void *search_base_type_c::visit(safedword_type_name_c *symbol)    {return (void *)symbol;}
+void *search_base_type_c::visit(safelword_type_name_c *symbol)    {return (void *)symbol;}
+void *search_base_type_c::visit(safestring_type_name_c *symbol)   {return (void *)symbol;}
+void *search_base_type_c::visit(safewstring_type_name_c *symbol)  {return (void *)symbol;}
 
 /********************************/
 /* B 1.3.3 - Derived data types */