# jsymbol

> Data structures for symbols and symbol table to be used in compilers/interpreters. Written in TypeScript and can be used in TypeScript and JavaScript projects.

Latest version **0.3.5** (published 2018-04-14) · MIT license · 0 weekly downloads

## Install

```sh
npm install jsymbol
pnpm add jsymbol
yarn add jsymbol
bun add jsymbol
```

## Health

**Score 25/100 (F)** — status: abandoned.

Positive: has types; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.3.5 |
| Published | 2018-04-14 |
| First published | 2018-02-19 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 141.3 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Charles Prakash Dasari |
| Maintainers | cdasari |
| Keywords | symbol, table, symbol-table, symbols, symbol table, jsymbols, symbolsjs, ast, compiler, interface |

## Links

- npm: https://www.npmjs.com/package/jsymbol
- Repository: https://github.com/solzacode/jsymbol
- Homepage: https://github.com/solzacode/jsymbol#readme
- Issues: https://github.com/solzacode/jsymbol/issues
- npm.io page: https://npm.io/package/jsymbol

## Alternatives

- [@lexical/table](https://npm.io/package/@lexical/table.md) — 3.0M weekly downloads
- [mantine-datatable](https://npm.io/package/mantine-datatable.md) — 98.2K weekly downloads
- [react-native-collapsible-tab-view](https://npm.io/package/react-native-collapsible-tab-view.md) — 70.6K weekly downloads
- [@handsontable/vue3](https://npm.io/package/@handsontable/vue3.md) — 16.1K weekly downloads
- [vuewordcloud](https://npm.io/package/vuewordcloud.md) — 7.2K weekly downloads

## Recent versions

- 0.3.5 (latest) — 2018-04-14
- 0.3.4 — 2018-04-14
- 0.3.3 — 2018-04-13
- 0.3.2 — 2018-03-25
- 0.3.1 — 2018-03-05
- 0.3.0 — 2018-03-05
- 0.2.2 — 2018-02-19
- 0.2.1 — 2018-02-19
- 0.2.0 — 2018-02-19
- 0.1.1 — 2018-02-19

## README

# jsymbol

[![Build Status](https://travis-ci.org/solzacode/jsymbol.svg?branch=master)](https://travis-ci.org/solzacode/jsymbol)
[![NPM version](https://badge.fury.io/js/jsymbol.svg)](https://www.npmjs.com/package/jsymbol)
[![Coverage Status](https://coveralls.io/repos/github/solzacode/jsymbol/badge.svg?branch=master)](https://coveralls.io/github/solzacode/jsymbol?branch=master)

Data structures for symbols and symbol table to be used in compilers/interpreters. Written in TypeScript and can be used in TypeScript and JavaScript projects.

## Installation

### Using yarn

```sh
yarn add jsymbol
```

### Using npm

```sh
npm install jsymbol --save
```

## Usage

### TypeScript

```typescript
import { SymbolTable, AstSymbol } from "jsymbol";

let st: SymbolTable<AstSymbol> = new SymbolTable<AstSymbol>(s => s.identifier);
let sym: AstSymbol = new AstSymbol("counter", "variable");   // symbol and its type

st.add(sym);

st.enterScope();
// assert: st.lookup("counter") === sym;

st.exitScope();
```

### JavaScript

```javascript
const jsymbol = require("jsymbol");

let st = new jsymbol.SymbolTable(s => s.identifier);
let sym = new jsymbol.AstSymbol("counter", "variable");

st.add(sym);

st.enterScope();
// assert: st.lookup("counter") === sym;

st.exitScope();
```

---
_Source: https://npm.io/package/jsymbol · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
