July 22, 2026

Capitalizations Index – B ∞/21M

an Smart Contract Programming Language for Ethereum: Introduction

an Smart Contract Programming Language for Ethereum: Introduction

After writing gelex (generic lexer), geast (generic Abstract Syntax Tree) and gepars (generic parser), using JavaScript as implementation language, I started to use these projects to design and build a simple programming language compiler: selang. As usual, I’m using TDD (Test-Driven Development) as code workflow. It helps me to follow KISS (keep-it-simple-stuped), baby steps, and emergent design.

The target of compilation is the Ethereum Virtual Machine. The process of compilation is:

Current implementation is still incomplete, but a sample with code, compilation, deploy and invocation is here.

The code of the simple contract is

contract Counter 

public void increment()

public void add(uint value)
}

You can compile the code with

node compile

And you can compile, deploy to http://localhost:8545 (usually a ganache-cli node instance), and invoke it, executing:

node deploy

The only type supported is uint (unsigned 32 bytes integer). Next steps:

  • Support for other numeric types
  • Support for static and dynamic arrays (a bit challenging, memory management with bytecodes)
  • Support for strings (another challenge: using keccak256 hash functions to allocate dynamically the string in 32-bytes storage cells)
  • Constructor code (it’s code that is used only once, and should be compiled in different ways)
  • Inheritance

Related posts:

Angel “Java” Lopez
https://github.com/ajlopez
https://twitter.com/ajlopez

Published at Tue, 21 May 2019 15:21:17 +0000

Previous Article

Watch 10 Essential Talks from Ethereal Summit NY 2019

Next Article

Boeing Bounces After Kamikaze Bird Rumor Bolsters Key Dow Stock

You might be interested in …

Ethereum price analysis: buying dips favored above $170

Ethereum Price Analysis: Buying Dips Favored Above $170

Ethereum Price Analysis: Buying Dips Favored Above $170 Ethereum price surged higher this past week and broke the $175 and $182 resistances against the US Dollar. ETH traded as high as $187 and later started […]

Cryptojacking: Monero-Miner knacken Linux

BTC-ECHO Cryptojacking: Monero-Miner knacken Linux Eine Cryptojacking-Kampagne befällt derzeit öffentliche Linux-Server weltweit. Dabei wird eine Sicherheitslücke ausgenutzt, die bereits seit fünf Jahren bekannt und behebbar ist. Sie ist unter der Bezeichnung CVE-2013-2618 gelistet und betrifft […]