/pliant/language/compiler/argument/argument1.pli
 
 1  # Copyright  Hubert Tonneau  hubert.tonneau@pliant.cx 
 2  # 
 3  # This program is free software; you can redistribute it and/or 
 4  # modify it under the terms of the GNU General Public License version 2 
 5  # as published by the Free Software Foundation. 
 6  # 
 7  # This program is distributed in the hope that it will be useful, 
 8  # but WITHOUT ANY WARRANTY; without even the implied warranty of 
 9  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
 10  # GNU General Public License for more details. 
 11  # 
 12  # You should have received a copy of the GNU General Public License 
 13  # version 2 along with this program; if not, write to the Free Software 
 14  # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. 
 15   
 16  scope "/pliant/language/" "/pliant/install/" 
 17  module "/pliant/install/ring1.pli" 
 18   
 19  public 
 20   
 21  constant argument_undefined  0 
 22  constant argument_constant   1 
 23  constant argument_register   2 
 24  constant argument_indirect   3 
 25  constant argument_local      4 
 26  constant argument_a_register 5 
 27   
 28  constant access_read       1 
 29  constant access_write      2 
 30  constant access_read_write 3 
 31  constant access_constant   4 
 32  constant access_byvalue    16 
 33  constant access_mapped     32 
 34  constant access_object     64 
 35   
 36  constant access_result_read       256 
 37  constant access_result_write      512 
 38  constant access_result_consistent 4096 
 39   
 40   
 41  function compare a1 a2 -> c 
 42    arg Argument a1 a2 ; arg Int c 
 43    if addressof:a1=addressof:a2 
 44      c := compare_equal 
 45    else 
 46      c := compare_different