Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Cobol, Whitespace, LOLCODE, a preliminary entry for INTERCAL, and split Objective C++ out from Objective C #345

Closed
wants to merge 3 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
26 changes: 24 additions & 2 deletions lib/linguist/languages.yml
Expand Up @@ -246,6 +246,10 @@ Clojure:
- .clj
- .cljs

Cobol:
type: programming
primary_extension: .cob

CoffeeScript:
type: programming
ace_mode: coffee
Expand Down Expand Up @@ -633,6 +637,9 @@ INI:
- .prefs
- .properties
primary_extension: .ini

INTERCAL:
type: programming

IRC log:
lexer: IRC logs
Expand Down Expand Up @@ -717,6 +724,10 @@ LLVM:
primary_extension: .ll
extensions:
- .ll

LOLCODE:
type: programming
primary_extension: .lol

Lasso:
type: programming
Expand Down Expand Up @@ -893,8 +904,14 @@ Objective-C:
- obj-c
- objc
primary_extension: .m
extensions:
- .mm

Objective-C++:
type: programming
color: "#4886FC"
aliases:
- obj-c++
- objc++
primary_extension: .mm

Objective-J:
type: programming
Expand Down Expand Up @@ -1307,6 +1324,11 @@ Visual Basic:
- .vb
- .vba
- .vbs

Whitespace:
type: programming
color: "FFFFFF"
primary_extension: .ws

XML:
type: markup
Expand Down
5 changes: 5 additions & 0 deletions samples/Cobol/hello.cob
@@ -0,0 +1,5 @@
IDENTIFICATION DIVISION.
PROGRAM-ID. HELLOWORLD.
PROCEDURE DIVISION.
DISPLAY 'HELLO WORLD'.
STOP RUN.
293 changes: 293 additions & 0 deletions samples/LOLCODE/test.lol
@@ -0,0 +1,293 @@
OBTW
A BF interpreter.
TLDR

HAI 1.3
I HAS A array ITZ A BUKKIT
I HAS A ptr ITZ 0
I HAS A max ITZ 100

HOW IZ I convert YR char
char, WTF?
OMG "", FOUND YR 4
OMG " ", FOUND YR 32
OMG "!", FOUND YR 33
OMG ":"", FOUND YR 34
OMG "#", FOUND YR 35
OMG "$", FOUND YR 36
OMG "%", FOUND YR 37
OMG "&", FOUND YR 38
OMG "'", FOUND YR 39
OMG "(", FOUND YR 40
OMG ")", FOUND YR 41
OMG "*", FOUND YR 42
OMG "+", FOUND YR 43
OMG ",", FOUND YR 44
OMG "-", FOUND YR 45
OMG ".", FOUND YR 46
OMG "/", FOUND YR 47
OMG "0", FOUND YR 48
OMG "1", FOUND YR 49
OMG "2", FOUND YR 50
OMG "3", FOUND YR 51
OMG "4", FOUND YR 52
OMG "5", FOUND YR 53
OMG "6", FOUND YR 54
OMG "7", FOUND YR 55
OMG "8", FOUND YR 56
OMG "9", FOUND YR 57
OMG "::", FOUND YR 58
OMG ";", FOUND YR 59
OMG "<", FOUND YR 60
OMG "=", FOUND YR 61
OMG ">", FOUND YR 62
OMG "?", FOUND YR 63
OMG "@", FOUND YR 64
OMG "A", FOUND YR 65
OMG "B", FOUND YR 66
OMG "C", FOUND YR 67
OMG "D", FOUND YR 68
OMG "E", FOUND YR 69
OMG "F", FOUND YR 70
OMG "G", FOUND YR 71
OMG "H", FOUND YR 72
OMG "I", FOUND YR 73
OMG "J", FOUND YR 74
OMG "K", FOUND YR 75
OMG "L", FOUND YR 76
OMG "M", FOUND YR 77
OMG "N", FOUND YR 78
OMG "O", FOUND YR 79
OMG "P", FOUND YR 80
OMG "Q", FOUND YR 81
OMG "R", FOUND YR 82
OMG "S", FOUND YR 83
OMG "T", FOUND YR 84
OMG "U", FOUND YR 85
OMG "V", FOUND YR 86
OMG "W", FOUND YR 87
OMG "X", FOUND YR 88
OMG "Y", FOUND YR 89
OMG "Z", FOUND YR 90
OMG "[", FOUND YR 91
OMG "]", FOUND YR 92
OMG "\", FOUND YR 93
OMG "^", FOUND YR 94
OMG "_", FOUND YR 95
OMG "`", FOUND YR 96
OMG "a", FOUND YR 97
OMG "b", FOUND YR 98
OMG "c", FOUND YR 99
OMG "d", FOUND YR 100
OMG "e", FOUND YR 101
OMG "f", FOUND YR 102
OMG "g", FOUND YR 103
OMG "h", FOUND YR 104
OMG "i", FOUND YR 105
OMG "j", FOUND YR 106
OMG "k", FOUND YR 107
OMG "l", FOUND YR 108
OMG "m", FOUND YR 109
OMG "n", FOUND YR 110
OMG "o", FOUND YR 111
OMG "p", FOUND YR 112
OMG "q", FOUND YR 113
OMG "r", FOUND YR 114
OMG "s", FOUND YR 115
OMG "t", FOUND YR 116
OMG "u", FOUND YR 117
OMG "v", FOUND YR 118
OMG "w", FOUND YR 119
OMG "x", FOUND YR 120
OMG "y", FOUND YR 121
OMG "z", FOUND YR 122
OMG "{", FOUND YR 123
OMG "|", FOUND YR 124
OMG "}", FOUND YR 125
OMG "~", FOUND YR 126
OIC
IF U SAY SO

HOW IZ I print YR char
char, WTF?
OMG 4, VISIBLE ""!, GTFO
OMG 32, VISIBLE " "!, GTFO
OMG 33, VISIBLE "!"!, GTFO
OMG 34, VISIBLE ":""!, GTFO
OMG 35, VISIBLE "#"!, GTFO
OMG 36, VISIBLE "$"!, GTFO
OMG 37, VISIBLE "%"!, GTFO
OMG 38, VISIBLE "&"!, GTFO
OMG 39, VISIBLE "'"!, GTFO
OMG 40, VISIBLE "("!, GTFO
OMG 41, VISIBLE ")"!, GTFO
OMG 42, VISIBLE "*"!, GTFO
OMG 43, VISIBLE "+"!, GTFO
OMG 44, VISIBLE ","!, GTFO
OMG 45, VISIBLE "-"!, GTFO
OMG 46, VISIBLE "."!, GTFO
OMG 47, VISIBLE "/"!, GTFO
OMG 48, VISIBLE "0"!, GTFO
OMG 49, VISIBLE "1"!, GTFO
OMG 50, VISIBLE "2"!, GTFO
OMG 51, VISIBLE "3"!, GTFO
OMG 52, VISIBLE "4"!, GTFO
OMG 53, VISIBLE "5"!, GTFO
OMG 54, VISIBLE "6"!, GTFO
OMG 55, VISIBLE "7"!, GTFO
OMG 56, VISIBLE "8"!, GTFO
OMG 57, VISIBLE "9"!, GTFO
OMG 58, VISIBLE "::"!, GTFO
OMG 59, VISIBLE ";"!, GTFO
OMG 60, VISIBLE "<"!, GTFO
OMG 61, VISIBLE "="!, GTFO
OMG 62, VISIBLE ">"!, GTFO
OMG 63, VISIBLE "?"!, GTFO
OMG 64, VISIBLE "@"!, GTFO
OMG 65, VISIBLE "A"!, GTFO
OMG 66, VISIBLE "B"!, GTFO
OMG 67, VISIBLE "C"!, GTFO
OMG 68, VISIBLE "D"!, GTFO
OMG 69, VISIBLE "E"!, GTFO
OMG 70, VISIBLE "F"!, GTFO
OMG 71, VISIBLE "G"!, GTFO
OMG 72, VISIBLE "H"!, GTFO
OMG 73, VISIBLE "I"!, GTFO
OMG 74, VISIBLE "J"!, GTFO
OMG 75, VISIBLE "K"!, GTFO
OMG 76, VISIBLE "L"!, GTFO
OMG 77, VISIBLE "M"!, GTFO
OMG 78, VISIBLE "N"!, GTFO
OMG 79, VISIBLE "O"!, GTFO
OMG 80, VISIBLE "P"!, GTFO
OMG 81, VISIBLE "Q"!, GTFO
OMG 82, VISIBLE "R"!, GTFO
OMG 83, VISIBLE "S"!, GTFO
OMG 84, VISIBLE "T"!, GTFO
OMG 85, VISIBLE "U"!, GTFO
OMG 86, VISIBLE "V"!, GTFO
OMG 87, VISIBLE "W"!, GTFO
OMG 88, VISIBLE "X"!, GTFO
OMG 89, VISIBLE "Y"!, GTFO
OMG 90, VISIBLE "Z"!, GTFO
OMG 91, VISIBLE "["!, GTFO
OMG 92, VISIBLE "\"!, GTFO
OMG 93, VISIBLE "]"!, GTFO
OMG 94, VISIBLE "^"!, GTFO
OMG 95, VISIBLE "_"!, GTFO
OMG 96, VISIBLE "`"!, GTFO
OMG 97, VISIBLE "a"!, GTFO
OMG 98, VISIBLE "b"!, GTFO
OMG 99, VISIBLE "c"!, GTFO
OMG 100, VISIBLE "d"!, GTFO
OMG 101, VISIBLE "e"!, GTFO
OMG 102, VISIBLE "f"!, GTFO
OMG 103, VISIBLE "g"!, GTFO
OMG 104, VISIBLE "h"!, GTFO
OMG 105, VISIBLE "i"!, GTFO
OMG 106, VISIBLE "j"!, GTFO
OMG 107, VISIBLE "k"!, GTFO
OMG 108, VISIBLE "l"!, GTFO
OMG 109, VISIBLE "m"!, GTFO
OMG 110, VISIBLE "n"!, GTFO
OMG 111, VISIBLE "o"!, GTFO
OMG 112, VISIBLE "p"!, GTFO
OMG 113, VISIBLE "q"!, GTFO
OMG 114, VISIBLE "r"!, GTFO
OMG 115, VISIBLE "s"!, GTFO
OMG 116, VISIBLE "t"!, GTFO
OMG 117, VISIBLE "u"!, GTFO
OMG 118, VISIBLE "v"!, GTFO
OMG 119, VISIBLE "w"!, GTFO
OMG 120, VISIBLE "x"!, GTFO
OMG 121, VISIBLE "y"!, GTFO
OMG 122, VISIBLE "z"!, GTFO
OMG 123, VISIBLE "{"!, GTFO
OMG 124, VISIBLE "|"!, GTFO
OMG 125, VISIBLE "}"!, GTFO
OMG 126, VISIBLE "~"!, GTFO
OIC
IF U SAY SO

BTW Build up a slot name
HOW IZ I slot YR n
I HAS A name ITZ "x"
IM IN YR loop UPPIN YR i TIL BOTH SAEM i AN n
name R SMOOSH name AN "x" MKAY
IM OUTTA YR loop
FOUND YR name
IF U SAY SO

BTW Initialize the array
IM IN YR init UPPIN YR ctr TIL BOTH SAEM ctr AN 100
array HAS A SRS I IZ slot YR ctr MKAY ITZ 0
IM OUTTA YR init

HOW IZ I executin YR instruction
instruction, WTF?
OMG ""
FOUND YR WIN
OMG ">"
DIFFRINT ptr AN 100, O RLY?
YA RLY, ptr R SUM OF ptr AN 1
OIC
FOUND YR FAIL
OMG "<"
DIFFRINT ptr AN 0, O RLY?
YA RLY, ptr R DIFF OF ptr AN 1
OIC
FOUND YR FAIL
OMG "+"
array'Z SRS I IZ slot YR ptr MKAY R SUM OF...
array'Z SRS I IZ slot YR ptr MKAY AN 1
FOUND YR FAIL
OMG "-"
array'Z SRS I IZ slot YR ptr MKAY R DIFF OF...
array'Z SRS I IZ slot YR ptr MKAY AN 1
FOUND YR FAIL
OMG ","
I HAS A temp ITZ A YARN
GIMMEH temp
array'Z SRS I IZ slot YR ptr MKAY R...
I IZ convert YR temp MKAY
FOUND YR FAIL
OMG "."
I IZ print YR array'Z SRS I IZ slot YR ptr MKAY MKAY
FOUND YR FAIL
OMG "["
BTW Fetch until ``]''
I HAS A icache ITZ A BUKKIT
I HAS A size ITZ 0
IM IN YR loop1
I HAS A temp ITZ A YARN
GIMMEH temp
BOTH SAEM temp AN "]"
O RLY?
YA RLY, GTFO
OIC
icache HAS A SRS I IZ slot YR size MKAY ITZ temp
size R SUM OF size AN 1
IM OUTTA YR loop1
BTW Keep executing until done
IM IN YR loop2 UPPIN YR pc
pc R MOD OF pc AN size
I HAS A cond1 ITZ BOTH SAEM pc AN 0
I HAS A cond2 ITZ BOTH SAEM array'Z SRS I IZ slot YR ptr MKAY AN 0
BOTH OF cond1 AN cond2
O RLY?, YA RLY, GTFO, OIC
I HAS A i ITZ icache'Z SRS I IZ slot YR pc MKAY
I IZ executin YR i MKAY
IM OUTTA YR loop2
FOUND YR FAIL
OIC
IF U SAY SO

IM IN YR main
I HAS A instruction ITZ A YARN
GIMMEH instruction
I IZ executin YR instruction MKAY
O RLY?
YA RLY, GTFO
OIC
IM OUTTA YR main
KTHXBYE