Patch title: Release 94 bulk changes
Abstract:
File: /pliant/language/type/number/int.pli
Key:
    Removed line
    Added line
   
# Copyright  Hubert Tonneau  hubert.tonneau@pliant.cx
#
# This program is free software; you can redistribute it and
# modify it under the terms of the GNU General Public Licens
# as published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be us
# but WITHOUT ANY WARRANTY; without even the implied warrant
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See 
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public 
# version 2 along with this program; if not, write to the Fr
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 


method data 'from string' string options may_skip skiped off
  arg_w Int data ; arg Str string options ; arg CBool may_sk
  var Int stop := string:len-1
  if not may_skip and stop<>(-1)
    stop := 0
  for (var Int i) 0 stop
    var Int c0 := string:i number
    if c0>="0":0:number and c0<="9":0:number
      skiped := i
      data := 0
      while i<string:len and { var Int c := string:i number 
        var Int data2 := 10*data + (c - "0":0:number)
        if data2\(cast 10 Int)<>data
          data := undefined
          return failure
        data := data2
        i := i+1
      offset := i
      return success
    eif c0="-":0:number and i+1<>string:len and string:(i+1)
      skiped := i
      i := i+1
      data := 0
      while i<string:len and { var Int c := string:i number 
        var Int data2 := 10*data + (c - "0":0:number)
        if data2\(cast 10 Int)<>data
          data := undefined
          return failure
        data := data2
        i := i+1
      data := -data
      offset := i
      return success
    eif c0="?":0:number
      data := undefined
      skiped := i
      offset := i+1
      return success
  data := undefined
# Copyright  Hubert Tonneau  hubert.tonneau@pliant.cx
#
# This program is free software; you can redistribute it and
# modify it under the terms of the GNU General Public Licens
# as published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be us
# but WITHOUT ANY WARRANTY; without even the implied warrant
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See 
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public 
# version 2 along with this program; if not, write to the Fr
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 


method data 'from string' string options may_skip skiped off
  arg_w Int data ; arg Str string options ; arg CBool may_sk
  var Int stop := string:len-1
  if not may_skip and stop<>(-1)
    stop := 0
  for (var Int i) 0 stop
    var Int c0 := string:i number
    if c0>="0":0:number and c0<="9":0:number
      skiped := i
      data := 0
      while i<string:len and { var Int c := string:i number 
        var Int data2 := 10*data + (c - "0":0:number)
        if data2\(cast 10 Int)<>data
          data := undefined
          return failure
        data := data2
        i := i+1
      offset := i
      return success
    eif c0="-":0:number and i+1<>string:len and string:(i+1)
      skiped := i
      i := i+1
      data := 0
      while i<string:len and { var Int c := string:i number 
        var Int data2 := 10*data + (c - "0":0:number)
        if data2\(cast 10 Int)<>data
          data := undefined
          return failure
        data := data2
        i := i+1
      data := -data
      offset := i
      return success
    eif c0="?":0:number
      data := undefined
      skiped := i
      offset := i+1
      return success
  data := undefined
  if string="" and options="db"
  if string="" and (options="db" or options="raw")
    status := success
  else
    status := failure



record_optimizer_function optimize_add "pliant optimizer rew
record_optimizer_function optimize_shift "pliant optimizer r
    status := success
  else
    status := failure



record_optimizer_function optimize_add "pliant optimizer rew
record_optimizer_function optimize_shift "pliant optimizer r