diff --git a/Compiler.exe b/Compiler.exe index 899fecb..4c31288 100644 Binary files a/Compiler.exe and b/Compiler.exe differ diff --git a/compiler b/compiler index 7e81955..df2a177 100755 Binary files a/compiler and b/compiler differ diff --git a/doc/MSP430.txt b/doc/MSP430.txt index b493e0a..8f8cf39 100644 --- a/doc/MSP430.txt +++ b/doc/MSP430.txt @@ -12,14 +12,16 @@ UTF-8 с BOM-сигнатурой. 2) "msp430" 3) необязательные параметры-ключи -out имя результирующего файла; по умолчанию, - совпадает с именем главного модуля, но с расширением ".hex" + совпадает с именем главного модуля, но с расширением ".hex" -ram размер ОЗУ в байтах (128 - 2048) по умолчанию 128 -rom размер ПЗУ в байтах (2048 - 24576) по умолчанию 2048 -tab размер табуляции (используется для вычисления координат в - исходном коде), по умолчанию - 4 + исходном коде), по умолчанию - 4 -nochk <"ptibcwra"> отключить проверки при выполнении -lower разрешить ключевые слова и встроенные идентификаторы в - нижнем регистре + нижнем регистре (по умолчанию) + -upper только верхний регистр для ключевых слов и встроенных + идентификаторов -def <имя> задать символ условной компиляции -uses вывести список импортированных модулей @@ -44,7 +46,6 @@ UTF-8 с BOM-сигнатурой. Compiler.exe "C:\example.ob07" msp430 -out "C:\Ex1.hex" -ram 512 -rom 16384 В случае успешной компиляции, компилятор передает код завершения 0, иначе 1. -При работе компилятора в KolibriOS, код завершения не передается. ------------------------------------------------------------------------------ Отличия от оригинала @@ -64,6 +65,7 @@ UTF-8 с BOM-сигнатурой. 12. Возможен импорт модулей с указанием пути и имени файла 13. Добавлен специальный синтаксис для условной компиляции (см. CC.txt) 14. Имя процедуры в конце объявления (после END) необязательно +15. Разрешено использовать нижний регистр для ключевых слов ------------------------------------------------------------------------------ Особенности реализации diff --git a/doc/STM32.txt b/doc/STM32.txt index 8d72bdf..615ba20 100644 --- a/doc/STM32.txt +++ b/doc/STM32.txt @@ -12,14 +12,16 @@ UTF-8 с BOM-сигнатурой. 2) "stm32cm3" 3) необязательные параметры-ключи -out имя результирующего файла; по умолчанию, - совпадает с именем главного модуля, но с расширением ".hex" + совпадает с именем главного модуля, но с расширением ".hex" -ram размер ОЗУ в килобайтах (4 - 65536) по умолчанию 4 -rom размер ПЗУ в килобайтах (16 - 65536) по умолчанию 16 -tab размер табуляции (используется для вычисления координат в - исходном коде), по умолчанию - 4 + исходном коде), по умолчанию - 4 -nochk <"ptibcwra"> отключить проверки при выполнении -lower разрешить ключевые слова и встроенные идентификаторы в - нижнем регистре + нижнем регистре (по умолчанию) + -upper только верхний регистр для ключевых слов и встроенных + идентификаторов -def <имя> задать символ условной компиляции -uses вывести список импортированных модулей @@ -45,7 +47,6 @@ UTF-8 с BOM-сигнатурой. Compiler.exe "C:\example.ob07" stm32cm3 -out "C:\Ex1.hex" -ram 8 -rom 32 В случае успешной компиляции, компилятор передает код завершения 0, иначе 1. -При работе компилятора в KolibriOS, код завершения не передается. ------------------------------------------------------------------------------ Отличия от оригинала @@ -65,6 +66,7 @@ UTF-8 с BOM-сигнатурой. 12. Возможен импорт модулей с указанием пути и имени файла 13. Добавлен специальный синтаксис для условной компиляции (см. CC.txt) 14. Имя процедуры в конце объявления (после END) необязательно +15. Разрешено использовать нижний регистр для ключевых слов ------------------------------------------------------------------------------ Особенности реализации diff --git a/doc/x86.txt b/doc/x86.txt index 2bec123..e9f5730 100644 --- a/doc/x86.txt +++ b/doc/x86.txt @@ -20,15 +20,17 @@ UTF-8 с BOM-сигнатурой. 3) необязательные параметры-ключи -out имя результирующего файла; по умолчанию, - совпадает с именем главного модуля, но с другим расширением - (соответствует типу исполняемого файла) + совпадает с именем главного модуля, но с другим расширением + (соответствует типу исполняемого файла) -stk размер стэка в мегабайтах (по умолчанию 2 Мб, - допустимо от 1 до 32 Мб) + допустимо от 1 до 32 Мб) -tab размер табуляции (используется для вычисления координат в - исходном коде), по умолчанию - 4 + исходном коде), по умолчанию - 4 -nochk <"ptibcwra"> отключить проверки при выполнении (см. ниже) -lower разрешить ключевые слова и встроенные идентификаторы в - нижнем регистре + нижнем регистре (по умолчанию) + -upper только верхний регистр для ключевых слов и встроенных + идентификаторов -def <имя> задать символ условной компиляции -ver версия программы (только для kosdll) -uses вывести список импортированных модулей @@ -81,6 +83,7 @@ UTF-8 с BOM-сигнатурой. 13. Возможен импорт модулей с указанием пути и имени файла 14. Добавлен специальный синтаксис для условной компиляции (см. CC.txt) 15. Имя процедуры в конце объявления (после END) необязательно +16. Разрешено использовать нижний регистр для ключевых слов ------------------------------------------------------------------------------ Особенности реализации diff --git a/doc/x86_64.txt b/doc/x86_64.txt index 3d842f7..a3e8e09 100644 --- a/doc/x86_64.txt +++ b/doc/x86_64.txt @@ -18,15 +18,17 @@ UTF-8 с BOM-сигнатурой. 3) необязательные параметры-ключи -out имя результирующего файла; по умолчанию, - совпадает с именем главного модуля, но с другим расширением - (соответствует типу исполняемого файла) + совпадает с именем главного модуля, но с другим расширением + (соответствует типу исполняемого файла) -stk размер стэка в мегабайтах (по умолчанию 2 Мб, - допустимо от 1 до 32 Мб) + допустимо от 1 до 32 Мб) -tab размер табуляции (используется для вычисления координат в - исходном коде), по умолчанию - 4 + исходном коде), по умолчанию - 4 -nochk <"ptibcwra"> отключить проверки при выполнении -lower разрешить ключевые слова и встроенные идентификаторы в - нижнем регистре + нижнем регистре (по умолчанию) + -upper только верхний регистр для ключевых слов и встроенных + идентификаторов -def <имя> задать символ условной компиляции -uses вывести список импортированных модулей @@ -73,6 +75,7 @@ UTF-8 с BOM-сигнатурой. 13. Возможен импорт модулей с указанием пути и имени файла 14. Добавлен специальный синтаксис для условной компиляции (см. CC.txt) 15. Имя процедуры в конце объявления (после END) необязательно +16. Разрешено использовать нижний регистр для ключевых слов ------------------------------------------------------------------------------ Особенности реализации diff --git a/source/Compiler.ob07 b/source/Compiler.ob07 index b849c52..7ea35d6 100644 --- a/source/Compiler.ob07 +++ b/source/Compiler.ob07 @@ -1,7 +1,7 @@ (* BSD 2-Clause License - Copyright (c) 2018-2022, Anton Krotov + Copyright (c) 2018-2023, Anton Krotov All rights reserved. *) @@ -48,6 +48,7 @@ VAR BEGIN + options.lower := TRUE; out := ""; checking := options.checking; _end := FALSE; @@ -133,6 +134,9 @@ BEGIN ELSIF param = "-lower" THEN options.lower := TRUE + ELSIF param = "-upper" THEN + options.lower := FALSE + ELSIF param = "-pic" THEN options.pic := TRUE @@ -215,7 +219,7 @@ BEGIN C.Ln; C.String("Akron Oberon Compiler v"); C.Int(UTILS.vMajor); C.String("."); C.Int2(UTILS.vMinor); C.String(" ("); C.Int(UTILS.bit_depth); C.StringLn("-bit) " + UTILS.Date); - C.StringLn("Copyright (c) 2018-2022, Anton Krotov"); + C.StringLn("Copyright (c) 2018-2023, Anton Krotov"); IF inname = "" THEN C.Ln; @@ -243,7 +247,8 @@ BEGIN C.StringLn(" -stk set size of stack in Mbytes (Windows, Linux, KolibriOS)"); C.Ln; C.StringLn(" -nochk <'ptibcwra'> disable runtime checking (pointers, types, indexes,"); C.StringLn(" BYTE, CHR, WCHR)"); C.Ln; - C.StringLn(" -lower allow lower case for keywords"); C.Ln; + C.StringLn(" -lower allow lower case for keywords (default)"); C.Ln; + C.StringLn(" -upper only upper case for keywords"); C.Ln; C.StringLn(" -def define conditional compilation symbol"); C.Ln; C.StringLn(" -ver set version of program (KolibriOS DLL)"); C.Ln; C.StringLn(" -ram set size of RAM in bytes (MSP430) or Kbytes (STM32)"); C.Ln; diff --git a/source/UTILS.ob07 b/source/UTILS.ob07 index fc14d82..f12a8ad 100644 --- a/source/UTILS.ob07 +++ b/source/UTILS.ob07 @@ -23,8 +23,8 @@ CONST max32* = 2147483647; vMajor* = 1; - vMinor* = 62; - Date* = "09-jan-2023"; + vMinor* = 63; + Date* = "21-jan-2023"; FILE_EXT* = ".ob07"; RTL_NAME* = "RTL";