I told him that he's using GCbasic syntax instead of PBP, and asked to fix it.

While he (she, it?) is no longer using GCBasic style subroutine calls, it now uses some C++ syntax

Code:
' PICBASIC PRO code for reading voltage from ADS1115 via I2C


' Define I2C settings
#IFNDEF __PCM
  DEFINE I2C_SDA_PORT = PIN_A0   ' Define SDA pin
  DEFINE I2C_SCL_PORT = PIN_A1   ' Define SCL pin
#ENDIF
DEFINE I2C_CLOCK 100000   ' Set I2C clock frequency to 100 kHz


' Define constants
ADS1115_ADDRESS   CON   $48   ' I2C address of ADS1115 (A5 and A4 connected to GND)
CONFIG_REG        CON   $01   ' Address of the configuration register
CONVERSION_REG    CON   $00   ' Address of the conversion register


' Define variables
Data_MSB          VAR   BYTE
Data_LSB          VAR   BYTE
ConversionResult  VAR   WORD
Voltage           VAR   FLOAT


' Initialize I2C communication
I2CWRITE ADS1115_ADDRESS, [CONFIG_REG, $C3, $83] ' Set configuration for continuous conversion mode


' Main loop
DO
  ' Request a conversion
  I2CWRITE ADS1115_ADDRESS, [CONFIG_REG, $C3, $83] ' Start a new conversion
  
  ' Wait for conversion to complete
  PAUSE 50   ' Adjust the delay based on your requirements
  
  ' Read conversion result
  I2CREAD ADS1115_ADDRESS, [CONVERSION_REG], Data_MSB, Data_LSB
  ConversionResult = MAKEWORD(Data_MSB, Data_LSB)


  ' Process the result (assuming full-scale range is 4.096V)
  Voltage = ConversionResult * 4.096 / 32768.0
  
  ' Your code to use the Voltage value as needed
  
  ' Add a delay or perform other tasks as needed
  PAUSE 1000   ' Adjust the delay based on your requirements
LOOP