Skip to content

Commit

Permalink
[ADDED] #658 : new project LDBG - ELENA Debugger Adapter
Browse files Browse the repository at this point in the history
  • Loading branch information
arakov committed Jul 9, 2024
1 parent 4d773a4 commit 30faf1e
Show file tree
Hide file tree
Showing 14 changed files with 443 additions and 32 deletions.
18 changes: 18 additions & 0 deletions doc/api/system-runtime.html
Original file line number Diff line number Diff line change
Expand Up @@ -366,12 +366,30 @@ <H3>Method Summary</H3>
<TR CLASS="altColor">
<TD CLASS="colFirst">
<CODE>
<SPAN CLASS="memberNameLink"><A HREF="system.html#BoolValue">BoolValue</A></SPAN></CODE></TD>
<TD CLASS="colLast">
<CODE>rearrange()
</CODE>
</TD>
</TR>
<TR CLASS="rowColor">
<TD CLASS="colFirst">
<CODE>
<SPAN CLASS="memberNameLink"><A HREF="system.html#UnsafePointer">UnsafePointer</A></SPAN></CODE></TD>
<TD CLASS="colLast">
<CODE>allocate(<SPAN CLASS="memberNameLink"><A HREF="system.html#Object">Object</A></SPAN> obj)
</CODE>
</TD>
</TR>
<TR CLASS="altColor">
<TD CLASS="colFirst">
<CODE>
</CODE></TD>
<TD CLASS="colLast">
<CODE>release(<SPAN CLASS="memberNameLink"><A HREF="system.html#Object">Object</A></SPAN> obj)
</CODE>
</TD>
</TR>
</TABLE>
</LI>
</UL>
Expand Down
30 changes: 13 additions & 17 deletions doc/todo.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,38 +5,34 @@ In development:
[development]
### EPIC: elena 6.3 ###

=== Iteration 27 (10.06.2024) ===
=== Iteration 27 (10.07.2024) ===
--------------------------------------
- #658 : create debug adapter

--------------------------------------

=== Iteration 28 ===
--------------------------------------
dev:
- upndown
- web server - weather forecast
- a field must be assigned, warn if not
- threads : clean the perm table after the thread is stopped / freed
gen:
- elt : nested executing managed code : keep frames (the frames must be included / excluded correctly)
- elt : fails after executing several times, exception handler works only once
- nested call must not stop / start vm,
-
maint:
- #667
- elena : nested classes should not be loadable at runtime
- #667
- constructor - single dispatcher
- #658
port:
- #658 : create debug adapter
- x86-64 : vm terminal, ide vm console
-
-
-
prom: posting weekly
--------------------------------------
- elt : nested executing managed code : keep frames (the frames must be included / excluded correctly)
--------------------------------------
- system'winforms : free PermVectorTable item after the window is closed, to save the resources

=== Iteration 28 ===
--------------------------------------
dev:
gen:
maint:
port:
prom:
--------------------------------------
--------------------------------------

=== Iteration 29 ===
Expand Down
10 changes: 10 additions & 0 deletions elenasrc3/elenasrc3.sln
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "elt", "tools\elt\vs\elt.vcx
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "elena-tests", "elena-tests\elena-tests.vcxproj", "{89A68A7E-1CB6-45CB-9B02-8183FF59284A}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ldbg", "ldbg\vs\ldbg.vcxproj", "{60FE12CF-0DA9-4266-9C0F-F544DB115020}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Expand Down Expand Up @@ -138,6 +140,14 @@ Global
{89A68A7E-1CB6-45CB-9B02-8183FF59284A}.Release|x64.Build.0 = Release|x64
{89A68A7E-1CB6-45CB-9B02-8183FF59284A}.Release|x86.ActiveCfg = Release|Win32
{89A68A7E-1CB6-45CB-9B02-8183FF59284A}.Release|x86.Build.0 = Release|Win32
{60FE12CF-0DA9-4266-9C0F-F544DB115020}.Debug|x64.ActiveCfg = Debug|x64
{60FE12CF-0DA9-4266-9C0F-F544DB115020}.Debug|x64.Build.0 = Debug|x64
{60FE12CF-0DA9-4266-9C0F-F544DB115020}.Debug|x86.ActiveCfg = Debug|Win32
{60FE12CF-0DA9-4266-9C0F-F544DB115020}.Debug|x86.Build.0 = Debug|Win32
{60FE12CF-0DA9-4266-9C0F-F544DB115020}.Release|x64.ActiveCfg = Release|x64
{60FE12CF-0DA9-4266-9C0F-F544DB115020}.Release|x64.Build.0 = Release|x64
{60FE12CF-0DA9-4266-9C0F-F544DB115020}.Release|x86.ActiveCfg = Release|Win32
{60FE12CF-0DA9-4266-9C0F-F544DB115020}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down
1 change: 1 addition & 0 deletions elenasrc3/ldbg/dpaconst.h
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#define LDBG_REVISION_NUMBER 0x0001
60 changes: 60 additions & 0 deletions elenasrc3/ldbg/vs/Resource.rc
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
// Microsoft Visual C++ generated resource script.
//
#include "resource.h"

#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "winres.h"

/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS

/////////////////////////////////////////////////////////////////////////////
// English (United States) resources

#if !defined(AFX_RESOURCE_DLL)
LANGUAGE 7, 1

/////////////////////////////////////////////////////////////////////////////
//
// Version
//

VS_VERSION_INFO VERSIONINFO
FILEVERSION ENGINE_MAJOR_VERSION,ENGINE_MINOR_VERSION,LDBG_REVISION_NUMBER,0
PRODUCTVERSION ENGINE_MAJOR_VERSION,ENGINE_MINOR_VERSION,0,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x40004L
FILETYPE 0x0L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040004b0"
BEGIN
VALUE "CompanyName", "ELENA Programming Language by Alex Rakov"
VALUE "FileDescription", "ELENA debugger adapter"
VALUE "FileVersion", VER_FILE_VERSION_STR "\0"
VALUE "InternalName", "TODO: <Internal name>"
VALUE "LegalCopyright", "Copyright (C) 2024"
VALUE "OriginalFilename", "elc"
VALUE "ProductName", "ELENA Programming Language"
VALUE "ProductVersion", VER_PRODUCT_VERSION_STR "\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x400, 1200
END
END

#endif // English (United States) resources
/////////////////////////////////////////////////////////////////////////////
183 changes: 183 additions & 0 deletions elenasrc3/ldbg/vs/ldbg.vcxproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,183 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{60FE12CF-0DA9-4266-9C0F-F544DB115020}</ProjectGuid>
<RootNamespace>ConsoleApplication1</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
<OutDir>..\..\..\bin\</OutDir>
<IntDir>..\..\temp\ldbg\</IntDir>
<TargetName>elena-dpa</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<OutDir>..\..\..\bin\</OutDir>
<IntDir>..\..\temp\ldbg\</IntDir>
<TargetName>elena-dpa</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
<OutDir>..\..\..\bin\</OutDir>
<IntDir>..\..\temp\ldbg64\</IntDir>
<TargetName>elena64-dpa</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<OutDir>..\..\..\bin\</OutDir>
<IntDir>..\..\temp\ldbg64\</IntDir>
<TargetName>elena64-dpa</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>..\..\common;..\..\engine;..\windows;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<ResourceCompile>
<AdditionalIncludeDirectories>..;..\..\engine</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>..\..\common;..\..\engine;..\windows;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<ResourceCompile>
<AdditionalIncludeDirectories>..;..\..\engine</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>..\..\common;..\..\engine;..\windows;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<ResourceCompile>
<AdditionalIncludeDirectories>..;..\..\engine</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>..\..\common;..\..\engine;..\windows;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<ResourceCompile>
<AdditionalIncludeDirectories>..;..\..\engine</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\windows\ldbg.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="resource.h" />
<ClInclude Include="..\dpaconst.h" />
<ClInclude Include="..\..\common\common.h" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="Resource.rc" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
29 changes: 29 additions & 0 deletions elenasrc3/ldbg/vs/resource.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
#include "elenaconst.h"
#include "dpaconst.h"

//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by Resource.rc

// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 101
#define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1001
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif

#define STRINGIZE2(s) #s
#define STRINGIZE(s) STRINGIZE2(s)

#define VER_FILE_VERSION_STR STRINGIZE(ENGINE_MAJOR_VERSION) \
"." STRINGIZE(ENGINE_MINOR_VERSION) \
"." STRINGIZE(LDBG_REVISION_NUMBER) \
".0"

#define VER_PRODUCT_VERSION_STR STRINGIZE(ENGINE_MAJOR_VERSION) \
"." STRINGIZE(ENGINE_MINOR_VERSION) \
".0.0"
3 changes: 3 additions & 0 deletions elenasrc3/ldbg/windows/ldbg.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
int main()
{
}
Loading

0 comments on commit 30faf1e

Please sign in to comment.