# HG changeset patch # User mjsousa # Date 1336662927 -3600 # Node ID b654ca7a031a19db6cd2f8475096201c5d5ccc6d # Parent 3c39d80fdedeb36fee1f16cecdbb0a65c273b8f2 Add some comments... diff -r 3c39d80fdede -r b654ca7a031a stage3/lvalue_check.cc --- a/stage3/lvalue_check.cc Thu May 10 16:09:50 2012 +0100 +++ b/stage3/lvalue_check.cc Thu May 10 16:15:27 2012 +0100 @@ -32,6 +32,16 @@ */ + +/* Expressions on the left hand side of assignment statements have aditional restrictions on their datatype. + * For example, they cannot be literals, CONSTANT type variables, function invocations, etc... + * This class wil do those checks. + * + * Note that assignment may also be done when passing variables to OUTPUT or IN_OUT function parameters,so we check those too. + */ + + + #include "lvalue_check.hh" #define FIRST_(symbol1, symbol2) (((symbol1)->first_order < (symbol2)->first_order) ? (symbol1) : (symbol2)) diff -r 3c39d80fdede -r b654ca7a031a stage3/lvalue_check.hh --- a/stage3/lvalue_check.hh Thu May 10 16:09:50 2012 +0100 +++ b/stage3/lvalue_check.hh Thu May 10 16:15:27 2012 +0100 @@ -35,12 +35,16 @@ #include "../absyntax_utils/absyntax_utils.hh" #include "datatype_functions.hh" -/* - * In this class we implemented all lvalue check. - * With lvalue check we mean all semantic error about - * assignment with wrong access + +/* Expressions on the left hand side of assignment statements have aditional restrictions on their datatype. + * For example, they cannot be literals, CONSTANT type variables, function invocations, etc... + * This class wil do those checks. + * + * Note that assignment may also be done when passing variables to OUTPUT or IN_OUT function parameters,so we check those too. */ + + class lvalue_check_c: public iterator_visitor_c { private: