Add support for wasm, llvm ,postCSS, pest (#323)

* add support for wasm

* add test data for wasm

* add support for llvm

* add support for postCSS

* add support for pest

* refactor test data fmt

* rename wasm to webassembly

* update
This commit is contained in:
yjh 2019-04-27 01:16:19 +08:00 committed by XAMPPRocky
parent 06270d4254
commit b199b5b398
5 changed files with 144 additions and 29 deletions

View file

@ -1,72 +1,72 @@
{ {
"languages":{ "languages": {
"Abap":{ "Abap": {
"name":"ABAP", "name": "ABAP",
"line_comment":[ "line_comment": [
"*", "*",
"\\\"" "\\\""
], ],
"extensions":[ "extensions": [
"abap" "abap"
] ]
}, },
"ActionScript":{ "ActionScript": {
"base":"c", "base": "c",
"extensions":[ "extensions": [
"as" "as"
] ]
}, },
"Ada":{ "Ada": {
"line_comment":[ "line_comment": [
"--" "--"
], ],
"extensions":[ "extensions": [
"ada", "ada",
"adb", "adb",
"ads", "ads",
"pad" "pad"
] ]
}, },
"Alex":{ "Alex": {
"extensions":[ "extensions": [
"x" "x"
] ]
}, },
"Agda":{ "Agda": {
"base": "haskell", "base": "haskell",
"extensions":[ "extensions": [
"agda" "agda"
] ]
}, },
"Assembly":{ "Assembly": {
"line_comment":[ "line_comment": [
";" ";"
], ],
"quotes":[ "quotes": [
["\\\"", "\\\""], ["\\\"", "\\\""],
["'", "'"] ["'", "'"]
], ],
"extensions":[ "extensions": [
"s", "s",
"asm" "asm"
] ]
}, },
"Asp":{ "Asp": {
"name":"ASP", "name": "ASP",
"line_comment":[ "line_comment": [
"'", "'",
"REM" "REM"
], ],
"extensions":[ "extensions": [
"asa", "asa",
"asp" "asp"
] ]
}, },
"AspNet":{ "AspNet": {
"name":"ASP.NET", "name": "ASP.NET",
"multi_line":[ "multi_line": [
["<!--", "-->"], ["<!--", "-->"],
["<%--", "-->"] ["<%--", "-->"]
], ],
"extensions":[ "extensions":[
"asax", "asax",
@ -392,6 +392,17 @@
"css" "css"
] ]
}, },
"PostCSS": {
"base":"c",
"quotes":[
["\\\"", "\\\""],
["'", "'"]
],
"extensions":[
"pcss",
"sss"
]
},
"D":{ "D":{
"base":"c", "base":"c",
"quotes":[ "quotes":[
@ -949,6 +960,18 @@
"lsp" "lsp"
] ]
}, },
"LLVM": {
"line_comment": [
";"
],
"quotes":[
["\\\"", "\\\""],
["'", "'"]
],
"extensions": [
"ll"
]
},
"Logtalk":{ "Logtalk":{
"base":"pro", "base":"pro",
"extensions":[ "extensions":[
@ -1151,6 +1174,18 @@
"pm6" "pm6"
] ]
}, },
"Pest": {
"line_comment":[
"//"
],
"quotes":[
["\\\"", "\\\""],
["'", "'"]
],
"extensions":[
"pest"
]
},
"NotQuitePerl":{ "NotQuitePerl":{
"name": "Not Quite Perl", "name": "Not Quite Perl",
"line_comment":[ "line_comment":[
@ -1758,6 +1793,19 @@
"vue" "vue"
] ]
}, },
"WebAssembly": {
"line_comment":[
";;"
],
"quites": [
["\\\"", "\\\""],
["'", "'"]
],
"extensions": [
"wat",
"wast"
]
},
"Wolfram":{ "Wolfram":{
"base":"func", "base":"func",
"extensions":[ "extensions":[

21
tests/data/llvm.ll Normal file
View file

@ -0,0 +1,21 @@
; 21 lines 17 code 1 comments 3 blanks
define i32 @add1(i32 %a, i32 %b) {
entry:
%tmp1 = add i32 %a, %b
ret i32 %tmp1
}
define i32 @add2(i32 %a, i32 %b) {
entry:
%tmp1 = icmp eq i32 %a, 0
br i1 %tmp1, label %done, label %recurse
recurse:
%tmp2 = sub i32 %a, 1
%tmp3 = add i32 %b, 1
%tmp4 = call i32 @add2(i32 %tmp2, i32 %tmp3)
ret i32 %tmp4
done:
ret i32 %b
}

9
tests/data/pest.pest Normal file
View file

@ -0,0 +1,9 @@
// 9 lines 4 code 3 comments 2 blanks
alpha = { 'a'..'z' | 'A'..'Z' }
digit = { '0'..'9' }
ident = { (alpha | digit)+ }
ident_list = _{ !digit ~ ident ~ (" " ~ ident)+ }
// ^
// ident_list rule is silent which means it produces no tokens

27
tests/data/postcss.sss Normal file
View file

@ -0,0 +1,27 @@
// 27 lines 18 code 4 comments 5 blanks
/**
multi-line
*/
div {
width: calc(99.9% * 1/3 - (30px - 30px * 1/3));
}
div:nth-child(1n) {
float: left;
margin-right: 30px;
clear: none;
}
div:last-child {
margin-right: 0;
}
div:nth-child(3n) {
margin-right: 0;
float: right;
}
div:nth-child(3n + 1) {
clear: both;
}

View file

@ -0,0 +1,10 @@
;; 10 lines 8 code 1 comments 1 blanks
(module
(import "console" "log" (func $log (param i32 i32)))
(import "js" "mem" (memory 1))
(data (i32.const 0) "Hi")
(func (export "writeHi")
i32.const 0 ;; pass offset 0 to log
i32.const 2 ;; pass length 2 to log
call $log))