From 08ebb9993443049f10619eb027127bf85a1f5fb6 Mon Sep 17 00:00:00 2001 From: AntKrotov Date: Sat, 22 Aug 2020 20:56:55 +0300 Subject: [PATCH] v1.35 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - улучшеный синтаксис импорта внешних процедур - флаг [oberon] - конкатенация строковых констант --- Compiler | Bin 296168 -> 297096 bytes Compiler.exe | Bin 297984 -> 299008 bytes doc/MSP430.txt | 14 +++++++++-- doc/STM32.txt | 12 +++++++++- doc/x86.txt | 23 ++++++++++++++---- doc/x86_64.txt | 30 ++++++++++++++++-------- lib/KolibriOS/API.ob07 | 9 ++++---- lib/KolibriOS/HOST.ob07 | 4 +--- lib/Linux32/API.ob07 | 4 ++-- lib/Linux32/HOST.ob07 | 4 +--- lib/Linux64/API.ob07 | 4 ++-- lib/Linux64/HOST.ob07 | 4 +--- lib/Linux64/Math.ob07 | 4 ++-- lib/Windows32/API.ob07 | 19 ++++++++------- lib/Windows32/HOST.ob07 | 4 +--- lib/Windows64/API.ob07 | 19 ++++++++------- lib/Windows64/HOST.ob07 | 4 +--- lib/Windows64/Math.ob07 | 4 ++-- source/ARITH.ob07 | 14 +++++++++++ source/ERRORS.ob07 | 1 + source/PARS.ob07 | 50 ++++++++++++++++++++++++++++++---------- source/PROG.ob07 | 24 +++++++++---------- source/STATEMENTS.ob07 | 32 +++++++++++++++++++++---- source/UTILS.ob07 | 6 ++--- 24 files changed, 196 insertions(+), 93 deletions(-) diff --git a/Compiler b/Compiler index f4de7c18948e06be72042805acb0f55e87c88540..924397130a22fb6c309f7eaad067dfa02e9e1936 100644 GIT binary patch delta 71629 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 H9ntbXQ?ULI diff --git a/Compiler.exe b/Compiler.exe index 5deaad7e562e9898dba852f58e4cc64cf89e9fff..3d3ea925472e8eabe64017f3102e76737576d718 100644 GIT binary patch delta 70277 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%0A*D|QjA*_Bmq|#LUt#;{v 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 delta 70005 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

V3&)OtApc^-;K#_a|lKh%ipli|U3EzE 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 E4?>XNivR!s diff --git a/doc/MSP430.txt b/doc/MSP430.txt index 1162ecd..248fe6f 100644 --- a/doc/MSP430.txt +++ b/doc/MSP430.txt @@ -51,8 +51,9 @@ UTF-8 с BOM-сигнатурой. 6. Добавлены однострочные комментарии (начинаются с пары символов "//") 7. Разрешено наследование от типа-указателя 8. "Строки" можно заключать также в одиночные кавычки: 'строка' - 9. Добавлены кодовые процедуры -10. Не реализована вещественная арифметика + 9. Добавлена операция конкатенации строковых и символьных констант +10. Добавлены кодовые процедуры +11. Не реализована вещественная арифметика ------------------------------------------------------------------------------ Особенности реализации @@ -167,6 +168,15 @@ UTF-8 с BOM-сигнатурой. необязательна. Если значение x не соответствует ни одному варианту и ELSE отсутствует, то программа прерывается с ошибкой времени выполнения. +------------------------------------------------------------------------------ + Конкатенация строковых и символьных констант + + Допускается конкатенация ("+") константных строк и символов типа CHAR: + + str = CHR(39) + "string" + CHR(39); (* str = "'string'" *) + + newline = 0DX + 0AX; + ------------------------------------------------------------------------------ Проверка и охрана типа нулевого указателя diff --git a/doc/STM32.txt b/doc/STM32.txt index 52046c2..3ff61da 100644 --- a/doc/STM32.txt +++ b/doc/STM32.txt @@ -54,7 +54,8 @@ UTF-8 с BOM-сигнатурой. 7. Разрешено наследование от типа-указателя 8. "Строки" можно заключать также в одиночные кавычки: 'строка' 9. Добавлен тип WCHAR -10. Добавлены кодовые процедуры +10. Добавлена операция конкатенации строковых и символьных констант +11. Добавлены кодовые процедуры ------------------------------------------------------------------------------ Особенности реализации @@ -190,6 +191,15 @@ ARRAY OF CHAR, за исключением встроенной процедур процедуру WCHR вместо CHR. Для правильной работы с типом, необходимо сохранять исходный код в кодировке UTF-8 c BOM. +------------------------------------------------------------------------------ + Конкатенация строковых и символьных констант + + Допускается конкатенация ("+") константных строк и символов типа CHAR: + + str = CHR(39) + "string" + CHR(39); (* str = "'string'" *) + + newline = 0DX + 0AX; + ------------------------------------------------------------------------------ Проверка и охрана типа нулевого указателя diff --git a/doc/x86.txt b/doc/x86.txt index 4a4c4bc..a8a0853 100644 --- a/doc/x86.txt +++ b/doc/x86.txt @@ -71,6 +71,7 @@ UTF-8 с BOM-сигнатурой. 9. Добавлен синтаксис для импорта процедур из внешних библиотек 10. "Строки" можно заключать также в одиночные кавычки: 'строка' 11. Добавлен тип WCHAR +12. Добавлена операция конкатенации строковых и символьных констант ------------------------------------------------------------------------------ Особенности реализации @@ -193,7 +194,7 @@ UTF-8 с BOM-сигнатурой. При объявлении процедурных типов и глобальных процедур, после ключевого слова PROCEDURE может быть указан флаг соглашения о вызове: [stdcall], -[ccall], [ccall16], [windows], [linux]. Например: +[ccall], [ccall16], [windows], [linux], [oberon]. Например: PROCEDURE [ccall] MyProc (x, y, z: INTEGER): INTEGER; @@ -202,6 +203,8 @@ UTF-8 с BOM-сигнатурой. Флаг [windows] - синоним для [stdcall], [linux] - синоним для [ccall16]. Знак "-" после имени флага ([stdcall-], [linux-], ...) означает, что результат процедуры можно игнорировать (не допускается для типа REAL). + Если флаг не указан или указан флаг [oberon], то принимается внутреннее +соглашение о вызове. При объявлении типов-записей, после ключевого слова RECORD может быть указан флаг [noalign]. Флаг [noalign] означает отсутствие выравнивания полей @@ -245,6 +248,15 @@ ARRAY OF CHAR, за исключением встроенной процедур процедуру WCHR вместо CHR. Для правильной работы с типом, необходимо сохранять исходный код в кодировке UTF-8 c BOM. +------------------------------------------------------------------------------ + Конкатенация строковых и символьных констант + + Допускается конкатенация ("+") константных строк и символов типа CHAR: + + str = CHR(39) + "string" + CHR(39); (* str = "'string'" *) + + newline = 0DX + 0AX; + ------------------------------------------------------------------------------ Проверка и охрана типа нулевого указателя @@ -294,15 +306,16 @@ Oberon-реализациях выполнение такой операции Синтаксис импорта: - PROCEDURE [callconv, "library", "function"] proc_name (FormalParam): Type; + PROCEDURE [callconv, library, function] proc_name (FormalParam): Type; - callconv -- соглашение о вызове - - "library" -- имя файла динамической библиотеки - - "function" -- имя импортируемой процедуры + - library -- имя файла динамической библиотеки (строковая константа) + - function -- имя импортируемой процедуры (строковая константа), если + указана пустая строка, то имя процедуры = proc_name например: - PROCEDURE [windows, "kernel32.dll", "ExitProcess"] exit (code: INTEGER); + PROCEDURE [windows, "kernel32.dll", ""] ExitProcess (code: INTEGER); PROCEDURE [stdcall, "Console.obj", "con_exit"] exit (bCloseWindow: BOOLEAN); diff --git a/doc/x86_64.txt b/doc/x86_64.txt index 5443bdf..d1701a1 100644 --- a/doc/x86_64.txt +++ b/doc/x86_64.txt @@ -63,6 +63,7 @@ UTF-8 с BOM-сигнатурой. 9. Добавлен синтаксис для импорта процедур из внешних библиотек 10. "Строки" можно заключать также в одиночные кавычки: 'строка' 11. Добавлен тип WCHAR +12. Добавлена операция конкатенации строковых и символьных констант ------------------------------------------------------------------------------ Особенности реализации @@ -186,7 +187,7 @@ UTF-8 с BOM-сигнатурой. При объявлении процедурных типов и глобальных процедур, после ключевого слова PROCEDURE может быть указан флаг соглашения о вызове: [win64], [systemv], -[windows], [linux]. +[windows], [linux], [oberon]. Например: PROCEDURE [win64] MyProc (x, y, z: INTEGER): INTEGER; @@ -194,9 +195,9 @@ UTF-8 с BOM-сигнатурой. Флаг [windows] - синоним для [win64], [linux] - синоним для [systemv]. Знак "-" после имени флага ([win64-], [linux-], ...) означает, что результат процедуры можно игнорировать (не допускается для типа REAL). - Если флаг не указан, то принимается внутреннее соглашение о вызове. -[win64] и [systemv] используются для связи с операционной системой и внешними -приложениями. + Если флаг не указан или указан флаг [oberon], то принимается внутреннее +соглашение о вызове. [win64] и [systemv] используются для связи с +операционной системой и внешними приложениями. При объявлении типов-записей, после ключевого слова RECORD может быть указан флаг [noalign]. Флаг [noalign] означает отсутствие выравнивания полей @@ -240,6 +241,15 @@ ARRAY OF CHAR, за исключением встроенной процедур процедуру WCHR вместо CHR. Для правильной работы с типом, необходимо сохранять исходный код в кодировке UTF-8 c BOM. +------------------------------------------------------------------------------ + Конкатенация строковых и символьных констант + + Допускается конкатенация ("+") константных строк и символов типа CHAR: + + str = CHR(39) + "string" + CHR(39); (* str = "'string'" *) + + newline = 0DX + 0AX; + ------------------------------------------------------------------------------ Проверка и охрана типа нулевого указателя @@ -289,16 +299,18 @@ Oberon-реализациях выполнение такой операции Синтаксис импорта: - PROCEDURE [callconv, "library", "function"] proc_name (FormalParam): Type; + PROCEDURE [callconv, library, function] proc_name (FormalParam): Type; - callconv -- соглашение о вызове - - "library" -- имя файла динамической библиотеки - - "function" -- имя импортируемой процедуры + - library -- имя файла динамической библиотеки (строковая константа) + - function -- имя импортируемой процедуры (строковая константа), если + указана пустая строка, то имя процедуры = proc_name например: - PROCEDURE [win64, "kernel32.dll", "ExitProcess"] exit (code: INTEGER); + PROCEDURE [windows, "kernel32.dll", "ExitProcess"] exit (code: INTEGER); + PROCEDURE [windows, "kernel32.dll", ""] GetTickCount (): INTEGER; В конце объявления может быть добавлено (необязательно) "END proc_name;" @@ -313,7 +325,7 @@ Oberon-реализациях выполнение такой операции соглашения о вызове: VAR - ExitProcess: PROCEDURE [win64] (code: INTEGER); + ExitProcess: PROCEDURE [windows] (code: INTEGER); Для Linux, импортированные процедуры не реализованы. diff --git a/lib/KolibriOS/API.ob07 b/lib/KolibriOS/API.ob07 index 4f99171..00b0019 100644 --- a/lib/KolibriOS/API.ob07 +++ b/lib/KolibriOS/API.ob07 @@ -12,6 +12,8 @@ IMPORT SYSTEM, K := KOSAPI; CONST + eol* = 0DX + 0AX; + MAX_SIZE = 16 * 400H; HEAP_SIZE = 1 * 100000H; @@ -35,7 +37,6 @@ VAR import*, multi: BOOLEAN; - eol*: ARRAY 3 OF CHAR; base*: INTEGER; @@ -284,10 +285,11 @@ PROCEDURE imp_error; BEGIN OutString("import error: "); IF K.imp_error.error = 1 THEN - OutString("can't load "); OutString(K.imp_error.lib) + OutString("can't load '"); OutString(K.imp_error.lib) ELSIF K.imp_error.error = 2 THEN - OutString("not found "); OutString(K.imp_error.proc); OutString(" in "); OutString(K.imp_error.lib) + OutString("not found '"); OutString(K.imp_error.proc); OutString("' in '"); OutString(K.imp_error.lib) END; + OutString("'"); OutLn END imp_error; @@ -295,7 +297,6 @@ END imp_error; PROCEDURE init* (_import, code: INTEGER); BEGIN multi := FALSE; - eol[0] := 0DX; eol[1] := 0AX; eol[2] := 0X; base := code - SizeOfHeader; K.sysfunc2(68, 11); InitializeCriticalSection(CriticalSection); diff --git a/lib/KolibriOS/HOST.ob07 b/lib/KolibriOS/HOST.ob07 index bc522ab..7a598e7 100644 --- a/lib/KolibriOS/HOST.ob07 +++ b/lib/KolibriOS/HOST.ob07 @@ -14,6 +14,7 @@ CONST slash* = "/"; OS* = "KOS"; + eol* = 0DX + 0AX; bit_depth* = RTL.bit_depth; maxint* = RTL.maxint; @@ -55,8 +56,6 @@ VAR Params: ARRAY MAX_PARAM, 2 OF INTEGER; argc*: INTEGER; - eol*: ARRAY 3 OF CHAR; - maxreal*: REAL; @@ -503,7 +502,6 @@ END d2s; BEGIN - eol[0] := 0DX; eol[1] := 0AX; eol[2] := 0X; maxreal := 1.9; PACK(maxreal, 1023); Console := API.import; diff --git a/lib/Linux32/API.ob07 b/lib/Linux32/API.ob07 index 2452d27..361515b 100644 --- a/lib/Linux32/API.ob07 +++ b/lib/Linux32/API.ob07 @@ -12,6 +12,8 @@ IMPORT SYSTEM; CONST + eol* = 0AX; + RTLD_LAZY* = 1; BIT_DEPTH* = 32; @@ -24,7 +26,6 @@ TYPE VAR - eol*: ARRAY 2 OF CHAR; MainParam*: INTEGER; libc*, librt*: INTEGER; @@ -112,7 +113,6 @@ BEGIN SYSTEM.GET(code - 1000H - SYSTEM.SIZE(INTEGER) * 2, dlopen); SYSTEM.GET(code - 1000H - SYSTEM.SIZE(INTEGER), dlsym); MainParam := sp; - eol := 0AX; libc := dlopen(SYSTEM.SADR("libc.so.6"), RTLD_LAZY); GetProcAdr(libc, "malloc", SYSTEM.ADR(malloc)); diff --git a/lib/Linux32/HOST.ob07 b/lib/Linux32/HOST.ob07 index cacd3d9..772a821 100644 --- a/lib/Linux32/HOST.ob07 +++ b/lib/Linux32/HOST.ob07 @@ -14,6 +14,7 @@ CONST slash* = "/"; OS* = "LINUX"; + eol* = 0AX; bit_depth* = RTL.bit_depth; maxint* = RTL.maxint; @@ -24,8 +25,6 @@ VAR argc: INTEGER; - eol*: ARRAY 2 OF CHAR; - maxreal*: REAL; @@ -202,7 +201,6 @@ END d2s; BEGIN - eol := 0AX; maxreal := 1.9; PACK(maxreal, 1023); SYSTEM.GET(API.MainParam, argc) diff --git a/lib/Linux64/API.ob07 b/lib/Linux64/API.ob07 index cd88e78..d3441d7 100644 --- a/lib/Linux64/API.ob07 +++ b/lib/Linux64/API.ob07 @@ -12,6 +12,8 @@ IMPORT SYSTEM; CONST + eol* = 0AX; + RTLD_LAZY* = 1; BIT_DEPTH* = 64; @@ -24,7 +26,6 @@ TYPE VAR - eol*: ARRAY 2 OF CHAR; MainParam*: INTEGER; libc*, librt*: INTEGER; @@ -112,7 +113,6 @@ BEGIN SYSTEM.GET(code - 1000H - SYSTEM.SIZE(INTEGER) * 2, dlopen); SYSTEM.GET(code - 1000H - SYSTEM.SIZE(INTEGER), dlsym); MainParam := sp; - eol := 0AX; libc := dlopen(SYSTEM.SADR("libc.so.6"), RTLD_LAZY); GetProcAdr(libc, "malloc", SYSTEM.ADR(malloc)); diff --git a/lib/Linux64/HOST.ob07 b/lib/Linux64/HOST.ob07 index ead7363..f51c2de 100644 --- a/lib/Linux64/HOST.ob07 +++ b/lib/Linux64/HOST.ob07 @@ -14,6 +14,7 @@ CONST slash* = "/"; OS* = "LINUX"; + eol* = 0AX; bit_depth* = RTL.bit_depth; maxint* = RTL.maxint; @@ -24,8 +25,6 @@ VAR argc: INTEGER; - eol*: ARRAY 2 OF CHAR; - maxreal*: REAL; @@ -208,7 +207,6 @@ END d2s; BEGIN - eol := 0AX; maxreal := 1.9; PACK(maxreal, 1023); SYSTEM.GET(API.MainParam, argc) diff --git a/lib/Linux64/Math.ob07 b/lib/Linux64/Math.ob07 index 636d3c6..41c8738 100644 --- a/lib/Linux64/Math.ob07 +++ b/lib/Linux64/Math.ob07 @@ -1,7 +1,7 @@ (* BSD 2-Clause License - Copyright (c) 2019-2020 Anton Krotov + Copyright (c) 2019-2020, Anton Krotov All rights reserved. *) @@ -292,7 +292,7 @@ BEGIN atan := -atan END - RETURN atan + RETURN atan END arctan2; diff --git a/lib/Windows32/API.ob07 b/lib/Windows32/API.ob07 index 0eaf6c9..7317c63 100644 --- a/lib/Windows32/API.ob07 +++ b/lib/Windows32/API.ob07 @@ -12,6 +12,8 @@ IMPORT SYSTEM; CONST + eol* = 0DX + 0AX; + SectionAlignment = 1000H; DLL_PROCESS_ATTACH = 1; @@ -19,6 +21,9 @@ CONST DLL_THREAD_DETACH = 3; DLL_PROCESS_DETACH = 0; + KERNEL = "kernel32.dll"; + USER = "user32.dll"; + TYPE @@ -27,7 +32,6 @@ TYPE VAR - eol*: ARRAY 3 OF CHAR; base*: INTEGER; heap: INTEGER; @@ -36,13 +40,13 @@ VAR thread_attach: DLL_ENTRY; -PROCEDURE [windows-, "kernel32.dll", "ExitProcess"] ExitProcess (code: INTEGER); -PROCEDURE [windows-, "kernel32.dll", "ExitThread"] ExitThread (code: INTEGER); -PROCEDURE [windows-, "kernel32.dll", "GetProcessHeap"] GetProcessHeap (): INTEGER; -PROCEDURE [windows-, "kernel32.dll", "HeapAlloc"] HeapAlloc (hHeap, dwFlags, dwBytes: INTEGER): INTEGER; -PROCEDURE [windows-, "kernel32.dll", "HeapFree"] HeapFree(hHeap, dwFlags, lpMem: INTEGER); +PROCEDURE [windows-, KERNEL, ""] ExitProcess (code: INTEGER); +PROCEDURE [windows-, KERNEL, ""] ExitThread (code: INTEGER); +PROCEDURE [windows-, KERNEL, ""] GetProcessHeap (): INTEGER; +PROCEDURE [windows-, KERNEL, ""] HeapAlloc (hHeap, dwFlags, dwBytes: INTEGER): INTEGER; +PROCEDURE [windows-, KERNEL, ""] HeapFree(hHeap, dwFlags, lpMem: INTEGER); -PROCEDURE [windows-, "user32.dll", "MessageBoxA"] MessageBoxA (hWnd, lpText, lpCaption, uType: INTEGER): INTEGER; +PROCEDURE [windows-, USER, ""] MessageBoxA (hWnd, lpText, lpCaption, uType: INTEGER): INTEGER; PROCEDURE DebugMsg* (lpText, lpCaption: INTEGER); @@ -68,7 +72,6 @@ BEGIN process_detach := NIL; thread_detach := NIL; thread_attach := NIL; - eol[0] := 0DX; eol[1] := 0AX; eol[2] := 0X; base := code - SectionAlignment; heap := GetProcessHeap() END init; diff --git a/lib/Windows32/HOST.ob07 b/lib/Windows32/HOST.ob07 index 569c103..f129803 100644 --- a/lib/Windows32/HOST.ob07 +++ b/lib/Windows32/HOST.ob07 @@ -14,6 +14,7 @@ CONST slash* = "\"; OS* = "WINDOWS"; + eol* = 0DX + 0AX; bit_depth* = RTL.bit_depth; maxint* = RTL.maxint; @@ -80,8 +81,6 @@ VAR Params: ARRAY MAX_PARAM, 2 OF INTEGER; argc: INTEGER; - eol*: ARRAY 3 OF CHAR; - maxreal*: REAL; @@ -356,7 +355,6 @@ END d2s; BEGIN - eol[0] := 0DX; eol[1] := 0AX; eol[2] := 0X; maxreal := 1.9; PACK(maxreal, 1023); hConsoleOutput := _GetStdHandle(-11); diff --git a/lib/Windows64/API.ob07 b/lib/Windows64/API.ob07 index 0eaf6c9..7317c63 100644 --- a/lib/Windows64/API.ob07 +++ b/lib/Windows64/API.ob07 @@ -12,6 +12,8 @@ IMPORT SYSTEM; CONST + eol* = 0DX + 0AX; + SectionAlignment = 1000H; DLL_PROCESS_ATTACH = 1; @@ -19,6 +21,9 @@ CONST DLL_THREAD_DETACH = 3; DLL_PROCESS_DETACH = 0; + KERNEL = "kernel32.dll"; + USER = "user32.dll"; + TYPE @@ -27,7 +32,6 @@ TYPE VAR - eol*: ARRAY 3 OF CHAR; base*: INTEGER; heap: INTEGER; @@ -36,13 +40,13 @@ VAR thread_attach: DLL_ENTRY; -PROCEDURE [windows-, "kernel32.dll", "ExitProcess"] ExitProcess (code: INTEGER); -PROCEDURE [windows-, "kernel32.dll", "ExitThread"] ExitThread (code: INTEGER); -PROCEDURE [windows-, "kernel32.dll", "GetProcessHeap"] GetProcessHeap (): INTEGER; -PROCEDURE [windows-, "kernel32.dll", "HeapAlloc"] HeapAlloc (hHeap, dwFlags, dwBytes: INTEGER): INTEGER; -PROCEDURE [windows-, "kernel32.dll", "HeapFree"] HeapFree(hHeap, dwFlags, lpMem: INTEGER); +PROCEDURE [windows-, KERNEL, ""] ExitProcess (code: INTEGER); +PROCEDURE [windows-, KERNEL, ""] ExitThread (code: INTEGER); +PROCEDURE [windows-, KERNEL, ""] GetProcessHeap (): INTEGER; +PROCEDURE [windows-, KERNEL, ""] HeapAlloc (hHeap, dwFlags, dwBytes: INTEGER): INTEGER; +PROCEDURE [windows-, KERNEL, ""] HeapFree(hHeap, dwFlags, lpMem: INTEGER); -PROCEDURE [windows-, "user32.dll", "MessageBoxA"] MessageBoxA (hWnd, lpText, lpCaption, uType: INTEGER): INTEGER; +PROCEDURE [windows-, USER, ""] MessageBoxA (hWnd, lpText, lpCaption, uType: INTEGER): INTEGER; PROCEDURE DebugMsg* (lpText, lpCaption: INTEGER); @@ -68,7 +72,6 @@ BEGIN process_detach := NIL; thread_detach := NIL; thread_attach := NIL; - eol[0] := 0DX; eol[1] := 0AX; eol[2] := 0X; base := code - SectionAlignment; heap := GetProcessHeap() END init; diff --git a/lib/Windows64/HOST.ob07 b/lib/Windows64/HOST.ob07 index ace5c12..26a7847 100644 --- a/lib/Windows64/HOST.ob07 +++ b/lib/Windows64/HOST.ob07 @@ -14,6 +14,7 @@ CONST slash* = "\"; OS* = "WINDOWS"; + eol* = 0DX + 0AX; bit_depth* = RTL.bit_depth; maxint* = RTL.maxint; @@ -80,8 +81,6 @@ VAR Params: ARRAY MAX_PARAM, 2 OF INTEGER; argc: INTEGER; - eol*: ARRAY 3 OF CHAR; - maxreal*: REAL; @@ -362,7 +361,6 @@ END d2s; BEGIN - eol[0] := 0DX; eol[1] := 0AX; eol[2] := 0X; maxreal := 1.9; PACK(maxreal, 1023); hConsoleOutput := _GetStdHandle(-11); diff --git a/lib/Windows64/Math.ob07 b/lib/Windows64/Math.ob07 index 636d3c6..41c8738 100644 --- a/lib/Windows64/Math.ob07 +++ b/lib/Windows64/Math.ob07 @@ -1,7 +1,7 @@ (* BSD 2-Clause License - Copyright (c) 2019-2020 Anton Krotov + Copyright (c) 2019-2020, Anton Krotov All rights reserved. *) @@ -292,7 +292,7 @@ BEGIN atan := -atan END - RETURN atan + RETURN atan END arctan2; diff --git a/source/ARITH.ob07 b/source/ARITH.ob07 index 9679187..28b7668 100644 --- a/source/ARITH.ob07 +++ b/source/ARITH.ob07 @@ -761,6 +761,20 @@ BEGIN END setInt; +PROCEDURE concat* (VAR s: ARRAY OF CHAR; s1: ARRAY OF CHAR): BOOLEAN; +VAR + res: BOOLEAN; + +BEGIN + res := LENGTH(s) + LENGTH(s1) < LEN(s); + IF res THEN + STRINGS.append(s, s1) + END + + RETURN res +END concat; + + PROCEDURE init; VAR i: INTEGER; diff --git a/source/ERRORS.ob07 b/source/ERRORS.ob07 index b925b6f..a64fa62 100644 --- a/source/ERRORS.ob07 +++ b/source/ERRORS.ob07 @@ -144,6 +144,7 @@ BEGIN |114: str := "identifiers 'lib_init' and 'version' are reserved" |115: str := "recursive constant definition" |116: str := "procedure too deep nested" + |117: str := "string expected" |120: str := "too many formal parameters" |121: str := "multiply defined handler" diff --git a/source/PARS.ob07 b/source/PARS.ob07 index 2d130d4..8d9f3f8 100644 --- a/source/PARS.ob07 +++ b/source/PARS.ob07 @@ -182,7 +182,6 @@ BEGIN |SCAN.lxSEMI: err := 24 |SCAN.lxRETURN: err := 38 |SCAN.lxMODULE: err := 21 - |SCAN.lxSTRING: err := 66 END; check1(FALSE, parser, err) @@ -501,6 +500,8 @@ BEGIN sf := PROG.sf_linux ELSIF parser.lex.s = "code" THEN sf := PROG.sf_code + ELSIF parser.lex.s = "oberon" THEN + sf := PROG.sf_oberon ELSIF parser.lex.s = "noalign" THEN sf := PROG.sf_noalign ELSE @@ -530,6 +531,12 @@ BEGIN res := PROG.systemv |PROG.sf_code: res := PROG.code + |PROG.sf_oberon: + IF TARGETS.OS IN {TARGETS.osWIN32, TARGETS.osLINUX32, TARGETS.osKOS} THEN + res := PROG.default32 + ELSIF TARGETS.OS IN {TARGETS.osWIN64, TARGETS.osLINUX64} THEN + res := PROG.default64 + END |PROG.sf_windows: IF TARGETS.OS = TARGETS.osWIN32 THEN res := PROG.stdcall @@ -556,8 +563,26 @@ VAR dll, proc: SCAN.LEXSTR; pos: POSITION; -BEGIN + PROCEDURE getStr (parser: PARSER; VAR name: SCAN.LEXSTR); + VAR + pos: POSITION; + str: ARITH.VALUE; + + BEGIN + getpos(parser, pos); + ConstExpression(parser, str); + IF str.typ = ARITH.tSTRING THEN + name := str.string(SCAN.IDENT).s + ELSIF str.typ = ARITH.tCHAR THEN + ARITH.charToStr(str, name) + ELSE + check(FALSE, pos, 117) + END + END getStr; + + +BEGIN import := NIL; IF parser.sym = SCAN.lxLSQUARE THEN @@ -570,19 +595,17 @@ BEGIN Next(parser); INC(call) END; - IF ~isProc THEN - checklex(parser, SCAN.lxRSQUARE) - END; - IF parser.sym = SCAN.lxCOMMA THEN - ExpectSym(parser, SCAN.lxSTRING); - dll := parser.lex.s; - STRINGS.UpCase(dll); - ExpectSym(parser, SCAN.lxCOMMA); - ExpectSym(parser, SCAN.lxSTRING); - proc := parser.lex.s; + + IF isProc & (parser.sym = SCAN.lxCOMMA) THEN Next(parser); + getStr(parser, dll); + STRINGS.UpCase(dll); + checklex(parser, SCAN.lxCOMMA); + Next(parser); + getStr(parser, proc); import := IL.AddImp(dll, proc) END; + checklex(parser, SCAN.lxRSQUARE); Next(parser) ELSE @@ -919,6 +942,9 @@ VAR IF import # NIL THEN proc := IdentDef(parser, PROG.idIMP, name); proc.import := import; + IF import.name = "" THEN + import.name := name.s + END; PROG.program.procs.last(PROG.PROC).import := import ELSE proc := IdentDef(parser, PROG.idPROC, name) diff --git a/source/PROG.ob07 b/source/PROG.ob07 index 48bb5a4..367819b 100644 --- a/source/PROG.ob07 +++ b/source/PROG.ob07 @@ -42,13 +42,13 @@ CONST sysWSADR* = 39; sysPUT32* = 40; (*sysNOP* = 41; sysEINT* = 42; sysDINT* = 43;*)sysGET8* = 44; sysGET16* = 45; sysGET32* = 46; - default32* = 2; + default32* = 2; _default32* = default32 + 1; stdcall* = 4; _stdcall* = stdcall + 1; ccall* = 6; _ccall* = ccall + 1; ccall16* = 8; _ccall16* = ccall16 + 1; win64* = 10; _win64* = win64 + 1; stdcall64* = 12; _stdcall64* = stdcall64 + 1; - default64* = 14; + default64* = 14; _default64* = default64 + 1; systemv* = 16; _systemv* = systemv + 1; default16* = 18; code* = 20; _code* = code + 1; @@ -57,12 +57,12 @@ CONST callee_clean_up* = {default32, stdcall, _stdcall, default64, stdcall64, _stdcall64}; - sf_stdcall* = 0; sf_stdcall64* = 1; sf_ccall* = 2; sf_ccall16* = 3; - sf_win64* = 4; sf_systemv* = 5; sf_windows* = 6; sf_linux* = 7; - sf_code* = 8; - sf_noalign* = 9; + sf_stdcall* = 0; sf_stdcall64* = 1; sf_ccall* = 2; sf_ccall16* = 3; + sf_win64* = 4; sf_systemv* = 5; sf_windows* = 6; sf_linux* = 7; + sf_code* = 8; sf_oberon* = 9; + sf_noalign* = 10; - proc_flags* = {sf_stdcall, sf_stdcall64, sf_ccall, sf_ccall16, sf_win64, sf_systemv, sf_windows, sf_linux, sf_code}; + proc_flags* = {sf_stdcall, sf_stdcall64, sf_ccall, sf_ccall16, sf_win64, sf_systemv, sf_windows, sf_linux, sf_code, sf_oberon}; rec_flags* = {sf_noalign}; STACK_FRAME = 2; @@ -1201,11 +1201,11 @@ BEGIN program.options := options; CASE TARGETS.OS OF - |TARGETS.osWIN32: program.sysflags := {sf_windows, sf_stdcall, sf_ccall, sf_ccall16, sf_noalign} - |TARGETS.osLINUX32: program.sysflags := {sf_linux, sf_stdcall, sf_ccall, sf_ccall16, sf_noalign} - |TARGETS.osKOS: program.sysflags := {sf_stdcall, sf_ccall, sf_ccall16, sf_noalign} - |TARGETS.osWIN64: program.sysflags := {sf_windows, sf_stdcall64, sf_win64, sf_systemv, sf_noalign} - |TARGETS.osLINUX64: program.sysflags := {sf_linux, sf_stdcall64, sf_win64, sf_systemv, sf_noalign} + |TARGETS.osWIN32: program.sysflags := {sf_oberon, sf_windows, sf_stdcall, sf_ccall, sf_ccall16, sf_noalign} + |TARGETS.osLINUX32: program.sysflags := {sf_oberon, sf_linux, sf_stdcall, sf_ccall, sf_ccall16, sf_noalign} + |TARGETS.osKOS: program.sysflags := {sf_oberon, sf_stdcall, sf_ccall, sf_ccall16, sf_noalign} + |TARGETS.osWIN64: program.sysflags := {sf_oberon, sf_windows, sf_stdcall64, sf_win64, sf_systemv, sf_noalign} + |TARGETS.osLINUX64: program.sysflags := {sf_oberon, sf_linux, sf_stdcall64, sf_win64, sf_systemv, sf_noalign} |TARGETS.osNONE: program.sysflags := {sf_code} END; diff --git a/source/STATEMENTS.ob07 b/source/STATEMENTS.ob07 index 3858626..f93ffc4 100644 --- a/source/STATEMENTS.ob07 +++ b/source/STATEMENTS.ob07 @@ -2038,6 +2038,7 @@ VAR pos: PARS.POSITION; op: INTEGER; e1: PARS.EXPR; + s, s1: SCAN.LEXSTR; plus, minus: BOOLEAN; @@ -2113,13 +2114,34 @@ VAR op := ORD("+") END; - PARS.check(isInt(e) & isInt(e1) OR isReal(e) & isReal(e1) OR isSet(e) & isSet(e1), pos, 37); + PARS.check(isInt(e) & isInt(e1) OR isReal(e) & isReal(e1) OR isSet(e) & isSet(e1) OR isString(e) & isString(e1) & ~minus, pos, 37); IF (e.obj = eCONST) & (e1.obj = eCONST) THEN - CASE e.value.typ OF - |ARITH.tINTEGER: PARS.check(ARITH.opInt(e.value, e1.value, CHR(op)), pos, 39) - |ARITH.tREAL: PARS.check(ARITH.opFloat(e.value, e1.value, CHR(op)), pos, 40) - |ARITH.tSET: ARITH.opSet(e.value, e1.value, CHR(op)) + CASE e.value.typ OF + |ARITH.tINTEGER: + PARS.check(ARITH.opInt(e.value, e1.value, CHR(op)), pos, 39) + + |ARITH.tREAL: + PARS.check(ARITH.opFloat(e.value, e1.value, CHR(op)), pos, 40) + + |ARITH.tSET: + ARITH.opSet(e.value, e1.value, CHR(op)) + + |ARITH.tCHAR, ARITH.tSTRING: + IF e.value.typ = ARITH.tCHAR THEN + ARITH.charToStr(e.value, s) + ELSE + s := e.value.string(SCAN.IDENT).s + END; + IF e1.value.typ = ARITH.tCHAR THEN + ARITH.charToStr(e1.value, s1) + ELSE + s1 := e1.value.string(SCAN.IDENT).s + END; + PARS.check(ARITH.concat(s, s1), pos, 5); + e.value.string := SCAN.enterid(s); + e.value.typ := ARITH.tSTRING; + e.type := PROG.program.stTypes.tSTRING END ELSE diff --git a/source/UTILS.ob07 b/source/UTILS.ob07 index 1126dfa..f146532 100644 --- a/source/UTILS.ob07 +++ b/source/UTILS.ob07 @@ -13,6 +13,7 @@ IMPORT HOST; CONST slash* = HOST.slash; + eol* = HOST.eol; bit_depth* = HOST.bit_depth; maxint* = HOST.maxint; @@ -24,7 +25,7 @@ CONST max32* = 2147483647; vMajor* = 1; - vMinor* = 34; + vMinor* = 35; FILE_EXT* = ".ob07"; RTL_NAME* = "RTL"; @@ -41,8 +42,6 @@ VAR time*: INTEGER; - eol*: ARRAY 3 OF CHAR; - maxreal*: REAL; target*: @@ -291,7 +290,6 @@ END init; BEGIN time := GetTickCount(); - COPY(HOST.eol, eol); maxreal := HOST.maxreal; init(days) END UTILS. \ No newline at end of file