Atreya Bain 9f3af7ac5f Create .gitattributes
mark generated files
2025-07-15 19:42:39 +01:00
2021-04-13 11:25:48 +05:30
2021-04-13 11:25:39 +05:30
2020-10-30 20:35:01 +05:30
2021-04-13 11:25:48 +05:30
2020-10-30 20:35:01 +05:30
2020-10-30 20:35:01 +05:30
2025-07-15 19:42:39 +01:00
2021-04-04 18:23:58 +05:30
2021-04-04 18:22:45 +05:30
2021-04-13 11:25:39 +05:30

(+97>)3<3+>+5>+2<2(.>)3 (*.bfe)

A slight syntactic superset of BF.

Development requirements:

  1. cxxopts -> v2.2.1
  2. antlr4 -> v4

HelloWorld.bfe

-[-7>+<]>-.-[->+5<]>++.+7..+3.[-3>+<]>-5.--[->+4<]>-.-8.+3.-6.-8.

Functions

  1. Interpret bfe(and bf) files
  2. Convert bf/bfe to bf
  3. Convert bf/bfe to C++ (not optimized)

Usage

./bfc -h #Help
./bfc prog.bfe #Execute
./bfc prog.bfe -a bf #Translate file to bf
./bfc prog.bfe -a cpp # Translate file to cpp

Syntax

Basic

,. IO
<> Address manipulation
+- Value manipulation
[] Looping construct

Comments

// - Single Line

/* */ - Multi Line

Repeats

<symbol><number>
(<symbols>)<number>

Eg.

+65. //prints A
>
(+65>)3 //stores AAA
(<.)3   //prints AAA

Setup oddities (dev)

  1. Generate parsers to ./libs/generated or use VSCode with the ANTLR extension or use a downloaded ANTLR JAR.

Todo (Tentative)

  • Grammar
    • Number shorthand
    • Loop statements
    • Ignore rest
    • Shorthand segments
  • Processing
    • Translate to bf
    • Execute results
Description
A Parser and interpreter for BFE, a syntactic superset of bf
Readme 2.6 MiB
Languages
C++ 97.2%
ANTLR 1.5%
CMake 1.3%