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

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))