Dibyendu Majumdar 4 years ago
commit 544ee84c66

@ -1,5 +1,23 @@
Most of Ravi is under MIT License
There are components that are under GPL - please see relevant
source files. These are optional components that are part of the
libgccjit implementation of the JIT compiler. You can remove these
components if you do not want GPL license.
/******************************************************************************
* Copyright (C) 1994-2019 Lua.org, PUC-Rio.
* Portions Copyright (C) 2015-2020 Dibyendu Majumdar
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
******************************************************************************/

@ -48,7 +48,7 @@ TO_LIB= libravinojit.a
# Lua version and release.
V= 5.3
R= $V.4
R= $V.5
# Targets start here.
all: $(PLAT)

@ -50,6 +50,7 @@ Lua Goodies
===========
* `An Introduction to Lua <http://the-ravi-programming-language.readthedocs.io/en/latest/lua-introduction.html>`_ attempts to provide a quick overview of Lua for folks coming from other languages.
* `Lua 5.3 Bytecode Reference <http://the-ravi-programming-language.readthedocs.io/en/latest/lua_bytecode_reference.html>`_ is my attempt to bring up to date the `Lua 5.1 Bytecode Reference <http://luaforge.net/docman/83/98/ANoFrillsIntroToLua51VMInstructions.pdf>`_.
* A `patch for Lua 5.3 <http://lua-users.org/lists/lua-l/2020-01/msg00004.html>`_ implements the 'defer' statement.
Compatibility with Lua
======================

@ -23,7 +23,7 @@
#define LUA_VERSION "Ravi " LUA_VERSION_MAJOR "." LUA_VERSION_MINOR
#define LUA_RELEASE LUA_VERSION "." LUA_VERSION_RELEASE
#define LUA_COPYRIGHT LUA_RELEASE "\nCopyright (C) 1994-2019 Lua.org, PUC-Rio\nPortions Copyright (C) 2015-2019 Dibyendu Majumdar"
#define LUA_COPYRIGHT LUA_RELEASE "\nCopyright (C) 1994-2019 Lua.org, PUC-Rio\nPortions Copyright (C) 2015-2020 Dibyendu Majumdar"
#define LUA_AUTHORS "R. Ierusalimschy, L. H. de Figueiredo, W. Celes, Dibyendu Majumdar"
@ -661,7 +661,8 @@ LUA_API void ravi_set_debuglevel(int level);
/******************************************************************************
* Copyright (C) 1994-2017 Lua.org, PUC-Rio.
* Copyright (C) 1994-2019 Lua.org, PUC-Rio.
* Portions Copyright (C) 2015-2020 Dibyendu Majumdar
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the

@ -1,5 +1,5 @@
/******************************************************************************
* Copyright (C) 2015-2017 Dibyendu Majumdar
* Copyright (C) 2015-2020 Dibyendu Majumdar
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the

@ -1,5 +1,5 @@
/******************************************************************************
* Copyright (C) 2015-2017 Dibyendu Majumdar
* Copyright (C) 2019-2020 Dibyendu Majumdar
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
@ -20,30 +20,8 @@
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
******************************************************************************/
/******************************************************************************
* Copyright (C) 2015-2018 Dibyendu Majumdar
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
******************************************************************************/
#ifndef RAVI_OMRJIT_H
#define RAVI_OMRJIT_H
#ifndef RAVI_MIRJIT_H
#define RAVI_MIRJIT_H
#include <ravi_jitshared.h>

@ -1,27 +1,5 @@
/******************************************************************************
* Copyright (C) 2015-2017 Dibyendu Majumdar
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
******************************************************************************/
/******************************************************************************
* Copyright (C) 2015-2018 Dibyendu Majumdar
* Copyright (C) 2015-2020 Dibyendu Majumdar
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the

@ -1,5 +1,5 @@
/******************************************************************************
* Copyright (C) 2015 Dibyendu Majumdar
* Copyright (C) 2015-2020 Dibyendu Majumdar
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the

@ -1,202 +0,0 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.9
# Default target executed when no arguments are given to make.
default_target: all
.PHONY : default_target
# Allow only one "make -f Makefile2" at a time, but pass parallelism.
.NOTPARALLEL:
#=============================================================================
# Special targets provided by cmake.
# Disable implicit rules so canonical targets will work.
.SUFFIXES:
# Remove some rules from gmake that .SUFFIXES does not remove.
SUFFIXES =
.SUFFIXES: .hpux_make_needs_suffix_list
# Suppress display of executed commands.
$(VERBOSE).SILENT:
# A target that is always out of date.
cmake_force:
.PHONY : cmake_force
#=============================================================================
# Set environment variables for the build.
# The shell in which to execute make rules.
SHELL = /bin/sh
# The CMake executable.
CMAKE_COMMAND = /Applications/CMake.app/Contents/bin/cmake
# The command to remove a file.
RM = /Applications/CMake.app/Contents/bin/cmake -E remove -f
# Escaping for special characters.
EQUALS = =
# The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = /Users/dylan/github/ravi/mir
# The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = /Users/dylan/github/ravi/mir/build
#=============================================================================
# Targets provided globally by CMake.
# Special rule for the target rebuild_cache
rebuild_cache:
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
/Applications/CMake.app/Contents/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
.PHONY : rebuild_cache
# Special rule for the target rebuild_cache
rebuild_cache/fast: rebuild_cache
.PHONY : rebuild_cache/fast
# Special rule for the target edit_cache
edit_cache:
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake cache editor..."
/Applications/CMake.app/Contents/bin/ccmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
.PHONY : edit_cache
# Special rule for the target edit_cache
edit_cache/fast: edit_cache
.PHONY : edit_cache/fast
# The main all target
all: cmake_check_build_system
$(CMAKE_COMMAND) -E cmake_progress_start /Users/dylan/github/ravi/mir/build/CMakeFiles /Users/dylan/github/ravi/mir/build/CMakeFiles/progress.marks
$(MAKE) -f CMakeFiles/Makefile2 all
$(CMAKE_COMMAND) -E cmake_progress_start /Users/dylan/github/ravi/mir/build/CMakeFiles 0
.PHONY : all
# The main clean target
clean:
$(MAKE) -f CMakeFiles/Makefile2 clean
.PHONY : clean
# The main clean target
clean/fast: clean
.PHONY : clean/fast
# Prepare targets for installation.
preinstall: all
$(MAKE) -f CMakeFiles/Makefile2 preinstall
.PHONY : preinstall
# Prepare targets for installation.
preinstall/fast:
$(MAKE) -f CMakeFiles/Makefile2 preinstall
.PHONY : preinstall/fast
# clear depends
depend:
$(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
.PHONY : depend
#=============================================================================
# Target rules for targets named c2mir
# Build rule for target.
c2mir: cmake_check_build_system
$(MAKE) -f CMakeFiles/Makefile2 c2mir
.PHONY : c2mir
# fast build rule for target.
c2mir/fast:
$(MAKE) -f CMakeFiles/c2mir.dir/build.make CMakeFiles/c2mir.dir/build
.PHONY : c2mir/fast
# target to build an object file
c2mir/c2mir.o:
$(MAKE) -f CMakeFiles/c2mir.dir/build.make CMakeFiles/c2mir.dir/c2mir/c2mir.o
.PHONY : c2mir/c2mir.o
# target to preprocess a source file
c2mir/c2mir.i:
$(MAKE) -f CMakeFiles/c2mir.dir/build.make CMakeFiles/c2mir.dir/c2mir/c2mir.i
.PHONY : c2mir/c2mir.i
# target to generate assembly for a file
c2mir/c2mir.s:
$(MAKE) -f CMakeFiles/c2mir.dir/build.make CMakeFiles/c2mir.dir/c2mir/c2mir.s
.PHONY : c2mir/c2mir.s
# target to build an object file
mir-gen.o:
$(MAKE) -f CMakeFiles/c2mir.dir/build.make CMakeFiles/c2mir.dir/mir-gen.o
.PHONY : mir-gen.o
# target to preprocess a source file
mir-gen.i:
$(MAKE) -f CMakeFiles/c2mir.dir/build.make CMakeFiles/c2mir.dir/mir-gen.i
.PHONY : mir-gen.i
# target to generate assembly for a file
mir-gen.s:
$(MAKE) -f CMakeFiles/c2mir.dir/build.make CMakeFiles/c2mir.dir/mir-gen.s
.PHONY : mir-gen.s
# target to build an object file
mir.o:
$(MAKE) -f CMakeFiles/c2mir.dir/build.make CMakeFiles/c2mir.dir/mir.o
.PHONY : mir.o
# target to preprocess a source file
mir.i:
$(MAKE) -f CMakeFiles/c2mir.dir/build.make CMakeFiles/c2mir.dir/mir.i
.PHONY : mir.i
# target to generate assembly for a file
mir.s:
$(MAKE) -f CMakeFiles/c2mir.dir/build.make CMakeFiles/c2mir.dir/mir.s
.PHONY : mir.s
# Help Target
help:
@echo "The following are some of the valid targets for this Makefile:"
@echo "... all (the default if no target is provided)"
@echo "... clean"
@echo "... depend"
@echo "... rebuild_cache"
@echo "... edit_cache"
@echo "... c2mir"
@echo "... c2mir/c2mir.o"
@echo "... c2mir/c2mir.i"
@echo "... c2mir/c2mir.s"
@echo "... mir-gen.o"
@echo "... mir-gen.i"
@echo "... mir-gen.s"
@echo "... mir.o"
@echo "... mir.i"
@echo "... mir.s"
.PHONY : help
#=============================================================================
# Special targets to cleanup operation of make.
# Special rule to run CMake to check the build system integrity.
# No rule that depends on this can have commands that come from listfiles
# because they might be regenerated.
cmake_check_build_system:
$(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
.PHONY : cmake_check_build_system

Binary file not shown.

@ -1778,6 +1778,63 @@ pcall(x)
assert(y == 12)
print 'Test 80 OK'
-- Test defer statement in tailcalls
y = 0
function x (n)
defer y = y + 1 end
if n > 0 then return x(n - 1) end
end
pcall(x, 3)
assert(y == 4)
compile(x)
pcall(x, 3)
assert(y == 8)
print 'Test 81 OK'
-- Simulate a test of resource closure with defer
y = 0
z = { count = 0 }
z.__index = z;
function z:new()
local object = {}
setmetatable(object, z)
return object
end
function z:open(arg)
if (arg) then
z.count = z.count + 1
return
end
y = 1
error('error opening')
end
function z.close()
z.count = z.count - 1
end
function x(arg)
local f = z:new()
f:open(arg)
assert(z.count == 1)
defer f:close() end
end
x('filename')
assert(y == 0)
assert(z.count == 0)
pcall(x, false)
assert(z.count == 0)
assert(y == 1)
y = 0
compile(x)
compile(z.new)
compile(z.open)
compile(z.close)
x('filename')
assert(y == 0)
assert(z.count == 0)
pcall(x, false)
assert(z.count == 0)
assert(y == 1)
print 'Test 82 OK'
for k,v in pairs(opcodes_coverage)
do

@ -7,7 +7,7 @@
PLAT= none
#CC= gcc -std=gnu99
CFLAGS= -O2 -Wall -Wextra -DNDEBUG -fomit-frame-pointer -DLUA_COMPAT_5_2 -DLUA_COMPAT_5_1 $(SYSCFLAGS) $(MYCFLAGS) -I../include -I../dmr_c/src -I../dmr_c/null-backend
CFLAGS= -O2 -Wall -DNDEBUG -fomit-frame-pointer -DLUA_COMPAT_5_2 -DLUA_COMPAT_5_1 $(SYSCFLAGS) $(MYCFLAGS) -I../include -I../dmr_c/src -I../dmr_c/null-backend
CXXFLAGS=$(CFLAGS) -fno-rtti -Wno-sign-compare -std=c++14 -fno-exceptions -I../include
LDFLAGS= $(SYSLDFLAGS) $(MYLDFLAGS)
LIBS= -lm $(SYSLIBS) $(MYLIBS)
@ -39,10 +39,7 @@ CORE_O= lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o \
LIB_O= lauxlib.o lbaselib.o lbitlib.o lcorolib.o ldblib.o liolib.o \
lmathlib.o loslib.o lstrlib.o ltablib.o lutf8lib.o loadlib.o linit.o \
bit.o
DMRC_O= allocate.o builtin.o char.o expression.o evaluate.o expand.o inline.o \
lib.o linearize.o liveness.o parse.o target.o tokenize.o pre-process.o \
ptrlist.o scope.o show-parse.o symbol.o walksymbol.o \
ravi_dmrc_parsesymbols.o
DMRC_O= allocate.o ptrlist.o
BASE_O= $(CORE_O) $(LIB_O) $(DMRC_O) $(MYOBJS)
LUA_T= ravi

@ -5,7 +5,7 @@
*/
/*
** Portions Copyright (C) 2015-2017 Dibyendu Majumdar
** Portions Copyright (C) 2015-2020 Dibyendu Majumdar
*/

@ -5,7 +5,7 @@
*/
/*
** Portions Copyright (C) 2015-2017 Dibyendu Majumdar
** Portions Copyright (C) 2015-2020 Dibyendu Majumdar
*/
#define lcode_c

@ -4,6 +4,10 @@
** See Copyright Notice in lua.h
*/
/*
** Portions Copyright (C) 2015-2020 Dibyendu Majumdar
*/
#define ldo_c
#define LUA_CORE

@ -5,7 +5,7 @@
*/
/*
** Portions Copyright (C) 2015-2017 Dibyendu Majumdar
** Portions Copyright (C) 2015-2020 Dibyendu Majumdar
*/

@ -5,7 +5,7 @@
*/
/*
** Portions Copyright (C) 2015-2017 Dibyendu Majumdar
** Portions Copyright (C) 2015-2020 Dibyendu Majumdar
*/

@ -5,7 +5,7 @@
*/
/*
** Portions Copyright (C) 2015-2017 Dibyendu Majumdar
** Portions Copyright (C) 2015-2020 Dibyendu Majumdar
*/

@ -5,7 +5,7 @@
*/
/*
** Portions Copyright (C) 2015-2017 Dibyendu Majumdar
** Portions Copyright (C) 2015-2020 Dibyendu Majumdar
*/
#define lparser_c

@ -5,7 +5,7 @@
*/
/*
** Portions Copyright (C) 2015-2017 Dibyendu Majumdar
** Portions Copyright (C) 2015-2020 Dibyendu Majumdar
*/
#define lundump_c

@ -5,7 +5,7 @@
*/
/*
** Portions Copyright (C) 2015-2017 Dibyendu Majumdar
** Portions Copyright (C) 2015-2020 Dibyendu Majumdar
*/

@ -6,6 +6,9 @@ The parser will perform following actions:
a) Generate syntax tree
b) Perform type checking (Ravi enhancement)
Copyright (C) 2018-2020 Dibyendu Majumdar
*/
#include "ravi_ast.h"

@ -1,3 +1,7 @@
/*
Copyright (C) 2018-2020 Dibyendu Majumdar
*/
#include <ravi_ast.h>
#include "ravi_ast.h"

@ -1,3 +1,6 @@
/*
Copyright (C) 2018-2020 Dibyendu Majumdar
*/
#include <ravi_ast.h>
#include "ravi_ast.h"

@ -1,5 +1,5 @@
/******************************************************************************
* Copyright (C) 2015-2017 Dibyendu Majumdar
* Copyright (C) 2015-2020 Dibyendu Majumdar
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
@ -592,8 +592,12 @@ static const char Lua_header[] =
" (ttisfloat(o) ? ((n) = fltvalue(o), 1) : \\\n"
" (ttisinteger(o) ? ((n) = cast_num(ivalue(o)), 1) : 0))\n"
"#define intop(op,v1,v2) l_castU2S(l_castS2U(v1) op l_castS2U(v2))\n"
"#define nan (0./0.)\n"
"#define inf (1./0.)\n"
"#define luai_numunm(L,a) (-(a))\n";
// FIXME - 'inf' and 'nan' above need to be sorted!
// We can only compile a subset of op codes
// and not all features are supported
bool raviJ_cancompile(Proto *p) { (void)p; return true; }

@ -1,5 +1,5 @@
/******************************************************************************
* Copyright (C) 2015 Dibyendu Majumdar
* Copyright (C) 2015-2020 Dibyendu Majumdar
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the

@ -1,5 +1,5 @@
/******************************************************************************
* Copyright (C) 2015 Dibyendu Majumdar
* Copyright (C) 2015-2020 Dibyendu Majumdar
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the

@ -1,5 +1,5 @@
/******************************************************************************
* Copyright (C) 2015 Dibyendu Majumdar
* Copyright (C) 2015-2020 Dibyendu Majumdar
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the

@ -1,5 +1,5 @@
/******************************************************************************
* Copyright (C) 2015 Dibyendu Majumdar
* Copyright (C) 2015-2020 Dibyendu Majumdar
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the

@ -1,5 +1,5 @@
/******************************************************************************
* Copyright (C) 2015 Dibyendu Majumdar
* Copyright (C) 2015-2020 Dibyendu Majumdar
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the

@ -1,5 +1,5 @@
/******************************************************************************
* Copyright (C) 2015 Dibyendu Majumdar
* Copyright (C) 2015-2020 Dibyendu Majumdar
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the

@ -1,5 +1,5 @@
/******************************************************************************
* Copyright (C) 2015 Dibyendu Majumdar
* Copyright (C) 2015-2020 Dibyendu Majumdar
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the

@ -1,5 +1,5 @@
/******************************************************************************
* Copyright (C) 2015 Dibyendu Majumdar
* Copyright (C) 2015-2020 Dibyendu Majumdar
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the

@ -1,5 +1,5 @@
/******************************************************************************
* Copyright (C) 2015 Dibyendu Majumdar
* Copyright (C) 2015-2020 Dibyendu Majumdar
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the

@ -1,5 +1,5 @@
/******************************************************************************
* Copyright (C) 2015 Dibyendu Majumdar
* Copyright (C) 2015-2020 Dibyendu Majumdar
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the

@ -1,5 +1,5 @@
/******************************************************************************
* Copyright (C) 2015 Dibyendu Majumdar
* Copyright (C) 2015-2020 Dibyendu Majumdar
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the

@ -1,5 +1,5 @@
/******************************************************************************
* Copyright (C) 2015 Dibyendu Majumdar
* Copyright (C) 2015-2020 Dibyendu Majumdar
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the

@ -1,5 +1,5 @@
/******************************************************************************
* Copyright (C) 2015 Dibyendu Majumdar
* Copyright (C) 2015-2020 Dibyendu Majumdar
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the

@ -1,5 +1,5 @@
/******************************************************************************
* Copyright (C) 2015 Dibyendu Majumdar
* Copyright (C) 2015-2020 Dibyendu Majumdar
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the

@ -1,5 +1,5 @@
/******************************************************************************
* Copyright (C) 2015 Dibyendu Majumdar
* Copyright (C) 2015-2020 Dibyendu Majumdar
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the

@ -1,3 +1,7 @@
/*
Copyright (C) 2018-2020 Dibyendu Majumdar
*/
#include <ravi_membuf.h>
#include <assert.h>

@ -1,5 +1,5 @@
/******************************************************************************
* Copyright (C) 2018 Dibyendu Majumdar
* Copyright (C) 2019-2020 Dibyendu Majumdar
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the

@ -1,5 +1,5 @@
/******************************************************************************
* Copyright (C) 2015 Dibyendu Majumdar
* Copyright (C) 2015-2020 Dibyendu Majumdar
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the

@ -1,5 +1,5 @@
/******************************************************************************
* Copyright (C) 2018 Dibyendu Majumdar
* Copyright (C) 2018-2020 Dibyendu Majumdar
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the

@ -1,5 +1,5 @@
/******************************************************************************
* Copyright (C) 2015 Dibyendu Majumdar
* Copyright (C) 2015-2020 Dibyendu Majumdar
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the

@ -2,7 +2,7 @@ Ravi Debug Adapter for VSCode
=============================
The aim is to provide a debug adapter that allows Microsoft's Visual Studio Code to step through Ravi or
Lua code.
Lua code. The adapter implements the protocol as specified by `Debug Adapter Protocol <https://microsoft.github.io/debug-adapter-protocol/>`_.
See `Ravi Visual Studio Code Debugger <https://github.com/dibyendumajumdar/ravi-vscode-debugger>`_.

Loading…
Cancel
Save