mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 17:50:22 +00:00
Merge branch 'master' into memory_blob
This commit is contained in:
5
.gitmodules
vendored
5
.gitmodules
vendored
@@ -646,7 +646,7 @@
|
|||||||
url = https://github.com/SRI-CSL/SMT.tmbundle.git
|
url = https://github.com/SRI-CSL/SMT.tmbundle.git
|
||||||
[submodule "vendor/grammars/language-crystal"]
|
[submodule "vendor/grammars/language-crystal"]
|
||||||
path = vendor/grammars/language-crystal
|
path = vendor/grammars/language-crystal
|
||||||
url = https://github.com/k2b6s9j/language-crystal
|
url = https://github.com/atom-crystal/language-crystal
|
||||||
[submodule "vendor/grammars/language-xbase"]
|
[submodule "vendor/grammars/language-xbase"]
|
||||||
path = vendor/grammars/language-xbase
|
path = vendor/grammars/language-xbase
|
||||||
url = https://github.com/hernad/atom-language-harbour
|
url = https://github.com/hernad/atom-language-harbour
|
||||||
@@ -680,3 +680,6 @@
|
|||||||
[submodule "vendor/grammars/Stata.tmbundle"]
|
[submodule "vendor/grammars/Stata.tmbundle"]
|
||||||
path = vendor/grammars/Stata.tmbundle
|
path = vendor/grammars/Stata.tmbundle
|
||||||
url = https://github.com/pschumm/Stata.tmbundle
|
url = https://github.com/pschumm/Stata.tmbundle
|
||||||
|
[submodule "vendor/grammars/FreeMarker.tmbundle"]
|
||||||
|
path = vendor/grammars/FreeMarker.tmbundle
|
||||||
|
url = https://github.com/freemarker/FreeMarker.tmbundle
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ We try only to add new extensions once they have some usage on GitHub. In most c
|
|||||||
|
|
||||||
To add support for a new extension:
|
To add support for a new extension:
|
||||||
|
|
||||||
0. Add your extension to the language entry in [`languages.yml`][languages].
|
0. Add your extension to the language entry in [`languages.yml`][languages], keeping the extensions in alphabetical order.
|
||||||
0. Add at least one sample for your extension to the [samples directory][samples] in the correct subdirectory.
|
0. Add at least one sample for your extension to the [samples directory][samples] in the correct subdirectory.
|
||||||
0. Open a pull request, linking to a [GitHub search result](https://github.com/search?utf8=%E2%9C%93&q=extension%3Aboot+NOT+nothack&type=Code&ref=searchresults) showing in-the-wild usage.
|
0. Open a pull request, linking to a [GitHub search result](https://github.com/search?utf8=%E2%9C%93&q=extension%3Aboot+NOT+nothack&type=Code&ref=searchresults) showing in-the-wild usage.
|
||||||
|
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ The Language stats bar displays languages percentages for the files in the repos
|
|||||||
|
|
||||||
0. Click on the name of the language in the stats bar to see a list of the files that are identified as that language.
|
0. Click on the name of the language in the stats bar to see a list of the files that are identified as that language.
|
||||||
0. If you see files that you didn't write, consider moving the files into one of the [paths for vendored code](/lib/linguist/vendor.yml), or use the [manual overrides](#overrides) feature to ignore them.
|
0. If you see files that you didn't write, consider moving the files into one of the [paths for vendored code](/lib/linguist/vendor.yml), or use the [manual overrides](#overrides) feature to ignore them.
|
||||||
0. If the files are being misclassified, search for [open issues][issues] to see if anyone else has already reported the issue. Any information you an add, especially links to public repositories, is helpful.
|
0. If the files are being misclassified, search for [open issues][issues] to see if anyone else has already reported the issue. Any information you can add, especially links to public repositories, is helpful.
|
||||||
0. If there are no reported issues of this misclassification, [open an issue][new-issue] and include a link to the repository or a sample of the code that is being misclassified.
|
0. If there are no reported issues of this misclassification, [open an issue][new-issue] and include a link to the repository or a sample of the code that is being misclassified.
|
||||||
|
|
||||||
## Overrides
|
## Overrides
|
||||||
|
|||||||
@@ -42,6 +42,8 @@ vendor/grammars/Docker.tmbundle:
|
|||||||
- source.dockerfile
|
- source.dockerfile
|
||||||
vendor/grammars/Elm.tmLanguage:
|
vendor/grammars/Elm.tmLanguage:
|
||||||
- source.elm
|
- source.elm
|
||||||
|
vendor/grammars/FreeMarker.tmbundle:
|
||||||
|
- text.html.ftl
|
||||||
vendor/grammars/G-Code/:
|
vendor/grammars/G-Code/:
|
||||||
- source.LS
|
- source.LS
|
||||||
- source.MCPOST
|
- source.MCPOST
|
||||||
@@ -248,6 +250,7 @@ vendor/grammars/elixir-tmbundle:
|
|||||||
- source.elixir
|
- source.elixir
|
||||||
- text.elixir
|
- text.elixir
|
||||||
- text.html.elixir
|
- text.html.elixir
|
||||||
|
- text.html.eex
|
||||||
vendor/grammars/erlang.tmbundle:
|
vendor/grammars/erlang.tmbundle:
|
||||||
- source.erlang
|
- source.erlang
|
||||||
- text.html.erlang.yaws
|
- text.html.erlang.yaws
|
||||||
|
|||||||
@@ -71,7 +71,8 @@ module Linguist
|
|||||||
generated_jni_header? ||
|
generated_jni_header? ||
|
||||||
vcr_cassette? ||
|
vcr_cassette? ||
|
||||||
generated_module? ||
|
generated_module? ||
|
||||||
generated_unity3d_meta?
|
generated_unity3d_meta? ||
|
||||||
|
generated_racc?
|
||||||
end
|
end
|
||||||
|
|
||||||
# Internal: Is the blob an Xcode file?
|
# Internal: Is the blob an Xcode file?
|
||||||
@@ -359,5 +360,18 @@ module Linguist
|
|||||||
return false unless lines.count > 1
|
return false unless lines.count > 1
|
||||||
return lines[0].include?("fileFormatVersion: ")
|
return lines[0].include?("fileFormatVersion: ")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Internal: Is this a Racc-generated file?
|
||||||
|
#
|
||||||
|
# A Racc-generated file contains:
|
||||||
|
# # This file is automatically generated by Racc x.y.z
|
||||||
|
# on the third line.
|
||||||
|
#
|
||||||
|
# Return true or false
|
||||||
|
def generated_racc?
|
||||||
|
return false unless extname == '.rb'
|
||||||
|
return false unless lines.count > 2
|
||||||
|
return lines[2].start_with?("# This file is automatically generated by Racc")
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1037,6 +1037,16 @@ Frege:
|
|||||||
tm_scope: source.haskell
|
tm_scope: source.haskell
|
||||||
ace_mode: haskell
|
ace_mode: haskell
|
||||||
|
|
||||||
|
FreeMarker:
|
||||||
|
type: programming
|
||||||
|
color: "#0050b2"
|
||||||
|
aliases:
|
||||||
|
- ftl
|
||||||
|
extensions:
|
||||||
|
- .ftl
|
||||||
|
tm_scope: text.html.ftl
|
||||||
|
ace_mode: ftl
|
||||||
|
|
||||||
G-code:
|
G-code:
|
||||||
type: data
|
type: data
|
||||||
extensions:
|
extensions:
|
||||||
@@ -1323,6 +1333,16 @@ HTML+Django:
|
|||||||
- htmldjango
|
- htmldjango
|
||||||
ace_mode: django
|
ace_mode: django
|
||||||
|
|
||||||
|
HTML+EEX:
|
||||||
|
type: markup
|
||||||
|
tm_scope: text.html.eex
|
||||||
|
group: HTML
|
||||||
|
aliases:
|
||||||
|
- eex
|
||||||
|
extensions:
|
||||||
|
- .eex
|
||||||
|
ace_mode: html_eex
|
||||||
|
|
||||||
HTML+ERB:
|
HTML+ERB:
|
||||||
type: markup
|
type: markup
|
||||||
tm_scope: text.html.erb
|
tm_scope: text.html.erb
|
||||||
@@ -2063,6 +2083,14 @@ Mercury:
|
|||||||
tm_scope: source.mercury
|
tm_scope: source.mercury
|
||||||
ace_mode: prolog
|
ace_mode: prolog
|
||||||
|
|
||||||
|
Metal:
|
||||||
|
type: programming
|
||||||
|
color: "#8f14e9"
|
||||||
|
extensions:
|
||||||
|
- .metal
|
||||||
|
tm_scope: source.c++
|
||||||
|
ace_mode: c_cpp
|
||||||
|
|
||||||
MiniD: # Legacy
|
MiniD: # Legacy
|
||||||
type: programming
|
type: programming
|
||||||
searchable: false
|
searchable: false
|
||||||
@@ -2441,6 +2469,7 @@ PHP:
|
|||||||
- .php3
|
- .php3
|
||||||
- .php4
|
- .php4
|
||||||
- .php5
|
- .php5
|
||||||
|
- .phps
|
||||||
- .phpt
|
- .phpt
|
||||||
filenames:
|
filenames:
|
||||||
- Phakefile
|
- Phakefile
|
||||||
|
|||||||
31
samples/FreeMarker/example.ftl
Normal file
31
samples/FreeMarker/example.ftl
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
<#import "layout.ftl" as layout>
|
||||||
|
|
||||||
|
<#assign results = [
|
||||||
|
{
|
||||||
|
"title": "Example Result",
|
||||||
|
"description": "Lorem ipsum dolor sit amet, pede id pellentesque, sollicitudin turpis sed in sed sed, libero dictum."
|
||||||
|
}
|
||||||
|
] />
|
||||||
|
|
||||||
|
<@layout.page title="FreeMarker Example">
|
||||||
|
<#if results?size == 0>
|
||||||
|
There were no results.
|
||||||
|
<#else>
|
||||||
|
<ul>
|
||||||
|
<#list results as result>
|
||||||
|
<li>
|
||||||
|
<strong>${result.title}</strong>
|
||||||
|
<p>${result.description}</p>
|
||||||
|
</li>
|
||||||
|
</#list>
|
||||||
|
</ul>
|
||||||
|
</#if>
|
||||||
|
|
||||||
|
<#-- This is a FreeMarker comment -->
|
||||||
|
<@currentTime />
|
||||||
|
</@layout.page>
|
||||||
|
|
||||||
|
|
||||||
|
<#macro currentTime>
|
||||||
|
${.now?string.full}
|
||||||
|
</#macro>
|
||||||
32
samples/FreeMarker/layout.ftl
Normal file
32
samples/FreeMarker/layout.ftl
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
<#ftl strip_text=true />
|
||||||
|
|
||||||
|
<#macro page title>
|
||||||
|
<!doctype html>
|
||||||
|
<html lang="${.lang}">
|
||||||
|
<head>
|
||||||
|
<title>${title}</title>
|
||||||
|
<@metaTags />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<#nested />
|
||||||
|
<@footer />
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
</#macro>
|
||||||
|
|
||||||
|
|
||||||
|
<#---
|
||||||
|
Default meta tags
|
||||||
|
-->
|
||||||
|
<#macro metaTags>
|
||||||
|
<#compress>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||||
|
<meta name="format-detection" content="telephone=no">
|
||||||
|
</#compress>
|
||||||
|
</#macro>
|
||||||
|
|
||||||
|
<#macro footer>
|
||||||
|
<p>This page is using FreeMarker v${.version}</p>
|
||||||
|
</#macro>
|
||||||
26
samples/HTML+EEX/index.html.erb
Normal file
26
samples/HTML+EEX/index.html.erb
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
<h1>Listing Books</h1>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<th>Title</th>
|
||||||
|
<th>Summary</th>
|
||||||
|
<th></th>
|
||||||
|
<th></th>
|
||||||
|
<th></th>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<%= for book <- @books do %>
|
||||||
|
<tr>
|
||||||
|
<%# comment %>
|
||||||
|
<td><%= book.title %></td>
|
||||||
|
<td><%= book.content %></td>
|
||||||
|
<td><%= link "Show", to: book_path(@conn, :show, book) %></td>
|
||||||
|
<td><%= link "Edit", to: book_path(@conn, :edit, book) %></td>
|
||||||
|
<td><%= link "Delete", to: book_path(@conn, :delete, book), method: :delete, data: [confirm: "Are you sure?"] %></td>
|
||||||
|
</tr>
|
||||||
|
<% end %>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
<%= link "New book", to: book_path(@conn, :new) %>
|
||||||
99
samples/Metal/ITMVisualisationEngine.metal
Normal file
99
samples/Metal/ITMVisualisationEngine.metal
Normal file
@@ -0,0 +1,99 @@
|
|||||||
|
// Copyright 2014 Isis Innovation Limited and the authors of InfiniTAM
|
||||||
|
|
||||||
|
#include <metal_stdlib>
|
||||||
|
|
||||||
|
#include "../../DeviceAgnostic/ITMSceneReconstructionEngine.h"
|
||||||
|
#include "../../DeviceAgnostic/ITMVisualisationEngine.h"
|
||||||
|
#include "ITMVisualisationEngine_Metal.h"
|
||||||
|
|
||||||
|
using namespace metal;
|
||||||
|
|
||||||
|
kernel void genericRaycastVH_device(DEVICEPTR(Vector4f) *pointsRay [[ buffer(0) ]],
|
||||||
|
const CONSTPTR(ITMVoxel) *voxelData [[ buffer(1) ]],
|
||||||
|
const CONSTPTR(typename ITMVoxelIndex::IndexData) *voxelIndex [[ buffer(2) ]],
|
||||||
|
const CONSTPTR(Vector2f) *minmaxdata [[ buffer(3) ]],
|
||||||
|
const CONSTPTR(CreateICPMaps_Params) *params [[ buffer(4) ]],
|
||||||
|
uint2 threadIdx [[ thread_position_in_threadgroup ]],
|
||||||
|
uint2 blockIdx [[ threadgroup_position_in_grid ]],
|
||||||
|
uint2 blockDim [[ threads_per_threadgroup ]])
|
||||||
|
{
|
||||||
|
int x = threadIdx.x + blockIdx.x * blockDim.x, y = threadIdx.y + blockIdx.y * blockDim.y;
|
||||||
|
|
||||||
|
if (x >= params->imgSize.x || y >= params->imgSize.y) return;
|
||||||
|
|
||||||
|
int locId = x + y * params->imgSize.x;
|
||||||
|
int locId2 = (int)floor((float)x / minmaximg_subsample) + (int)floor((float)y / minmaximg_subsample) * params->imgSize.x;
|
||||||
|
|
||||||
|
castRay<ITMVoxel, ITMVoxelIndex>(pointsRay[locId], x, y, voxelData, voxelIndex, params->invM, params->invProjParams,
|
||||||
|
params->voxelSizes.y, params->lightSource.w, minmaxdata[locId2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
kernel void genericRaycastVGMissingPoints_device(DEVICEPTR(Vector4f) *forwardProjection [[ buffer(0) ]],
|
||||||
|
const CONSTPTR(int) *fwdProjMissingPoints [[ buffer(1) ]],
|
||||||
|
const CONSTPTR(ITMVoxel) *voxelData [[ buffer(2) ]],
|
||||||
|
const CONSTPTR(typename ITMVoxelIndex::IndexData) *voxelIndex [[ buffer(3) ]],
|
||||||
|
const CONSTPTR(Vector2f) *minmaxdata [[ buffer(4) ]],
|
||||||
|
const CONSTPTR(CreateICPMaps_Params) *params [[ buffer(5) ]],
|
||||||
|
uint2 threadIdx [[ thread_position_in_threadgroup ]],
|
||||||
|
uint2 blockIdx [[ threadgroup_position_in_grid ]],
|
||||||
|
uint2 blockDim [[ threads_per_threadgroup ]])
|
||||||
|
{
|
||||||
|
int pointId = threadIdx.x + blockIdx.x * blockDim.x;
|
||||||
|
|
||||||
|
if (pointId >= params->imgSize.z) return;
|
||||||
|
|
||||||
|
int locId = fwdProjMissingPoints[pointId];
|
||||||
|
int y = locId / params->imgSize.x, x = locId - y * params->imgSize.x;
|
||||||
|
int locId2 = (int)floor((float)x / minmaximg_subsample) + (int)floor((float)y / minmaximg_subsample) * params->imgSize.x;
|
||||||
|
|
||||||
|
castRay<ITMVoxel, ITMVoxelIndex>(forwardProjection[locId], x, y, voxelData, voxelIndex, params->invM, params->invProjParams,
|
||||||
|
params->voxelSizes.y, params->lightSource.w, minmaxdata[locId2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
kernel void renderICP_device(const CONSTPTR(Vector4f) *pointsRay [[ buffer(0) ]],
|
||||||
|
DEVICEPTR(Vector4f) *pointsMap [[ buffer(1) ]],
|
||||||
|
DEVICEPTR(Vector4f) *normalsMap [[ buffer(2) ]],
|
||||||
|
DEVICEPTR(Vector4u) *outRendering [[ buffer(3) ]],
|
||||||
|
const CONSTPTR(CreateICPMaps_Params) *params [[ buffer(4) ]],
|
||||||
|
uint2 threadIdx [[ thread_position_in_threadgroup ]],
|
||||||
|
uint2 blockIdx [[ threadgroup_position_in_grid ]],
|
||||||
|
uint2 blockDim [[ threads_per_threadgroup ]])
|
||||||
|
{
|
||||||
|
int x = threadIdx.x + blockIdx.x * blockDim.x, y = threadIdx.y + blockIdx.y * blockDim.y;
|
||||||
|
|
||||||
|
if (x >= params->imgSize.x || y >= params->imgSize.y) return;
|
||||||
|
|
||||||
|
processPixelICP<false>(outRendering, pointsMap, normalsMap, pointsRay, params->imgSize.xy, x, y, params->voxelSizes.x, TO_VECTOR3(params->lightSource));
|
||||||
|
}
|
||||||
|
|
||||||
|
kernel void renderForward_device(DEVICEPTR(Vector4u) *outRendering [[ buffer(0) ]],
|
||||||
|
const CONSTPTR(Vector4f) *pointsRay [[ buffer(1) ]],
|
||||||
|
const CONSTPTR(CreateICPMaps_Params) *params [[ buffer(2) ]],
|
||||||
|
uint2 threadIdx [[ thread_position_in_threadgroup ]],
|
||||||
|
uint2 blockIdx [[ threadgroup_position_in_grid ]],
|
||||||
|
uint2 blockDim [[ threads_per_threadgroup ]])
|
||||||
|
{
|
||||||
|
int x = threadIdx.x + blockIdx.x * blockDim.x, y = threadIdx.y + blockIdx.y * blockDim.y;
|
||||||
|
|
||||||
|
if (x >= params->imgSize.x || y >= params->imgSize.y) return;
|
||||||
|
|
||||||
|
processPixelForwardRender<false>(outRendering, pointsRay, params->imgSize.xy, x, y, params->voxelSizes.x, TO_VECTOR3(params->lightSource));
|
||||||
|
}
|
||||||
|
|
||||||
|
kernel void forwardProject_device(DEVICEPTR(Vector4f) *forwardProjection [[ buffer(0) ]],
|
||||||
|
const CONSTPTR(Vector4f) *pointsRay [[ buffer(1) ]],
|
||||||
|
const CONSTPTR(CreateICPMaps_Params) *params [[ buffer(2) ]],
|
||||||
|
uint2 threadIdx [[ thread_position_in_threadgroup ]],
|
||||||
|
uint2 blockIdx [[ threadgroup_position_in_grid ]],
|
||||||
|
uint2 blockDim [[ threads_per_threadgroup ]])
|
||||||
|
{
|
||||||
|
int x = (threadIdx.x + blockIdx.x * blockDim.x), y = (threadIdx.y + blockIdx.y * blockDim.y);
|
||||||
|
|
||||||
|
if (x >= params->imgSize.x || y >= params->imgSize.y) return;
|
||||||
|
|
||||||
|
int locId = x + y * params->imgSize.x;
|
||||||
|
Vector4f pixel = pointsRay[locId];
|
||||||
|
|
||||||
|
int locId_new = forwardProjectPixel(pixel * params->voxelSizes.x, params->M, params->projParams, params->imgSize.xy);
|
||||||
|
if (locId_new >= 0) forwardProjection[locId_new] = pixel;
|
||||||
|
}
|
||||||
31
samples/PHP/mail.phps
Normal file
31
samples/PHP/mail.phps
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* This example shows sending a message using PHP's mail() function.
|
||||||
|
*/
|
||||||
|
|
||||||
|
require '../PHPMailerAutoload.php';
|
||||||
|
|
||||||
|
//Create a new PHPMailer instance
|
||||||
|
$mail = new PHPMailer;
|
||||||
|
//Set who the message is to be sent from
|
||||||
|
$mail->setFrom('from@example.com', 'First Last');
|
||||||
|
//Set an alternative reply-to address
|
||||||
|
$mail->addReplyTo('replyto@example.com', 'First Last');
|
||||||
|
//Set who the message is to be sent to
|
||||||
|
$mail->addAddress('whoto@example.com', 'John Doe');
|
||||||
|
//Set the subject line
|
||||||
|
$mail->Subject = 'PHPMailer mail() test';
|
||||||
|
//Read an HTML message body from an external file, convert referenced images to embedded,
|
||||||
|
//convert HTML into a basic plain-text alternative body
|
||||||
|
$mail->msgHTML(file_get_contents('contents.html'), dirname(__FILE__));
|
||||||
|
//Replace the plain text body with one created manually
|
||||||
|
$mail->AltBody = 'This is a plain-text message body';
|
||||||
|
//Attach an image file
|
||||||
|
$mail->addAttachment('images/phpmailer_mini.png');
|
||||||
|
|
||||||
|
//send the message, check for errors
|
||||||
|
if (!$mail->send()) {
|
||||||
|
echo "Mailer Error: " . $mail->ErrorInfo;
|
||||||
|
} else {
|
||||||
|
echo "Message sent!";
|
||||||
|
}
|
||||||
267
samples/Ruby/racc.rb
Normal file
267
samples/Ruby/racc.rb
Normal file
@@ -0,0 +1,267 @@
|
|||||||
|
#
|
||||||
|
# DO NOT MODIFY!!!!
|
||||||
|
# This file is automatically generated by Racc 1.4.7
|
||||||
|
# from Racc grammer file "".
|
||||||
|
#
|
||||||
|
|
||||||
|
require 'racc/parser.rb'
|
||||||
|
module RJSON
|
||||||
|
class Parser < Racc::Parser
|
||||||
|
|
||||||
|
|
||||||
|
require 'rjson/handler'
|
||||||
|
|
||||||
|
attr_reader :handler
|
||||||
|
|
||||||
|
def initialize tokenizer, handler = Handler.new
|
||||||
|
@tokenizer = tokenizer
|
||||||
|
@handler = handler
|
||||||
|
super()
|
||||||
|
end
|
||||||
|
|
||||||
|
def next_token
|
||||||
|
@tokenizer.next_token
|
||||||
|
end
|
||||||
|
|
||||||
|
def parse
|
||||||
|
do_parse
|
||||||
|
handler
|
||||||
|
end
|
||||||
|
##### State transition tables begin ###
|
||||||
|
|
||||||
|
racc_action_table = [
|
||||||
|
9, 33, 9, 11, 13, 16, 19, 22, 9, 7,
|
||||||
|
23, 1, 9, 11, 13, 16, 19, 29, 30, 7,
|
||||||
|
21, 1, 9, 11, 13, 16, 19, 31, nil, 7,
|
||||||
|
21, 1, 23, 7, nil, 1 ]
|
||||||
|
|
||||||
|
racc_action_check = [
|
||||||
|
6, 27, 33, 33, 33, 33, 33, 3, 31, 33,
|
||||||
|
6, 33, 29, 29, 29, 29, 29, 12, 22, 29,
|
||||||
|
12, 29, 2, 2, 2, 2, 2, 25, nil, 2,
|
||||||
|
2, 2, 25, 0, nil, 0 ]
|
||||||
|
|
||||||
|
racc_action_pointer = [
|
||||||
|
24, nil, 20, 7, nil, nil, -2, nil, nil, nil,
|
||||||
|
nil, nil, 10, nil, nil, nil, nil, nil, nil, nil,
|
||||||
|
nil, nil, 18, nil, nil, 20, nil, -7, nil, 10,
|
||||||
|
nil, 6, nil, 0, nil, nil, nil ]
|
||||||
|
|
||||||
|
racc_action_default = [
|
||||||
|
-27, -12, -21, -27, -1, -2, -27, -10, -15, -26,
|
||||||
|
-8, -22, -27, -23, -17, -16, -24, -20, -18, -25,
|
||||||
|
-19, -11, -27, -13, -3, -27, -6, -27, -9, -21,
|
||||||
|
37, -27, -4, -21, -14, -5, -7 ]
|
||||||
|
|
||||||
|
racc_goto_table = [
|
||||||
|
8, 26, 24, 27, 10, 3, 25, 5, 4, 12,
|
||||||
|
nil, nil, nil, nil, 28, nil, nil, nil, nil, nil,
|
||||||
|
nil, 32, nil, nil, nil, nil, 35, 34, 27, nil,
|
||||||
|
nil, 36 ]
|
||||||
|
|
||||||
|
racc_goto_check = [
|
||||||
|
9, 7, 5, 8, 11, 1, 6, 3, 2, 12,
|
||||||
|
nil, nil, nil, nil, 11, nil, nil, nil, nil, nil,
|
||||||
|
nil, 5, nil, nil, nil, nil, 7, 9, 8, nil,
|
||||||
|
nil, 9 ]
|
||||||
|
|
||||||
|
racc_goto_pointer = [
|
||||||
|
nil, 5, 8, 7, nil, -4, 0, -5, -3, -2,
|
||||||
|
nil, 2, 7, nil, nil ]
|
||||||
|
|
||||||
|
racc_goto_default = [
|
||||||
|
nil, nil, 14, 18, 6, nil, nil, nil, 20, nil,
|
||||||
|
2, nil, nil, 15, 17 ]
|
||||||
|
|
||||||
|
racc_reduce_table = [
|
||||||
|
0, 0, :racc_error,
|
||||||
|
1, 14, :_reduce_none,
|
||||||
|
1, 14, :_reduce_none,
|
||||||
|
2, 15, :_reduce_none,
|
||||||
|
3, 15, :_reduce_none,
|
||||||
|
3, 19, :_reduce_none,
|
||||||
|
1, 19, :_reduce_none,
|
||||||
|
3, 20, :_reduce_none,
|
||||||
|
2, 16, :_reduce_none,
|
||||||
|
3, 16, :_reduce_none,
|
||||||
|
1, 23, :_reduce_10,
|
||||||
|
1, 24, :_reduce_11,
|
||||||
|
1, 17, :_reduce_12,
|
||||||
|
1, 18, :_reduce_13,
|
||||||
|
3, 25, :_reduce_none,
|
||||||
|
1, 25, :_reduce_none,
|
||||||
|
1, 22, :_reduce_none,
|
||||||
|
1, 22, :_reduce_none,
|
||||||
|
1, 22, :_reduce_none,
|
||||||
|
1, 26, :_reduce_none,
|
||||||
|
1, 26, :_reduce_20,
|
||||||
|
0, 27, :_reduce_none,
|
||||||
|
1, 27, :_reduce_22,
|
||||||
|
1, 27, :_reduce_23,
|
||||||
|
1, 27, :_reduce_24,
|
||||||
|
1, 27, :_reduce_25,
|
||||||
|
1, 21, :_reduce_26 ]
|
||||||
|
|
||||||
|
racc_reduce_n = 27
|
||||||
|
|
||||||
|
racc_shift_n = 37
|
||||||
|
|
||||||
|
racc_token_table = {
|
||||||
|
false => 0,
|
||||||
|
:error => 1,
|
||||||
|
:STRING => 2,
|
||||||
|
:NUMBER => 3,
|
||||||
|
:TRUE => 4,
|
||||||
|
:FALSE => 5,
|
||||||
|
:NULL => 6,
|
||||||
|
"," => 7,
|
||||||
|
":" => 8,
|
||||||
|
"[" => 9,
|
||||||
|
"]" => 10,
|
||||||
|
"{" => 11,
|
||||||
|
"}" => 12 }
|
||||||
|
|
||||||
|
racc_nt_base = 13
|
||||||
|
|
||||||
|
racc_use_result_var = true
|
||||||
|
|
||||||
|
Racc_arg = [
|
||||||
|
racc_action_table,
|
||||||
|
racc_action_check,
|
||||||
|
racc_action_default,
|
||||||
|
racc_action_pointer,
|
||||||
|
racc_goto_table,
|
||||||
|
racc_goto_check,
|
||||||
|
racc_goto_default,
|
||||||
|
racc_goto_pointer,
|
||||||
|
racc_nt_base,
|
||||||
|
racc_reduce_table,
|
||||||
|
racc_token_table,
|
||||||
|
racc_shift_n,
|
||||||
|
racc_reduce_n,
|
||||||
|
racc_use_result_var ]
|
||||||
|
|
||||||
|
Racc_token_to_s_table = [
|
||||||
|
"$end",
|
||||||
|
"error",
|
||||||
|
"STRING",
|
||||||
|
"NUMBER",
|
||||||
|
"TRUE",
|
||||||
|
"FALSE",
|
||||||
|
"NULL",
|
||||||
|
"\",\"",
|
||||||
|
"\":\"",
|
||||||
|
"\"[\"",
|
||||||
|
"\"]\"",
|
||||||
|
"\"{\"",
|
||||||
|
"\"}\"",
|
||||||
|
"$start",
|
||||||
|
"document",
|
||||||
|
"object",
|
||||||
|
"array",
|
||||||
|
"start_object",
|
||||||
|
"end_object",
|
||||||
|
"pairs",
|
||||||
|
"pair",
|
||||||
|
"string",
|
||||||
|
"value",
|
||||||
|
"start_array",
|
||||||
|
"end_array",
|
||||||
|
"values",
|
||||||
|
"scalar",
|
||||||
|
"literal" ]
|
||||||
|
|
||||||
|
Racc_debug_parser = false
|
||||||
|
|
||||||
|
##### State transition tables end #####
|
||||||
|
|
||||||
|
# reduce 0 omitted
|
||||||
|
|
||||||
|
# reduce 1 omitted
|
||||||
|
|
||||||
|
# reduce 2 omitted
|
||||||
|
|
||||||
|
# reduce 3 omitted
|
||||||
|
|
||||||
|
# reduce 4 omitted
|
||||||
|
|
||||||
|
# reduce 5 omitted
|
||||||
|
|
||||||
|
# reduce 6 omitted
|
||||||
|
|
||||||
|
# reduce 7 omitted
|
||||||
|
|
||||||
|
# reduce 8 omitted
|
||||||
|
|
||||||
|
# reduce 9 omitted
|
||||||
|
|
||||||
|
def _reduce_10(val, _values, result)
|
||||||
|
@handler.start_array
|
||||||
|
result
|
||||||
|
end
|
||||||
|
|
||||||
|
def _reduce_11(val, _values, result)
|
||||||
|
@handler.end_array
|
||||||
|
result
|
||||||
|
end
|
||||||
|
|
||||||
|
def _reduce_12(val, _values, result)
|
||||||
|
@handler.start_object
|
||||||
|
result
|
||||||
|
end
|
||||||
|
|
||||||
|
def _reduce_13(val, _values, result)
|
||||||
|
@handler.end_object
|
||||||
|
result
|
||||||
|
end
|
||||||
|
|
||||||
|
# reduce 14 omitted
|
||||||
|
|
||||||
|
# reduce 15 omitted
|
||||||
|
|
||||||
|
# reduce 16 omitted
|
||||||
|
|
||||||
|
# reduce 17 omitted
|
||||||
|
|
||||||
|
# reduce 18 omitted
|
||||||
|
|
||||||
|
# reduce 19 omitted
|
||||||
|
|
||||||
|
def _reduce_20(val, _values, result)
|
||||||
|
@handler.scalar val[0]
|
||||||
|
result
|
||||||
|
end
|
||||||
|
|
||||||
|
# reduce 21 omitted
|
||||||
|
|
||||||
|
def _reduce_22(val, _values, result)
|
||||||
|
n = val[0]; result = n.count('.') > 0 ? n.to_f : n.to_i
|
||||||
|
result
|
||||||
|
end
|
||||||
|
|
||||||
|
def _reduce_23(val, _values, result)
|
||||||
|
result = true
|
||||||
|
result
|
||||||
|
end
|
||||||
|
|
||||||
|
def _reduce_24(val, _values, result)
|
||||||
|
result = false
|
||||||
|
result
|
||||||
|
end
|
||||||
|
|
||||||
|
def _reduce_25(val, _values, result)
|
||||||
|
result = nil
|
||||||
|
result
|
||||||
|
end
|
||||||
|
|
||||||
|
def _reduce_26(val, _values, result)
|
||||||
|
@handler.scalar val[0].gsub(/^"|"$/, '')
|
||||||
|
result
|
||||||
|
end
|
||||||
|
|
||||||
|
def _reduce_none(val, _values, result)
|
||||||
|
val[0]
|
||||||
|
end
|
||||||
|
|
||||||
|
end # class Parser
|
||||||
|
end # module RJSON
|
||||||
@@ -218,6 +218,9 @@ class TestBlob < Minitest::Test
|
|||||||
|
|
||||||
# Unity3D-generated metadata
|
# Unity3D-generated metadata
|
||||||
assert sample_blob_memory("Unity3D Asset/Tiles.meta").generated?
|
assert sample_blob_memory("Unity3D Asset/Tiles.meta").generated?
|
||||||
|
|
||||||
|
# Racc-generated Ruby
|
||||||
|
assert sample_blob_memory("Ruby/racc.rb").generated?
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_vendored
|
def test_vendored
|
||||||
|
|||||||
1
vendor/grammars/FreeMarker.tmbundle
vendored
Submodule
1
vendor/grammars/FreeMarker.tmbundle
vendored
Submodule
Submodule vendor/grammars/FreeMarker.tmbundle added at 6b7b880c53
Reference in New Issue
Block a user