***** Краткие подсказки для компиляции и выполнения тестов. ******
Ниже предполагается, что
     (А) пользователь все действия выполняет из корнего каталога Рефала-5;
     (Б) для использования компиялтора crefal.ref также предполагается, что 
         переменной среды PATH присвоен путь к корневому каталогу Рефала-5.

Замечание: Для операционной системы Windows, если не оговорено противное,
           нижеследующин подсказки остаются верными после замены:
           --- linux -> Windows_cmd
           --- \ -> / , если \ входит в описание пути;
                напрмер, ниже в примере (1) /w остается неизменяемым, т.к. здесь
                /w указывает на опцию программы refpp.

(1-a) linux> ./refc refpp 
        linux> ./refgo refpp /w macros_h.ref test_h.ref
(1-b) windows> refc refpp 
      windows> cd examples
      windows> set REF5RSL=..
        windows> ..\refgo refpp /w macros_h.ref test_h.ref
(2) linux> ./refc crefal
        linux> ./refgo crefal refpp
        linux> ./refgo refpp /w macros_h.ref test_h.ref
(3)  linux> ./refc examples/Sirin.ref
        linux> ./refgo examples/Sirin
        linux> ./refgo crefal examples/Sirin
        linux> ./refgo examples/Sirin
(4) linux> ./refc examples/Chinese.ref
         linux> ./refgo examples/Chinese
         linux> ./refgo crefal examples/Chinese.ref
         linux> ./refgo examples/Chinese
(5) linux> ./refc test
         linux> ./refgo test
         linux> ./refgo crefal test
         linux> ./refgo test           
(6) linux> ./refc examples/Пример.реф
         linux> ./refgo examples/Пример
         linux> ./refgo crefal examples/Пример
         linux> ./refgo examples/Пример         
(7) linux> ./refc examples/Карфаген
         linux> ./refgo examples/Карфаген
         linux> ./refgo crefal examples/Карфаген.реф
         linux> ./refgo examples/Карфаген       
(8) linux> ./refc examples/cp-tt.ref
         linux> ./refgo crefal examples/cp-tt.ref
 ---- Этот пример (см. выше) используется только для тестирования компиляторов. Его нельзя запустить без других модулей на выполнение. 
(9) linux> ./refc examples/cp-tt-var.ref
         linux> ./refgo examples/cp-tt-var
         linux> ./refgo crefal examples/cp-tt-var.ref
         linux> ./refgo examples/cp-tt-var    
(10) linux> ./refc examples/test_tmp.ref
         linux> ./refgo examples/test_tmp
         linux> ./refgo crefal examples/test_tmp
         linux> ./refgo examples/test_tmp  
(11) windows> refc examples\Exoticus_Ⰱ_𑃐_㐕.ref
         windows> refgo examples\Exoticus_Ⰱ_𑃐_㐕
         windows> refgo crefal examples\Exoticus_Ⰱ_𑃐_㐕
         windows> refgo examples\Exoticus_Ⰱ_𑃐_㐕
(12) windows> refc examples\QuasiPalindrom
         windows> refgo examples\QuasiPalindrom
         windows> refgo crefal examples\QuasiPalindrom
         windows> refgo examples\QuasiPalindrom
(13) windows> refc examples\system
         windows> refgo examples\system
         windows> refgo crefal examples\system
         windows> refgo examples\system


(14) linux> ./refc reflib
                  linux> ./refc examples/Pprout
                  linux> ./refgo examples/Pprout+reflib
                  linux> ./refgo crefal examples/Pprout
                  linux> ./refgo crefal reflib
                  linux> ./refgo examples/Pprout+reflib
     Часть функций из этой библиотеки описана в книге Турчина: http://refal.botik.ru/book/html/
     См., например, главы:
                           2.3 Input-Output, 
                           3.7 Dealing with Nested Parentheses 
     Краткие пояснения к другим можно найти в исходных текстах reflib.ref  
     
(15) linux> ./refc e.ref
                  linux> ./refc examples/test_e
                  linux> ./refgo examples/test_e+e
                  linux> ./refgo crefal examples/test_e
                  linux> ./refgo crefal e.ref
                  linux> ./refgo examples/test_e+e
     Этот вычислитель Рефал выражений также частично описан в книге Турчина: http://refal.botik.ru/book/html/
     См. главу 6.3 Evaluator
     Отметим, что вычислитель не знает о том, какие фунции (модули) загружены в текущую сессию Рефал-5 интерпретатора,
     поэтому Рефал-5 система по разному реагирует на ситуации, когда вызываемая функция не существует в системе 
     и когда вызываемая функция подгружена, но аргументы ее вызова не принадлежат ее ОДЗ. 
     Чтобы увидеть эту разницу нужно во время аварийной остановки подтвердить, то что нужно посмортеть поле зрения. 
     
(16) linux> ./refc mbprep
                  linux> ./refgo mbprep examples/test_mbprep.ref examples/test_mbprep-out.ref
                             --- В тестовом файле test_mbprep.ref намеренно сделана ошибка!
                  linux> ./refgo crefal mbprep
                  linux> ./refgo mbprep examples/test_mbprep.ref examples/test_mbprep-out.ref
                             --- В тестовом файле test_mbprep.ref намеренно сделана ошибка!
     Описание этого препроцессора "MultiBracket PREProcessor" также можно найти в книге Турчина: http://refal.botik.ru/book/html/
     См., например, главу 3.7 Dealing with Nested Parentheses 

(17) Для выполнения данного теста также предполагается, что 
         переменной среды REF5RSL присвоены пути, удовлетворяющие образцам:
         e.RefalRoot '/utilities/crefal/'
         e.RefalRoot '/utilities/prefal/'
         e.RefalRoot '/utilities/c-prefal/'
         , где  e.RefalRoot ::= путь к корневому каталогу Рефала-5.
linux> ./refc cprefal-test
          linux> ./refgo cprefal-test+prefal+c-prefal cp-test.ref
          linux> ./crefal cprefal-test
          linux> ./refgo cprefal-test+prefal+c-prefal cp-test.ref

Возможные опции выполнения компилятора crefal сообщит команда: 
linux> ./crefal /help 
linux> ./crefal /v

Copyright (C): RefalScope Project, 2004-2023

Optimizing Refal-5 Compiler Version ПѮ 1.00.230903 
 ........      

Возможные опции выполнения интерпретатора refgo сообщит команда: 
linux> ./refgo --help

********************************************************************************            
       
 

