WeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeBasic++

From Esolang
Jump to navigation Jump to search

WeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeBasic++ or WeeB++ is a derivative of WeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeBasic, which is a derivative of Weeeeeeeeeeeeeeeeeeeeeeeeeeeeee. It's created by User:None1. The esolang is invented to implement brainfuck.

Syntax

WeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeBasic++ derives all the commands in WeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeBasic, except that the Delevop vaccine restores its role as a command for program termination (but it doesn't need to be in the end of the program).

It operates on a tape with 8 bit cells and a pointer, all the commands in WeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeBasic only access the cell where the pointer is pointing at.

Extra commands

Command        Meaning
Next house     Move the pointer to the cell right after it.

Previous house Move the pointer to the cell right before it.

Exit Do        Exit a do-while loop

Exit While     Exit a while loop

Example Programs

brainfuck

do
bulk infect
if number of Infections = 43 Then
Next house
infect person
Previous house
End If
Loop while number of Infections <> 10
Next house
check Number of Infections

brainfuck

do
bulk infect
if number of Infections = 91 Then
Exit Do
end If
Loop while number of Infections <> 10

Deadfish

do
bulk infect
if number of Infections = 105 Then
Next house
Infect person
Previous house
end If
if number of Infections = 100 Then
Next house
deinfect person
Previous house
end If
if number of Infections = 115 Then
Next house
If number of Infections = 0 Then
Reinfect 0 persons
Else
If number of Infections = 1 Then
Reinfect 1 persons
Else
If number of Infections = 2 Then
Reinfect 4 persons
Else
If number of Infections = 3 Then
Reinfect 9 persons
Else
If number of Infections = 4 Then
Reinfect 16 persons
Else
If number of Infections = 5 Then
Reinfect 25 persons
Else
If number of Infections = 6 Then
Reinfect 36 persons
Else
If number of Infections = 7 Then
Reinfect 49 persons
Else
If number of Infections = 8 Then
Reinfect 64 persons
Else
If number of Infections = 9 Then
Reinfect 81 persons
Else
If number of Infections = 10 Then
Reinfect 100 persons
Else
If number of Infections = 11 Then
Reinfect 121 persons
Else
If number of Infections = 12 Then
Reinfect 144 persons
Else
If number of Infections = 13 Then
Reinfect 169 persons
Else
If number of Infections = 14 Then
Reinfect 196 persons
Else
If number of Infections = 15 Then
Reinfect 225 persons
Else
If number of Infections = 16 Then
Reinfect 0 persons
Else
If number of Infections = 17 Then
Reinfect 33 persons
Else
If number of Infections = 18 Then
Reinfect 68 persons
Else
If number of Infections = 19 Then
Reinfect 105 persons
Else
If number of Infections = 20 Then
Reinfect 144 persons
Else
If number of Infections = 21 Then
Reinfect 185 persons
Else
If number of Infections = 22 Then
Reinfect 228 persons
Else
If number of Infections = 23 Then
Reinfect 17 persons
Else
If number of Infections = 24 Then
Reinfect 64 persons
Else
If number of Infections = 25 Then
Reinfect 113 persons
Else
If number of Infections = 26 Then
Reinfect 164 persons
Else
If number of Infections = 27 Then
Reinfect 217 persons
Else
If number of Infections = 28 Then
Reinfect 16 persons
Else
If number of Infections = 29 Then
Reinfect 73 persons
Else
If number of Infections = 30 Then
Reinfect 132 persons
Else
If number of Infections = 31 Then
Reinfect 193 persons
Else
If number of Infections = 32 Then
Reinfect 0 persons
Else
If number of Infections = 33 Then
Reinfect 65 persons
Else
If number of Infections = 34 Then
Reinfect 132 persons
Else
If number of Infections = 35 Then
Reinfect 201 persons
Else
If number of Infections = 36 Then
Reinfect 16 persons
Else
If number of Infections = 37 Then
Reinfect 89 persons
Else
If number of Infections = 38 Then
Reinfect 164 persons
Else
If number of Infections = 39 Then
Reinfect 241 persons
Else
If number of Infections = 40 Then
Reinfect 64 persons
Else
If number of Infections = 41 Then
Reinfect 145 persons
Else
If number of Infections = 42 Then
Reinfect 228 persons
Else
If number of Infections = 43 Then
Reinfect 57 persons
Else
If number of Infections = 44 Then
Reinfect 144 persons
Else
If number of Infections = 45 Then
Reinfect 233 persons
Else
If number of Infections = 46 Then
Reinfect 68 persons
Else
If number of Infections = 47 Then
Reinfect 161 persons
Else
If number of Infections = 48 Then
Reinfect 0 persons
Else
If number of Infections = 49 Then
Reinfect 97 persons
Else
If number of Infections = 50 Then
Reinfect 196 persons
Else
If number of Infections = 51 Then
Reinfect 41 persons
Else
If number of Infections = 52 Then
Reinfect 144 persons
Else
If number of Infections = 53 Then
Reinfect 249 persons
Else
If number of Infections = 54 Then
Reinfect 100 persons
Else
If number of Infections = 55 Then
Reinfect 209 persons
Else
If number of Infections = 56 Then
Reinfect 64 persons
Else
If number of Infections = 57 Then
Reinfect 177 persons
Else
If number of Infections = 58 Then
Reinfect 36 persons
Else
If number of Infections = 59 Then
Reinfect 153 persons
Else
If number of Infections = 60 Then
Reinfect 16 persons
Else
If number of Infections = 61 Then
Reinfect 137 persons
Else
If number of Infections = 62 Then
Reinfect 4 persons
Else
If number of Infections = 63 Then
Reinfect 129 persons
Else
If number of Infections = 64 Then
Reinfect 0 persons
Else
If number of Infections = 65 Then
Reinfect 129 persons
Else
If number of Infections = 66 Then
Reinfect 4 persons
Else
If number of Infections = 67 Then
Reinfect 137 persons
Else
If number of Infections = 68 Then
Reinfect 16 persons
Else
If number of Infections = 69 Then
Reinfect 153 persons
Else
If number of Infections = 70 Then
Reinfect 36 persons
Else
If number of Infections = 71 Then
Reinfect 177 persons
Else
If number of Infections = 72 Then
Reinfect 64 persons
Else
If number of Infections = 73 Then
Reinfect 209 persons
Else
If number of Infections = 74 Then
Reinfect 100 persons
Else
If number of Infections = 75 Then
Reinfect 249 persons
Else
If number of Infections = 76 Then
Reinfect 144 persons
Else
If number of Infections = 77 Then
Reinfect 41 persons
Else
If number of Infections = 78 Then
Reinfect 196 persons
Else
If number of Infections = 79 Then
Reinfect 97 persons
Else
If number of Infections = 80 Then
Reinfect 0 persons
Else
If number of Infections = 81 Then
Reinfect 161 persons
Else
If number of Infections = 82 Then
Reinfect 68 persons
Else
If number of Infections = 83 Then
Reinfect 233 persons
Else
If number of Infections = 84 Then
Reinfect 144 persons
Else
If number of Infections = 85 Then
Reinfect 57 persons
Else
If number of Infections = 86 Then
Reinfect 228 persons
Else
If number of Infections = 87 Then
Reinfect 145 persons
Else
If number of Infections = 88 Then
Reinfect 64 persons
Else
If number of Infections = 89 Then
Reinfect 241 persons
Else
If number of Infections = 90 Then
Reinfect 164 persons
Else
If number of Infections = 91 Then
Reinfect 89 persons
Else
If number of Infections = 92 Then
Reinfect 16 persons
Else
If number of Infections = 93 Then
Reinfect 201 persons
Else
If number of Infections = 94 Then
Reinfect 132 persons
Else
If number of Infections = 95 Then
Reinfect 65 persons
Else
If number of Infections = 96 Then
Reinfect 0 persons
Else
If number of Infections = 97 Then
Reinfect 193 persons
Else
If number of Infections = 98 Then
Reinfect 132 persons
Else
If number of Infections = 99 Then
Reinfect 73 persons
Else
If number of Infections = 100 Then
Reinfect 16 persons
Else
If number of Infections = 101 Then
Reinfect 217 persons
Else
If number of Infections = 102 Then
Reinfect 164 persons
Else
If number of Infections = 103 Then
Reinfect 113 persons
Else
If number of Infections = 104 Then
Reinfect 64 persons
Else
If number of Infections = 105 Then
Reinfect 17 persons
Else
If number of Infections = 106 Then
Reinfect 228 persons
Else
If number of Infections = 107 Then
Reinfect 185 persons
Else
If number of Infections = 108 Then
Reinfect 144 persons
Else
If number of Infections = 109 Then
Reinfect 105 persons
Else
If number of Infections = 110 Then
Reinfect 68 persons
Else
If number of Infections = 111 Then
Reinfect 33 persons
Else
If number of Infections = 112 Then
Reinfect 0 persons
Else
If number of Infections = 113 Then
Reinfect 225 persons
Else
If number of Infections = 114 Then
Reinfect 196 persons
Else
If number of Infections = 115 Then
Reinfect 169 persons
Else
If number of Infections = 116 Then
Reinfect 144 persons
Else
If number of Infections = 117 Then
Reinfect 121 persons
Else
If number of Infections = 118 Then
Reinfect 100 persons
Else
If number of Infections = 119 Then
Reinfect 81 persons
Else
If number of Infections = 120 Then
Reinfect 64 persons
Else
If number of Infections = 121 Then
Reinfect 49 persons
Else
If number of Infections = 122 Then
Reinfect 36 persons
Else
If number of Infections = 123 Then
Reinfect 25 persons
Else
If number of Infections = 124 Then
Reinfect 16 persons
Else
If number of Infections = 125 Then
Reinfect 9 persons
Else
If number of Infections = 126 Then
Reinfect 4 persons
Else
If number of Infections = 127 Then
Reinfect 1 persons
Else
If number of Infections = 128 Then
Reinfect 0 persons
Else
If number of Infections = 129 Then
Reinfect 1 persons
Else
If number of Infections = 130 Then
Reinfect 4 persons
Else
If number of Infections = 131 Then
Reinfect 9 persons
Else
If number of Infections = 132 Then
Reinfect 16 persons
Else
If number of Infections = 133 Then
Reinfect 25 persons
Else
If number of Infections = 134 Then
Reinfect 36 persons
Else
If number of Infections = 135 Then
Reinfect 49 persons
Else
If number of Infections = 136 Then
Reinfect 64 persons
Else
If number of Infections = 137 Then
Reinfect 81 persons
Else
If number of Infections = 138 Then
Reinfect 100 persons
Else
If number of Infections = 139 Then
Reinfect 121 persons
Else
If number of Infections = 140 Then
Reinfect 144 persons
Else
If number of Infections = 141 Then
Reinfect 169 persons
Else
If number of Infections = 142 Then
Reinfect 196 persons
Else
If number of Infections = 143 Then
Reinfect 225 persons
Else
If number of Infections = 144 Then
Reinfect 0 persons
Else
If number of Infections = 145 Then
Reinfect 33 persons
Else
If number of Infections = 146 Then
Reinfect 68 persons
Else
If number of Infections = 147 Then
Reinfect 105 persons
Else
If number of Infections = 148 Then
Reinfect 144 persons
Else
If number of Infections = 149 Then
Reinfect 185 persons
Else
If number of Infections = 150 Then
Reinfect 228 persons
Else
If number of Infections = 151 Then
Reinfect 17 persons
Else
If number of Infections = 152 Then
Reinfect 64 persons
Else
If number of Infections = 153 Then
Reinfect 113 persons
Else
If number of Infections = 154 Then
Reinfect 164 persons
Else
If number of Infections = 155 Then
Reinfect 217 persons
Else
If number of Infections = 156 Then
Reinfect 16 persons
Else
If number of Infections = 157 Then
Reinfect 73 persons
Else
If number of Infections = 158 Then
Reinfect 132 persons
Else
If number of Infections = 159 Then
Reinfect 193 persons
Else
If number of Infections = 160 Then
Reinfect 0 persons
Else
If number of Infections = 161 Then
Reinfect 65 persons
Else
If number of Infections = 162 Then
Reinfect 132 persons
Else
If number of Infections = 163 Then
Reinfect 201 persons
Else
If number of Infections = 164 Then
Reinfect 16 persons
Else
If number of Infections = 165 Then
Reinfect 89 persons
Else
If number of Infections = 166 Then
Reinfect 164 persons
Else
If number of Infections = 167 Then
Reinfect 241 persons
Else
If number of Infections = 168 Then
Reinfect 64 persons
Else
If number of Infections = 169 Then
Reinfect 145 persons
Else
If number of Infections = 170 Then
Reinfect 228 persons
Else
If number of Infections = 171 Then
Reinfect 57 persons
Else
If number of Infections = 172 Then
Reinfect 144 persons
Else
If number of Infections = 173 Then
Reinfect 233 persons
Else
If number of Infections = 174 Then
Reinfect 68 persons
Else
If number of Infections = 175 Then
Reinfect 161 persons
Else
If number of Infections = 176 Then
Reinfect 0 persons
Else
If number of Infections = 177 Then
Reinfect 97 persons
Else
If number of Infections = 178 Then
Reinfect 196 persons
Else
If number of Infections = 179 Then
Reinfect 41 persons
Else
If number of Infections = 180 Then
Reinfect 144 persons
Else
If number of Infections = 181 Then
Reinfect 249 persons
Else
If number of Infections = 182 Then
Reinfect 100 persons
Else
If number of Infections = 183 Then
Reinfect 209 persons
Else
If number of Infections = 184 Then
Reinfect 64 persons
Else
If number of Infections = 185 Then
Reinfect 177 persons
Else
If number of Infections = 186 Then
Reinfect 36 persons
Else
If number of Infections = 187 Then
Reinfect 153 persons
Else
If number of Infections = 188 Then
Reinfect 16 persons
Else
If number of Infections = 189 Then
Reinfect 137 persons
Else
If number of Infections = 190 Then
Reinfect 4 persons
Else
If number of Infections = 191 Then
Reinfect 129 persons
Else
If number of Infections = 192 Then
Reinfect 0 persons
Else
If number of Infections = 193 Then
Reinfect 129 persons
Else
If number of Infections = 194 Then
Reinfect 4 persons
Else
If number of Infections = 195 Then
Reinfect 137 persons
Else
If number of Infections = 196 Then
Reinfect 16 persons
Else
If number of Infections = 197 Then
Reinfect 153 persons
Else
If number of Infections = 198 Then
Reinfect 36 persons
Else
If number of Infections = 199 Then
Reinfect 177 persons
Else
If number of Infections = 200 Then
Reinfect 64 persons
Else
If number of Infections = 201 Then
Reinfect 209 persons
Else
If number of Infections = 202 Then
Reinfect 100 persons
Else
If number of Infections = 203 Then
Reinfect 249 persons
Else
If number of Infections = 204 Then
Reinfect 144 persons
Else
If number of Infections = 205 Then
Reinfect 41 persons
Else
If number of Infections = 206 Then
Reinfect 196 persons
Else
If number of Infections = 207 Then
Reinfect 97 persons
Else
If number of Infections = 208 Then
Reinfect 0 persons
Else
If number of Infections = 209 Then
Reinfect 161 persons
Else
If number of Infections = 210 Then
Reinfect 68 persons
Else
If number of Infections = 211 Then
Reinfect 233 persons
Else
If number of Infections = 212 Then
Reinfect 144 persons
Else
If number of Infections = 213 Then
Reinfect 57 persons
Else
If number of Infections = 214 Then
Reinfect 228 persons
Else
If number of Infections = 215 Then
Reinfect 145 persons
Else
If number of Infections = 216 Then
Reinfect 64 persons
Else
If number of Infections = 217 Then
Reinfect 241 persons
Else
If number of Infections = 218 Then
Reinfect 164 persons
Else
If number of Infections = 219 Then
Reinfect 89 persons
Else
If number of Infections = 220 Then
Reinfect 16 persons
Else
If number of Infections = 221 Then
Reinfect 201 persons
Else
If number of Infections = 222 Then
Reinfect 132 persons
Else
If number of Infections = 223 Then
Reinfect 65 persons
Else
If number of Infections = 224 Then
Reinfect 0 persons
Else
If number of Infections = 225 Then
Reinfect 193 persons
Else
If number of Infections = 226 Then
Reinfect 132 persons
Else
If number of Infections = 227 Then
Reinfect 73 persons
Else
If number of Infections = 228 Then
Reinfect 16 persons
Else
If number of Infections = 229 Then
Reinfect 217 persons
Else
If number of Infections = 230 Then
Reinfect 164 persons
Else
If number of Infections = 231 Then
Reinfect 113 persons
Else
If number of Infections = 232 Then
Reinfect 64 persons
Else
If number of Infections = 233 Then
Reinfect 17 persons
Else
If number of Infections = 234 Then
Reinfect 228 persons
Else
If number of Infections = 235 Then
Reinfect 185 persons
Else
If number of Infections = 236 Then
Reinfect 144 persons
Else
If number of Infections = 237 Then
Reinfect 105 persons
Else
If number of Infections = 238 Then
Reinfect 68 persons
Else
If number of Infections = 239 Then
Reinfect 33 persons
Else
If number of Infections = 240 Then
Reinfect 0 persons
Else
If number of Infections = 241 Then
Reinfect 225 persons
Else
If number of Infections = 242 Then
Reinfect 196 persons
Else
If number of Infections = 243 Then
Reinfect 169 persons
Else
If number of Infections = 244 Then
Reinfect 144 persons
Else
If number of Infections = 245 Then
Reinfect 121 persons
Else
If number of Infections = 246 Then
Reinfect 100 persons
Else
If number of Infections = 247 Then
Reinfect 81 persons
Else
If number of Infections = 248 Then
Reinfect 64 persons
Else
If number of Infections = 249 Then
Reinfect 49 persons
Else
If number of Infections = 250 Then
Reinfect 36 persons
Else
If number of Infections = 251 Then
Reinfect 25 persons
Else
If number of Infections = 252 Then
Reinfect 16 persons
Else
If number of Infections = 253 Then
Reinfect 9 persons
Else
If number of Infections = 254 Then
Reinfect 4 persons
Else
If number of Infections = 255 Then
Reinfect 1 persons
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
Previous house
end If
if number of Infections = 111 Then
Next house
Print
Previous house
end If
Loop while number of Infections <> 10

99 bottles of beer

Reinfect 99 persons
Next house
Reinfect 10 persons
Previous house
While number of infections > 0
Print
If number of infections <> 1 then
Print "bottles of beer on the wall. "
Print
Print "bottles of beer. "
Next house
check number of infections
Previous house
Print "Take one down and pass it around. "
Else
Print "bottle of beer on the wall. "
Print
Print "bottle of beer."
Next house
check number of infections
Previous house
Print "Take one down and pass it around, "
End If
Deinfect person
If number of infections <> 0 then
Print
else
Print "no "
End If
If number of infections <> 1 then
Print "bottles of beer on the wall. "
Else
Print "bottle of beer on the wall. "
End If
Next house
check number of infections
check number of infections
Previous house
End While
Reinfect 10 persons
Print "No bottles of beer on the wall, no bottles of beer. "
check number of infections
Print "Go to the store and buy some more, 99 bottles of beer on the wall."

Unlike WeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeBasic, WeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeBasic++ uses a tape instead of an accumulator, so this program is capable of printing the line feeds.

Turing completeness

The esolang is Turing complete because any brainfuck program can be translated into a WeeB++ program.

Translation from brainfuck to WeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeBasic++
Brainfuck WeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeBasic++
+ infect person
- deinfect person
, bulk infect
. check number of infections
> next house
< previous house
[ while number of infections <> 0
] end while

External resources

  • WBC, the transpiler from WeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeBasic/WeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeBasic++ to C.
  • Online IDE.

See also