Skip to content

hogget-language/compiler

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Hogget compiler

Build Status

Installation

Requires Node.js v4 or higher. This package has no dependencies.

npm install hogget --global
hgg --version

Compiling

The Hogget compiler needs an input and output to run. To run from the terminal:

hgg --input program.hgg --output program.hgg.js

or, more concisely:

hgg -i program.hgg -o program.hgg.js

To run programatically from Node.js:

import hogget from 'hogget'
const hoggetString = "log('the answer is ' add(12 30))"
console.log(hogget(hoggetString))

The hogget package also exports a parse and an execute method.

Interpreter mode: compile + evaluate

To run from the terminal, either the --evaluate or -e option must be used:

hgg --evaluate --input program.hgg

To run programatically from Node.js:

import { execute } from 'hogget'
const hoggetString = "log('the answer is ' add(12 30))"
execute(hoggetString)

Linting

To run from the terminal, either the --lint or -l option must be used:

hgg --lint --input program.hgg

To run programatically from Node.js:

import { lint } from 'hogget'
const hoggetString = 'let myAdd = (a b) => { let result = add(a b); result; };'
console.log(lint(hoggetString))

Formatting

To run from the terminal, either the --format or -f option must be used:

hgg --format --input program.hgg --output program.hgg

To run programatically from Node.js:

import { format } from 'hogget'
const hoggetString = 'let myAdd = (a b) => { let result = add(a b); result; };'
console.log(format(hoggetString))

About

Compiler, linter and formatter for the Hogget programming language

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published