Skip to content

kishtarn555/cms_rekarel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 

Repository files navigation

CMS support for Karel

This adds support for Karel Java and Karel Pascal as used by the Mexican Olimpiad in Informatics

Before you use it

Do not use Karel (rekarel.1.0.0)

The Karel language Karel (rekarel.1.0.0) is deprecated and is kept for compatibility purposes. It will be deleted after August 2025.

Both languages compile and run the same language (ReKarel 2.3), this is the reason as to why Karel (rekarel 1.0.0) is deprecated, due to its poor name.

However, deleting a language from a CMS causes internal errors if there were submissions to it or if a contest allows it and such, so it is kept to give time to consumers to plan their migration.

Install

Prerequisites

First install the compiler (Node must be at least 1.10.2)

npm install -g @rekarel/cli

Make sure it is in the correct place by running

rekarel -V

And

type -a rekarel

It should be in /usr/local/bin/rekarel, otherwise, you'll have to move it.

Next, let's install the interpreter.

Download the C++ VM

https://github.com/kishtarn555/rekarel-cpp-interpreter/releases/tag/v2.0.0

Go to the download/clone folder and run:

Then

mkdir bin
make karel
cd bin
sudo install -m 755 karel /usr/local/bin

Karel for CMS

Run

python3 setup.py install

Restart CMS

Usage

This package adds two things

  • Karel languages
  • Karel task type.

A Karel task type is a slightly modified version of a batch task that changes the task output the correct information, like Instruction Limit Exceeded and the type or Runtime Error

ReKarel project map

Here's a map for exploring the ReKarel project:

Repo Description
ReKarel Web IDE for ReKarel
Core JS compiler, interpreter and transpiler
CLI Node command line interface for the core
CPP Interpreter Faster C++ interpreter, runs bytecode compiled by the CLI compiler
CMS Adds ReKarel support to CMS
KarelCaseGenerator Python Case Generator

image