测试highlight.js 高亮页面
common
HTML, XML
markdown关键字
html
<!DOCTYPE html>
<title>Title</title>
<style>body {
width: 500px;
}</style>
<script type="application/javascript">
function $init() {
return true;
}
</script>
<body>
<p checked class="title" id='title'>Title</p>
<!-- here goes the rest of the page -->
</body>
Augmented Backus-Naur Form
markdown关键字
abnf
; line comment
ruleset = [optional] *(group1 / group2 / SP) CRLF ; trailing comment
group1 = alt1
group1 =/ alt2
alt1 = %x41-4D / %d78-90
alt2 = %b00100001
group2 = *1DIGIT / 2*HEXDIG / 3*4OCTET
optional = hex-codes
/ literal
/ sensitive
/ insensitive
hex-codes = %x68.65.6C.6C.6F
literal = "string literal"
sensitive = %s"case-sensitive string"
insensitive = %i"case-insensitive string"
ActionScript
markdown关键字
actionscript
package org.example.dummy {
import org.dummy.*;
/*define package inline interface*/
public interface IFooBarzable {
public function foo(... pairs):Array;
}
public class FooBar implements IFooBarzable {
static private var cnt:uint = 0;
private var bar:String;
//constructor
public function TestBar(bar:String):void {
bar = bar;
++cnt;
}
public function foo(... pairs):Array {
pairs.push(bar);
return pairs;
}
}
}
Ada
markdown关键字
ada
package body Sqlite.Simple is
Foo : int := int'Size;
Bar : int := long'Size;
Error_Message_C : chars_ptr := Sqlite_Errstr (Error);
Error_Message : String := Null_Ignore_Value (Error_Message_C);
begin
Named : for Index in Foo..Bar loop
Put ("Hi[]{}");
end loop Named;
Foo := Bar;
end Message;
end Sqlite.Simple;
AngelScript
markdown关键字
as
interface IInterface
{
void DoSomething();
}
namespace MyApplication
{
/*
* This ia a test class.
*/
class SomeClass : IInterface
{
array<float> m_arr;
array<SomeClass@> m_children;
array<array<SomeClass@>> m_subChildren; // Nested templates
int m_thing;
SomeClass()
{
// Add some integers
m_arr.insertLast(1.0f);
m_arr.insertLast(1.75f);
m_arr.insertLast(3.14159f);
uint x = 0x7fff0000;
int y = 9001;
uint z = 0b10101010;
}
int get_Thing() property { return m_thing; }
void set_Thing(int x) property { m_thing = x; }
[Hook x=1 y=2]
void DoSomething()
{
print("Something! " + 'stuff.');
for (uint i = 0; i < m_arr.length(); i++) {
print(" " + i + ": " + m_arr[i]);
}
}
protected void SomeProtectedFunction()
{
try {
DoSomething();
} catch {
print("Exception while doing something!");
}
}
}
}
void Main()
{
SomeClass@ c = SomeClass();
c.DoSomething();
}
string multilineString = """
Hello world, "this is a test"!
""";
AppleScript
markdown关键字
applescript
repeat 5 times
if foo is greater than bar then
display dialog "Hello there"
else
beep
end if
end repeat
(* comment (*nested comment*) *)
on do_something(s, y)
return {s + pi, y mod 4}
end do_something
do shell script "/bin/echo 'hello'"
ArcGIS Arcade
/* Highlight.js est for Arcade */
function testGeometry(element, point) {
if (point.y != -1)
return point;
for (var i = 0 / 2; i < element.length; i++) {
if (checkCondition($map.element[i]) === Infinity) {
return DistanceGeodetic(element[i]);
}
}
return element;
}
var filePath = "literal " + TextFormatting.BackSlash + TextFormatting.SingleQuote + ".ext"
var d = Dictionary("field1", 1, "field2",2);
return FeatureSet($map, ["POPULATION", "ELECTION-DATA"]);
Arduino
markdown关键字
arduino
/*
Blink
Turns on an LED on for one second, then off for one second, repeatedly.
This example code is in the public domain.
*/
// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
}
// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
AspectJ
markdown关键字
aspectj
package com.aspectj.syntax;
import org.aspectj.lang.annotation.AdviceName;
privileged public aspect LoggingAspect percflowbelow(ajia.services.*){
private pointcut getResult() : call(* *(..) throws SQLException) && args(Account, .., int);
@AdviceName("CheckValidEmail")
before (Customer hu) : getResult(hu){
System.out.println("Your mail address is valid!");
}
Object around() throws InsufficientBalanceException: getResult() && call(Customer.new(String,String,int,int,int)){
return proceed();
}
public Cache getCache() {
return this.cache;
}
pointcut beanPropertyChange(BeanSupport bean, Object newValue): execution(void BeanSupport+.set*(*)) && args(newValue) && this(bean);
declare parents: banking.entities.* implements BeanSupport;
declare warning : call(void TestSoftening.perform()): "Please ensure you are not calling this from an AWT thread";
private String Identifiable.id;
public void Identifiable.setId(String id) {
this.id = id;
}
}
AutoHotkey
markdown关键字
autohotkey
; hotkeys and hotstrings
#a::WinSet, AlwaysOnTop, Toggle, A
#Space::
MsgBox, Percent sign (`%) need to be escaped.
Run "C:\Program Files\some\program.exe"
Gosub, label1
return
::btw::by the way
; volume
#Numpad8::Send {Volume_Up}
#Numpad5::Send {Volume_Mute}
#Numpad2::Send {Volume_Down}
label1:
if (Clipboard = "")
{
MsgBox, , Clipboard, Empty!
}
else
{
StringReplace, temp, Clipboard, old, new, All
MsgBox, , Clipboard, %temp%
}
return
AutoIt
markdown关键字
autoit
#NoTrayIcon
#AutoIt3Wrapper_Run_Tidy=Y
#include <Misc.au3>
_Singleton(@ScriptName) ; Allow only one instance
example(0, 10)
Func example($min, $max)
For $i = $min To $max
If Mod($i, 2) == 0 Then
MsgBox(64, "Message", $i & ' is even number!')
Else
MsgBox(64, "Message", $i & ' is odd number!')
EndIf
Next
EndFunc ;==>example
Awk
markdown关键字
awk
BEGIN {
POPService = "/inet/tcp/0/emailhost/pop3"
RS = ORS = "\r\n"
print "user name" |& POPService
POPService |& getline
print "pass password" |& POPService
POPService |& getline
print "retr 1" |& POPService
POPService |& getline
if ($1 != "+OK") exit
print "quit" |& POPService
RS = "\r\n\\.\r\n"
POPService |& getline
print $0
close(POPService)
}
Bash
markdown关键字
bash
#!/bin/bash
###### CONFIG
ACCEPTED_HOSTS="/root/.hag_accepted.conf"
BE_VERBOSE=false
if [ "$UID" -ne 0 ]
then
echo "Superuser rights required"
exit 2
fi
genApacheConf(){
echo -e "# Host ${HOME_DIR}$1/$2 :"
}
echo '"quoted"' | tr -d \" > text.txt
BASIC
markdown关键字
basic
10 CLS
20 FOR I = 0 TO 15
22 FOR J = 0 TO 7
30 COLOR I,J
40 PRINT " ** ";
45 NEXT J
46 COLOR I,0
47 GOSUB 100
48 PRINT
50 NEXT I
60 COLOR 15,0
99 END
100 FOR T = 65 TO 90
101 PRINT CHR$(T);
102 NEXT T
103 RETURN
200 REM Data types test
201 TOTAL# = 3.30# 'Double precision variable
202 BALANCE! = 3! 'Single precision variable
203 B2! = 12e5 '120000
204 ITEMS% = 10 'Integer variable
205 HEXTEST = &H12DB 'Hex value
Backus–Naur Form
markdown关键字
bnf
<syntax> ::= <rule> | <rule> <syntax>
<rule> ::= <opt-whitespace> "<" <rule-name> ">" <opt-whitespace> "::=" <opt-whitespace> <expression> <line-end>
<opt-whitespace> ::= " " <opt-whitespace> | ""
<expression> ::= <list> | <list> <opt-whitespace> "|" <opt-whitespace> <expression>
<line-end> ::= <opt-whitespace> <EOL> | <line-end> <line-end>
<list> ::= <term> | <term> <opt-whitespace> <list>
<term> ::= <literal> | "<" <rule-name> ">"
<literal> ::= '"' <text> '"' | "'" <text> "'"
Brainfuck
markdown关键字
brainfuck
++++++++++
[ 3*10 and 10*10
->+++>++++++++++<<
]>>
[ filling cells
->++>>++>++>+>++>>++>++>++>++>++>++>++>++>++>++>++[</]<[<]<[<]>>
]<
+++++++++<<
[ rough codes correction loop
->>>+>+>+>+++>+>+>+>+>+>+>+>+>+>+>+>+>+>+[<]<
]
more accurate сodes correction
>>>++>
-->+++++++>------>++++++>++>+++++++++>++++++++++>++++++++>--->++++++++++>------>++++++>
++>+++++++++++>++++++++++++>------>+++
rewind and output
[<]>[.>]
C/AL
markdown关键字
cal
OBJECT Codeunit 11 Gen. Jnl.-Check Line
{
OBJECT-PROPERTIES
{
Date=09-09-14;
Time=12:00:00;
Version List=NAVW18.00;
}
PROPERTIES
{
TableNo=81;
Permissions=TableData 252=rimd;
OnRun=BEGIN
GLSetup.GET;
RunCheck(Rec);
END;
}
CODE
{
VAR
Text000@1000 : TextConst 'ENU=can only be a closing date for G/L entries';
Text001@1001 : TextConst 'ENU=is not within your range of allowed posting dates';
PROCEDURE ErrorIfPositiveAmt@2(GenJnlLine@1000 : Record 81);
BEGIN
IF GenJnlLine.Amount > 0 THEN
GenJnlLine.FIELDERROR(Amount,Text008);
END;
LOCAL PROCEDURE CheckGenJnlLineDocType@7(GenJnlLine@1001 : Record 81);
}
}
Ceylon
markdown关键字
ceylon
shared void run() {
print("Hello, `` process.arguments.first else "World" ``!");
}
class Counter(count=0) {
variable Integer count;
shared Integer currentValue => count;
shared void increment() => count++;
}
CMake
markdown关键字
cmake
cmake_minimum_required(VERSION 2.8.8)
project(cmake_example)
# Show message on Linux platform
if (${CMAKE_SYSTEM_NAME} MATCHES Linux)
message("Good choice, bro!")
endif()
# Tell CMake to run moc when necessary:
set(CMAKE_AUTOMOC ON)
# As moc files are generated in the binary dir,
# tell CMake to always look for includes there:
set(CMAKE_INCLUDE_CURRENT_DIR ON)
# Widgets finds its own dependencies.
find_package(Qt5Widgets REQUIRED)
add_executable(myproject main.cpp mainwindow.cpp)
qt5_use_modules(myproject Widgets)
CoffeeScript
markdown关键字
coffeescript
grade = (student, period = (if b? then 7 else 6)) ->
if student.excellentWork
"A+"
else if student.okayStuff
if student.triedHard then "B" else "B-"
else
"C"
class Animal extends Being
constructor: (@name) ->
move: (meters) ->
alert @name + " moved #{meters}m."
C++
markdown关键字
c++
#include <iostream>
int main(int argc, char *argv[]) {
/* An annoying "Hello World" example */
for (auto i = 0; i < 0xFFFF; i++)
cout << "Hello, World!" << endl;
char c = '\n';
unordered_map <string, vector<string> > m;
m["key"] = "\\\\"; // this is an error
return -2e3 + 12l;
}
Crystal
markdown关键字
crystal
class Person
def initialize(@name : String)
end
def greet
puts "Hi, I'm #{@name}"
end
end
class Employee < Person
end
employee = Employee.new "John"
employee.greet # => "Hi, I'm John"
employee.is_a?(Person) # => true
@[Link("m")]
lib C
# In C: double cos(double x)
fun cos(value : Float64) : Float64
end
C.cos(1.5_f64) # => 0.0707372
s = uninitialized String
s = <<-'STR'
\hello\world
\hello\world
STR
C#
markdown关键字
c#
using System.IO.Compression;
#pragma warning disable 414, 3021
namespace MyApplication
{
[Obsolete("...")]
class Program : IInterface
{
public static List<int> JustDoIt(int count)
{
Span<int> numbers = stackalloc int[length];
Console.WriteLine($"Hello {Name}!");
return new List<int>(new int[] { 1, 2, 3 })
}
}
}
CSP
markdown关键字
csp
Content-Security-Policy:
default-src 'self';
style-src 'self' css.example.com;
img-src *.example.com;
script-src 'unsafe-eval' 'self' js.example.com 'nonce-Nc3n83cnSAd3wc3Sasdfn939hc3'
D
markdown关键字
d
#!/usr/bin/rdmd
// Computes average line length for standard input.
import std.stdio;
/+
this is a /+ nesting +/ comment
+/
enum COMPILED_ON = __TIMESTAMP__; // special token
enum character = '©';
enum copy_valid = '©';
enum backslash_escaped = '\\';
// string literals
enum str = `hello "world"!`;
enum multiline = r"lorem
ipsum
dolor"; // wysiwyg string, no escapes here allowed
enum multiline2 = "sit
amet
\"adipiscing\"
elit.";
enum hex = x"66 6f 6f"; // same as "foo"
#line 5
// float literals
enum f = [3.14f, .1, 1., 1e100, 0xc0de.01p+100];
static if (something == true) {
import std.algorithm;
}
void main() pure nothrow @safe {
ulong lines = 0;
double sumLength = 0;
foreach (line; stdin.byLine()) {
++lines;
sumLength += line.length;
}
writeln("Average line length: ",
lines ? sumLength / lines : 0);
}
Dart
markdown关键字
dart
library app;
import 'dart:html';
part 'app2.dart';
/**
* Class description and [link](http://dartlang.org/).
*/
@Awesome('it works!')
class SomeClass<S extends Iterable> extends BaseClass<S> implements Comparable {
factory SomeClass(num param);
SomeClass._internal(int q) : super() {
assert(q != 1);
double z = 0.0;
}
/// **Sum** function
int sum(int a, int b) => a + b;
ElementList els() => querySelectorAll('.dart');
}
String str = ' (${'parameter' + 'zxc'})';
String str = " (${true ? 2 + 2 / 2 : null})";
String str = " ($variable)";
String str = r'\nraw\';
String str = r"\nraw\";
var str = '''
Something ${2+3}
''';
var str = r"""
Something ${2+3}
""";
checkVersion() async {
var version = await lookUpVersion();
}
Delphi
markdown关键字
delphi
TList = Class(TObject)
Private
Some: String;
Public
Procedure Inside; // Suxx
End;{TList}
Procedure CopyFile(InFileName, var OutFileName: String);
Const
BufSize = 4096; (* Huh? *)
Var
InFile, OutFile: TStream;
Buffer: Array[1..BufSize] Of Byte;
ReadBufSize: Integer;
Begin
InFile := Nil;
OutFile := Nil;
Try
InFile := TFileStream.Create(InFileName, fmOpenRead);
OutFile := TFileStream.Create(OutFileName, fmCreate);
Repeat
ReadBufSize := InFile.Read(Buffer, BufSize);
OutFile.Write(Buffer, ReadBufSize);
Until ReadBufSize<>BufSize;
Log('File ''' + InFileName + ''' copied'#13#10);
Finally
InFile.Free;
OutFile.Free;
End;{Try}
End;{CopyFile}
Diff
markdown关键字
diff
Index: languages/ini.js
===================================================================
--- languages/ini.js (revision 199)
+++ languages/ini.js (revision 200)
@@ -1,8 +1,7 @@
hljs.LANGUAGES.ini =
{
case_insensitive: true,
- defaultMode:
- {
+ defaultMode: {
contains: ['comment', 'title', 'setting'],
illegal: '[^\\s]'
},
*** /path/to/original timestamp
--- /path/to/new timestamp
***************
*** 1,3 ****
--- 1,9 ----
+ This is an important
+ notice! It should
+ therefore be located at
+ the beginning of this
+ document!
! compress the size of the
! changes.
It is important to spell
Django
markdown关键字
django
{% if articles|length %}
{% for article in articles %}
{% custom %}
{# Striped table #}
{{ article|default:"Hi... " }}
Batch file (DOS)
markdown关键字 bat
cd \
copy a b
ping 192.168.0.1
@rem ping 192.168.0.1
net stop sharedaccess
del %tmp% /f /s /q
del %temp% /f /s /q
ipconfig /flushdns
taskkill /F /IM JAVA.EXE /T
cd Photoshop/Adobe Photoshop CS3/AMT/
if exist application.sif (
ren application.sif _application.sif
) else (
ren _application.sif application.sif
)
taskkill /F /IM proquota.exe /T
sfc /SCANNOW
set path = test
xcopy %1\*.* %2
Dust
markdown关键字 dust
<h3>Hours</h3>
<ul>
</div>
{% endfor %}
{% endif %}
{% set user = json_encode(user) %}
{{ random(['apple', 'orange', 'citrus']) }}
{{ include(template_from_string("Hello {{ name }}")) }}
TypeScript
markdown关键字 typescript
class MyClass {
public static myValue: string;
constructor(init: string) {
this.myValue = init;
}
}
import fs = require("fs");
module MyModule {
export interface MyInterface extends Other {
myProperty: any;
}
}
declare
magicNumber
number;
myArray.forEach(() => {
}); // fat arrow syntax
Vala
markdown关键字 vala
using DBus;
namespace Test {
class Foo : Object {
public signal void some_event (); // definition of the signal
public void method () {
some_event (); // emitting the signal (callbacks get invoked)
}
}
}
/* defining a class */
class Track : GLib.Object, Test.Foo { /* subclassing 'GLib.Object' */
public double mass; /* a public field */
public double name { get; set; } /* a public property */
private bool terminated = false; /* a private field */
public void terminate() { /* a public method */
terminated = true;
}
}
const ALL_UPPER_CASE = "you should follow this convention";
var t = new Track(); // same as: Track t = new Track();
var s = "hello"; // same as: string s = "hello";
var l = new List<int>(); // same as: List<int> l = new List<int>();
var i = 10; // same as: int i = 10;
#if (ololo)
Regex regex = /foo/;
#endif
/*
* Entry point can be outside class
*/
void main () {
var long_string = """
Example of "verbatim string".
Same as in @"string" in C#
"""
var foo = new Foo ();
foo.some_event.connect (callback_a); // connecting the callback functions
foo.some_event.connect (callback_b);
foo.method ();
}
Visual Basic .NET
markdown关键字 vbnet
Imports System
Imports System.IO
#Const DEBUG = True
Namespace Highlighter.Test
''' <summary>This is an example class.</summary>
Public Class Program
Protected Shared hello As Integer = 3
Private Const ABC As Boolean = False
#Region "Code"
' Cheers!
<STAThread()> _
Public Shared Sub Main(ByVal args() As String, ParamArray arr As Object) Handles Form1.Click
On Error Resume Next
If ABC Then
While ABC : Console.WriteLine() : End While
For i As Long = 0 To 1000 Step 123
Try
System.Windows.Forms.MessageBox.Show(CInt("1").ToString())
Catch ex As Exception ' What are you doing? Well...
Dim exp = CType(ex, IOException)
REM ORZ
Return
End Try
Next
Else
Dim l As New System.Collections.List<String>()
SyncLock l
If TypeOf l Is Decimal And l IsNot Nothing Then
RemoveHandler button1.Paint, delegate
End If
Dim d = New System.Threading.Thread(AddressOf ThreadProc)
Dim a = New Action(Sub(x, y) x + y)
Static u = From x As String In l Select x.Substring(2, 4) Where x.Length > 0
End SyncLock
Do : Laugh() : Loop Until hello = 4
End If
End Sub
#End Region
End Class
End Namespace
VBScript
markdown关键字 vbscript
' creating configuration storage and initializing with default values
Set cfg = CreateObject("Scripting.Dictionary")
' reading ini file
for i = 0 to ubound(ini_strings)
s = trim(ini_strings(i))
' skipping empty strings and comments
if mid(s, 1, 1) <> "#" and len(s) > 0 then
' obtaining key and value
parts = split(s, "=", -1, 1)
if ubound(parts)+1 = 2 then
parts(0) = trim(parts(0))
parts(1) = trim(parts(1))
' reading configuration and filenames
select case lcase(parts(0))
case "uncompressed""_postfix" cfg.item("uncompressed""_postfix") = parts(1)
case "f"
options = split(parts(1), "|", -1, 1)
if ubound(options)+1 = 2 then
' 0: filename, 1: options
ff.add trim(options(0)), trim(options(1))
end if
end select
end if
end if
next
VBScript in HTML
markdown关键字 vbscript-html
<body>
<%
If i < 10 Then
response.write("Good morning!")
End If
%>
</body>
Verilog
markdown关键字 verilog
`timescale 1ns / 1ps
/**
* counter: a generic clearable up-counter
*/
module counter
#(parameter WIDTH=64, NAME="world")
(
input clk,
input ce,
input arst_n,
output reg [WIDTH-1:0] q
);
string name = "counter";
localparam val0 = 12'ha1f;
localparam val1 = 12'h1fa;
localparam val2 = 12'hfa1;
// some child
clock_buffer #(WIDTH) buffer_inst (
.clk(clk),
.ce(ce),
.reset(arst_n)
);
// Simple gated up-counter with async clear
always @(posedge clk or negedge arst_n) begin
if (arst_n == 1'b0) begin
q <= {WIDTH {1'b0}};
end
else begin
q <= q;
if (ce == 1'b1) begin
q <= q + 1;
end
end
end
function int add_one(int x);
return x + 1;
endfunction : add_one
`ifdef SIMULATION
initial $display("Hello %s", NAME);
`endif
endmodule : counter
class my_data extends uvm_data;
int x, y;
function add_one();
x++;
y++;
endfunction : add_one
endclass : my_data
VHDL
markdown关键字 vhdl
/*
* RS-trigger with assynch. reset
*/
library ieee;
use ieee.std_logic_1164.all;
entity RS_trigger is
generic (T: Time := 0ns);
port ( R, S : in std_logic;
Q, nQ : out std_logic;
reset, clock : in std_logic );
end RS_trigger;
architecture behaviour of RS_trigger is
signal QT: std_logic; -- Q(t)
begin
process(clock, reset) is
subtype RS is std_logic_vector (1 downto 0);
begin
if reset = '0' then
QT <= '0';
else
if rising_edge(C) then
if not (R'stable(T) and S'stable(T)) then
QT <= 'X';
else
case RS'(R&S) is
when "01" => QT <= '1';
when "10" => QT <= '0';
when "11" => QT <= 'X';
when others => null;
end case;
end if;
end if;
end if;
end process;
Q <= QT;
nQ <= not QT;
end architecture behaviour;
Vim Script
markdown关键字 vim
if foo > 2 || has("gui_running")
syntax on
set hlsearch
endif
set autoindent
" switch on highlighting
function UnComment(fl, ll)
while idx >= a:ll
let srclines=getline(idx)
let dstlines=substitute(srclines, b:comment, "", "")
call setline(idx, dstlines)
endwhile
endfunction
let conf = {'command': 'git'}
WebAssembly
(module
(import "js" "memory" (memory 1))
(import "js" "table" (table 1 funcref))
(type $void_to_i32 (func (result i32)))
(func (export "doIt") (result i32)
i32.const 0
i32.const 42
i32.store ;; store 42 at address 0
i32.const 0
call_indirect (type $void_to_i32))
)
Wren
/*
borrowed from https://github.com/paladin-t/b95/blob/master/b95.wren
*/
class Stack is Sequence {
construct new() {
_list = [ ]
}
count {
return _list.count
}
isEmpty {
return _list.isEmpty
}
clear() {
_list.clear()
}
peek {
if (_list.isEmpty) {
Fiber.abort("Peeking from empty stack.")
}
return _list[_list.count - 1]
}
pop() {
if (_list.isEmpty) {
Fiber.abort("Popping from empty stack.")
}
var ret = _list[_list.count - 1]
_list.removeAt(_list.count - 1)
return ret
}
push(val) {
_list.add(val)
return this
}
// Iterates top-down, but doesn't pop anything.
iterate(iterator) {
if (iterator == null) {
iterator = _list.count
}
iterator = iterator - 1
if (iterator < 0) {
return null
}
return iterator
}
iteratorValue(iterator) {
return _list[iterator]
}
}
var add = Fn.new { |a,b| a + b }
var mul = Fn.new { |a,b| a * b }
XL
markdown关键字 xl
import Animate
import SeasonsGreetingsTheme
import "myhelper.xl"
theme "SeasonsGreetings"
function X:real -> sin(X*0.5) + 16#0.002
page "A nice car",
// --------------------------------------
// Display car model on a pedestal
// --------------------------------------
clear_color 0, 0, 0, 1
hand_scale -> 0.3
// Display the background image
background -4000,
locally
disable_depth_test
corridor N:integer ->
locally
rotatez 60 * N
translatex 1000
rotatey 90
color "white"
texture "stars.png"
texture_wrap true, true
texture_transform
translate (time + N) * 0.02 mod 1, 0, 0
scale 0.2, 0.3, 0.3
rectangle 0, 0, 100000, 1154
Zephir
markdown关键字 zephir
function testBefore(<Test> a, var b = 5, int c = 10)
{
a->method1();
return b + c;
}
namespace Test;
use RuntimeException as RE;
/**
* Example comment
*/
class Test extends CustomClass implements TestInterface
{
const C1 = null;
// Magic constant: http://php.net/manual/ru/language.constants.predefined.php
const className = __CLASS__;
public function method1()
{
int a = 1, b = 2;
if likely a > b {
a++;
} else if unlikely b < a {
a--;
}
return a + b;
}
// See fn is allowed like shortcut
public fn method2() -> <Test>
{
call_user_func(function() { echo "hello"; });
[1, 2, 3, 4, 5]->walk(
function(int! x) {
return x * x;
}
);
[1, 2, 3, 4, 5]->walk(
function(_, int key) { echo key; }
);
array input = [1, 2, 3, 4, 5];
input->walk(
function(_, int key) { echo key; }
);
input->map(x => x * x);
return this;
}
}
assembler
ARM Assembly
markdown关键字 armasm
.text
.global connect
connect:
mov r3, #2 ; s->sin_family = AF_INET
strh r3, [sp]
ldr r3, =server_port ; s->sin_port = server_port
ldr r3, [r3]
strh r3, [sp, #2]
ldr r3, =server_addr ; s->sin_addr = server_addr
ldr r3, [r3]
str r3, [sp, #4]
mov r3, #0 ; bzero(&s->sin_zero)
str r3, [sp, #8]
str r3, [sp, #12]
mov r1, sp ; const struct sockaddr *addr = sp
ldr r7, =connect_call
ldr r7, [r7]
swi #0
add sp, sp, #16
pop {r0} ; pop sockfd
pop {r7}
pop {fp, ip, lr}
mov sp, ip
bx lr
.data
socket_call: .long 281
connect_call: .long 283
/* all addresses are network byte-order (big-endian) */
server_addr: .long 0x0100007f ; localhost
server_port: .hword 0x0b1a
AVR Assembly
markdown关键字 avrasm
;* Title: Block Copy Routines
;* Version: 1.1
.include "8515def.inc"
rjmp RESET ;reset handle
.def flashsize=r16 ;size of block to be copied
flash2ram:
lpm ;get constant
st Y+,r0 ;store in SRAM and increment Y-pointer
adiw ZL,1 ;increment Z-pointer
dec flashsize
brne flash2ram ;if not end of table, loop more
ret
.def ramtemp =r1 ;temporary storage register
.def ramsize =r16 ;size of block to be copied
LLVM IR
markdown关键字 llvm
; ModuleID = 'test.c'
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
%struct._IO_FILE = type { i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct._IO_marker*, %struct._IO_FILE*, i32, i32, i64, i16, i8, [1 x i8], i8*, i64, i8*, i8*, i8*, i8*, i64, i32, [20 x i8] }
%struct._IO_marker = type { %struct._IO_marker*, %struct._IO_FILE*, i32 }
%struct.what = type { i8, i16 }
@.str = private unnamed_addr constant [6 x i8] c"foo()\00", align 1
@e_long = common global i64 0, align 8
@g_double = common global double 0.000000e+00, align 8
@.str.1 = private unnamed_addr constant [7 x i8] c"oooooh\00", align 1
@func_ptr = common global i32 (...)* null, align 8
@stderr = external global %struct._IO_FILE*, align 8
; Function Attrs: nounwind uwtable
define i32 @foo() #0 {
%1 = call i32 @puts(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i32 0, i32 0))
ret i32 0
}
declare i32 @puts(i8*) #1
; Function Attrs: nounwind uwtable
define i32 @main(i32 %argc, i8** %argv) #0 {
%1 = alloca i32, align 4
%2 = alloca i32, align 4
%3 = alloca i8**, align 8
; <label>:7 ; preds = %0
%8 = getelementptr inbounds %struct.what, %struct.what* %X, i32 0, i32 0
store i8 1, i8* %8, align 2
store i8 49, i8* %b_char, align 1
%9 = getelementptr inbounds %struct.what, %struct.what* %X, i32 0, i32 1
store double 1.000000e+01, double* @g_double, align 8
store i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1, i32 0, i32 0), i8** %cp_char_ptr, align 8
store i32 (...)* bitcast (i32 ()* @foo to i32 (...)*), i32 (...)** @func_ptr, align 8
%10 = call i32 @puts(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.2, i32 0, i32 0))
store i32 10, i32* %1, align 4
br label %66
; <label>:63 ; preds = %11
%64 = load %struct._IO_FILE*, %struct._IO_FILE** @stderr, align 8
%65 = call i32 @fputs(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.9, i32 0, i32 0), %struct._IO_FILE* %64)
store i32 -1, i32* %1, align 4
br label %66
; <label>:66 ; preds = %63, %46, %7
%67 = load i32, i32* %1, align 4
ret i32 %67
}
declare i32 @printf(i8*, ...) #1
declare i32 @fputs(i8*, %struct._IO_FILE*) #1
attributes #0 = { nounwind uwtable "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+fxsr,+mmx,+sse,+sse2" "unsafe-fp-math"="false" "use-soft-float"="false" }
!llvm.ident = !{!0}
!0 = !{!"clang version 3.8.0 (tags/RELEASE_380/final)"}
MIPS Assembly
markdown关键字 mipsasm
.text
.global AckermannFunc
# Preconditions:
# 1st parameter ($a0) m
# 2nd parameter ($a1) n
# Postconditions:
# result in ($v0) = value of A(m,n)
AckermannFunc:
addi $sp, $sp, -8
sw $s0, 4($sp)
sw $ra, 0($sp)
# move the parameter registers to temporary - no, only when nec.
LABEL_IF: bne $a0, $zero, LABEL_ELSE_IF
addi $v0, $a1, 1
# jump to LABEL_DONE
j LABEL_DONE
Intel x86 Assembly
markdown关键字 x86asm
section .text
extern _MessageBoxA@16
%if __NASM_VERSION_ID__ >= 0x02030000
safeseh handler ; register handler as "safe handler"
%endif
handler:
push dword 1 ; MB_OKCANCEL
push dword caption
push dword text
push dword 0
call _MessageBoxA@16
sub eax,1 ; incidentally suits as return value
; for exception handler
ret
global _main
_main: push dword handler
push dword [fs:0]
mov dword [fs:0], esp
xor eax,eax
mov eax, dword[eax] ; cause exception
pop dword [fs:0] ; disengage exception handler
add esp, 4
ret
avx2: vzeroupper
push rbx
mov rbx, rsp
sub rsp, 0h20
vmovdqa ymm0, [rcx]
vpaddb ymm0, [rdx]
leave
ret
text: db 'OK to rethrow, CANCEL to generate core dump',0
caption:db 'SEGV',0
section .drectve info
db '/defaultlib:user32.lib /defaultlib:msvcrt.lib '
config
Apache config
markdown关键字 apacheconf
# rewrite`s rules for wordpress pretty url
LoadModule rewrite_module modules/mod_rewrite.so
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [NC,L]
ExpiresActive On
ExpiresByType application/x-javascript "access plus 1 days"
Order Deny,Allow
Allow from All
<Location /maps/>
RewriteMap map txt:map.txt
RewriteMap lower int:tolower
RewriteCond %{REQUEST_URI} ^/([^/.]+)\.html$ [NC]
RewriteCond ${map:${lower:%1}|NOT_FOUND} !NOT_FOUND
RewriteRule .? /index.php?q=${map:${lower:%1}} [NC,L]
</Location>
crmsh
markdown关键字 crmsh
node webui
node 168633611: node1
rsc_template web-server apache \
params port=8000 \
op monitor interval=10s
# Never use this STONITH agent in production!
primitive development-stonith stonith:null \
params hostlist="webui node1 node2 node3"
primitive proxy systemd:haproxy \
op monitor interval=10s
primitive proxy-vip IPaddr2 \
params ip=10.13.37.20
primitive srv1 @web-server
primitive srv2 @web-server
primitive test1 Dummy
primitive test2 IPaddr2 \
params ip=10.13.37.99
primitive vip1 IPaddr2 \
params ip=10.13.37.21 \
op monitor interval=20s
primitive vip2 IPaddr2 \
params ip=10.13.37.22 \
op monitor interval=20s
group g-proxy proxy-vip proxy
group g-serv1 vip1 srv1
group g-serv2 vip2 srv2
# Never put the two web servers on the same node
colocation co-serv -inf: g-serv1 g-serv2
# Never put any web server or haproxy on webui
location l-avoid-webui { g-proxy g-serv1 g-serv2 } -inf: webui
# Prever to spread groups across nodes
location l-proxy g-proxy 200: node1
location l-serv1 g-serv1 200: node2
location l-serv2 g-serv2 200: node3
property cib-bootstrap-options: \
stonith-enabled=true \
no-quorum-policy=ignore \
placement-strategy=balanced \
have-watchdog=false \
dc-version="1.1.13-1.1.13+git20150827.e8888b9" \
cluster-infrastructure=corosync \
cluster-name=hacluster
rsc_defaults rsc-options: \
resource-stickiness=1 \
migration-threshold=3
op_defaults op-options: \
timeout=600 \
record-pending=true
DNS Zone
markdown关键字 dns
$ORIGIN example.com. ; designates the start of this zone file in the namespace
$TTL 1h ; default expiration time of all resource records without their own TTL value
example.com. IN SOA ns.example.com. username.example.com. ( 2007120710 1d 2h 4w 1h )
example.com. IN NS ns ; ns.example.com is a nameserver for example.com
example.com. IN NS ns.somewhere.example. ; ns.somewhere.example is a backup nameserver for example.com
example.com. IN MX 10 mail.example.com. ; mail.example.com is the mailserver for example.com
@ IN MX 20 mail2.example.com. ; equivalent to above line, "@" represents zone origin
@ IN MX 50 mail3 ; equivalent to above line, but using a relative host name
example.com. IN A 192.0.2.1 ; IPv4 address for example.com
IN AAAA 2001:db8:10::1 ; IPv6 address for example.com
ns IN A 192.0.2.2 ; IPv4 address for ns.example.com
IN AAAA 2001:db8:10::2 ; IPv6 address for ns.example.com
www IN CNAME example.com. ; www.example.com is an alias for example.com
wwwtest IN CNAME www ; wwwtest.example.com is another alias for www.example.com
mail IN A 192.0.2.3 ; IPv4 address for mail.example.com
mail2 IN A 192.0.2.4 ; IPv4 address for mail2.example.com
mail3 IN A 192.0.2.5 ; IPv4 address for mail3.example.com
Dockerfile
markdown关键字 dockerfile
# Example instructions from https://docs.docker.com/reference/builder/
FROM ubuntu:14.04
MAINTAINER example@example.com
ENV foo /bar
WORKDIR ${foo} # WORKDIR /bar
ADD . $foo # ADD . /bar
COPY \$foo /quux # COPY $foo /quux
ARG VAR=FOO
RUN apt-get update && apt-get install -y software-properties-common\
zsh curl wget git htop\
unzip vim telnet
RUN ["/bin/bash", "-c", "echo hello ${USER}"]
CMD ["executable","param1","param2"]
CMD command param1 param2
EXPOSE 1337
ENV myName="John Doe" myDog=Rex\ The\ Dog \
myCat=fluffy
ENV myName John Doe
ENV myDog Rex The Dog
ENV myCat fluffy
ADD hom* /mydir/ # adds all files starting with "hom"
ADD hom?.txt /mydir/ # ? is replaced with any single character
COPY hom* /mydir/ # adds all files starting with "hom"
COPY hom?.txt /mydir/ # ? is replaced with any single character
COPY --from=foo / .
ENTRYPOINT ["executable", "param1", "param2"]
ENTRYPOINT command param1 param2
VOLUME ["/data"]
USER daemon
LABEL com.example.label-with-value="foo"
LABEL version="1.0"
LABEL description="This text illustrates \
that label-values can span multiple lines."
WORKDIR /path/to/workdir
ONBUILD ADD . /app/src
STOPSIGNAL SIGKILL
HEALTHCHECK --retries=3 cat /health
SHELL ["/bin/bash", "-c"]
Device Tree
/*
* Copyright (C) 2011 - 2014 Xilinx
*
* This software is licensed under the terms of the GNU General Public
* License version 2, as published by the Free Software Foundation, and
* may be copied, distributed, and modified under those terms.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
/include/ "skeleton.dtsi"
/ {
compatible = "xlnx,zynq-7000";
pmu {
compatible = "arm,cortex-a9-pmu";
interrupts = <0 5 4>, <0 6 4>;
interrupt-parent = <&intc>;
reg = < 0xf8891000 0x1000 0xf8893000 0x1000 >;
};
regulator_vccpint: fixedregulator@0 {
compatible = "regulator-fixed";
regulator-name = "VCCPINT";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-boot-on;
regulator-always-on;
};
amba: amba {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <1>;
interrupt-parent = <&intc>;
ranges;
adc: adc@f8007100 {
compatible = "xlnx,zynq-xadc-1.00.a";
reg = <0xf8007100 0x20>;
interrupts = <0 7 4>;
interrupt-parent = <&intc>;
clocks = <&clkc 12>;
};
i2c0: i2c@e0004000 {
compatible = "cdns,i2c-r1p10";
status = "disabled";
clocks = <&clkc 38>;
interrupt-parent = <&intc>;
interrupts = <0 25 4>;
reg = <0xe0004000 0x1000>;
#address-cells = <1>;
#size-cells = <0>;
};
L2: cache-controller@f8f02000 {
compatible = "arm,pl310-cache";
reg = <0xF8F02000 0x1000>;
interrupts = <0 2 4>;
arm,data-latency = <3 2 2>;
arm,tag-latency = <2 2 2>;
cache-unified;
cache-level = <2>;
};
};
};
TOML, also INI
markdown关键字 ini
; boilerplate
[package]
name = "some_name"
authors = ["Author"]
description = "This is \
a description"
[[lib]]
name = ${NAME}
default = True
auto = no
counter = 1_000
JBoss CLI
markdown关键字 jboss-cli
jms-queue add --queue-address=myQueue --entries=queue/myQueue
deploy /path/to/file.war
/system-property=prop1:add(value=value1)
/extension=org.jboss.as.modcluster:add
./foo=bar:remove
/subsystem=security/security-domain=demo-realm/authentication=classic:add
/subsystem=security/security-domain=demo-realm/authentication=classic/login-module=UsersRoles:add( \
code=UsersRoles, \
flag=required, \
module-options= { \
usersProperties=auth/demo-users.properties, \
rolesProperties =auth/demo-roles.properties, \
hashAlgorithm= MD5, \
hashCharset="UTF-8" \
} \
)
NestedText
# Contact information for our officers
president:
name: Katheryn McDaniel
address:
> 138 Almond Street
> Topeka, Kansas 20697
phone:
cell: 1-210-555-5297
home: 1-210-555-8470
# Katheryn prefers that we always call her on her cell phone.
email: KateMcD@aol.com
kids:
- Joanie
- Terrance
vice president:
name: Margaret Hodge
address:
> 2586 Marigold Land
> Topeka, Kansas 20697
phone: 1-470-555-0398
email: margaret.hodge@ku.edu
kids:
- Arnie
- Zach
- Maggie
Nginx config
markdown关键字 nginxconf
user www www;
worker_processes 2;
pid /var/run/nginx.pid;
error_log /var/log/nginx.error_log debug | info | notice | warn | error | crit;
events {
connections 2000;
use kqueue | rtsig | epoll | /dev/poll | select | poll;
}
http {
log_format main '$remote_addr - $remote_user [$time_local] '
'"$request" $status $bytes_sent '
'"$http_referer" "$http_user_agent" '
'"$gzip_ratio"';
send_timeout 3m;
client_header_buffer_size 1k;
gzip on;
gzip_min_length 1100;
#lingering_time 30;
server {
server_name one.example.com www.one.example.com;
access_log /var/log/nginx.access_log main;
rewrite (.*) /index.php?page=$1 break;
location / {
proxy_pass http://127.0.0.1/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
charset koi8-r;
}
location /api/ {
fastcgi_pass 127.0.0.1:9000;
}
location ~* \.(jpg|jpeg|gif)$ {
root /spool/www;
}
}
}
Packet Filter config
markdown关键字 pf.conf
# from the PF FAQ: http://www.openbsd.org/faq/pf/example1.html
# macros
int_if="xl0"
tcp_services="{ 22, 113 }"
icmp_types="echoreq"
comp3="192.168.0.3"
# options
set block-policy return
set loginterface egress
set skip on lo
# FTP Proxy rules
anchor "ftp-proxy/*"
pass in quick on $int_if inet proto tcp to any port ftp \
divert-to 127.0.0.1 port 8021
# match rules
match out on egress inet from !(egress:network) to any nat-to (egress:0)
# filter rules
block in log
pass out quick
antispoof quick for { lo $int_if }
pass in on egress inet proto tcp from any to (egress) \
port $tcp_services
pass in on egress inet proto tcp to (egress) port 80 rdr-to $comp3
pass in inet proto icmp all icmp-type $icmp_types
pass in on $int_if
.properties
# .properties
! Exclamation mark = comments, too
key1 = value1
key2 : value2
key3 value3
key\ spaces multiline\
value4
empty_key
! Key can contain escaped chars
\:\= = value5
Puppet
markdown关键字 puppet
# EC2 sample
class ec2utils {
# This must include the path to the Amazon EC2 tools
$ec2path = ["/usr/bin", "/bin", "/usr/sbin", "/sbin",
"/opt/ec2/ec2-api-tools/bin",
"/opt/ec2/aws-elb-tools/bin"]
define elasticip (
$instanceid,
$ip
)
{
exec { "ec2-associate-address-$name":
logoutput => on_failure,
environment => $ec2utils::ec2env,
path => $ec2utils::ec2path,
command => "ec2assocaddr $ip \
-i $instanceid",
# Only do this when necessary
unless => "test `ec2daddr $ip | awk '{print \$3}'` == $instanceid",
}
}
mount { "$mountpoint":
device => $devicetomount,
ensure => mounted,
fstype => $fstype,
options => $mountoptions,
require => [ Exec["ec2-attach-volume-$name"],
File["$mountpoint"]
],
}
}
Roboconf
markdown关键字 roboconf
# This is a comment
import toto.graph;
##
# Facet
##
facet VM {
installer: iaas;
}
# Components
VM_ec2 {
facets: VM;
children: cluster-node, mysql;
}
VM_openstack {
facets: VM;
children: cluster-node, mysql;
}
cluster-node {
alias: a cluster node;
installer: puppet;
exports: ip, port, optional-property1, optional_property2;
imports: cluster-node.ip (optional), cluster-node.port (optional), mysql.ip, mysql.port;
}
mysql {
alias: a MySQL database;
installer: puppet;
exports: ip, port;
}
##
# Normally, instances are defined in another file...
##
instance of VM_ec2 {
name: VM_;
count: 3;
my-instance-property: whatever;
instance of cluster-node {
name: cluster node; # An in-line comment
}
}
instance of VM_openstack {
name: VM_database;
instance of mysql {
name: mysql;
}
}
YAML
markdown关键字 yaml
---
# comment
string_1: "Bar"
string_2: 'bar'
string_3: bar
inline_keys_ignored: sompath/name/file.jpg
keywords_in_yaml:
- true
- false
- TRUE
- FALSE
- 21
- 21.0
- !!str 123
"quoted_key": &foobar
bar: foo
foo:
"foo": bar
reference: *foobar
multiline_1: |
Multiline
String
multiline_2: >
Multiline
String
multiline_3: "
Multiline string
"
ansible_variables: "foo {{variable}}"
array_nested:
- a
- b: 1
c: 2
- b
- comment
css
CSS
markdown关键字 css
@font-face {
font-family: Chunkfive;
src: url('Chunkfive.otf');
}
body, .usertext {
color: #F0F0F0;
background: #600;
font-family: Chunkfive, sans;
--heading-1: 30px/32px Helvetica, sans-serif;
}
@import url(print.css);
@media print {
a[href^=http]::after {
content: attr(href)
}
}
Less
markdown关键字 less
@import "fruits";
@rhythm: 1.5em;
@media screen and (min-resolution: 2dppx) {
body {
font-size: 125%
}
}
section > .foo + #bar:hover [href*="less"] {
margin: @rhythm 0 0 @rhythm;
padding: calc(5% + 20px);
background: #f00ba7 url(http://placehold.alpha-centauri/42.png) no-repeat;
background-image: linear-gradient(-135deg, wheat, fuchsia) !important;
background-blend-mode: multiply;
}
@font-face {
font-family: /* ? */ 'Omega';
src: url('../fonts/omega-webfont.woff?v=2.0.2');
}
.icon-baz::before {
display: inline-block;
font-family: "Omega", Alpha, sans-serif;
content: "\f085";
color: rgba(98, 76 /* or 54 */, 231, .75);
}
SCSS
markdown关键字 scss
@import "compass/reset";
// variables
$colorGreen: #008000;
$colorGreenDark: darken($colorGreen, 10);
@mixin container {
max-width: 980px;
}
// mixins with parameters
@mixin button($color:green) {
@if ($color == green) {
background-color: #008000;
} @else if ($color == red) {
background-color: #B22222;
}
}
button {
@include button(red);
}
div,
.navbar,
#header,
input[type="input"] {
font-family: "Helvetica Neue", Arial, sans-serif;
width: auto;
margin: 0 auto;
display: block;
}
.row-12 > [class*="spans"] {
border-left: 1px solid #B5C583;
}
// nested definitions
ul {
width: 100%;
padding: {
left: 5px;
right: 5px;
}
li {
float: left;
margin-right: 10px;
.home {
background: url('http://placehold.it/20') scroll no-repeat 0 0;
}
}
}
.banner {
@extend .container;
}
a {
color: $colorGreen;
&:hover {
color: $colorGreenDark;
}
&:visited {
color: #c458cb;
}
}
@for $i from 1 through 5 {
.span#{$i} {
width: 20px*$i;
}
}
@mixin mobile {
@media screen and (max-width: 600px) {
@content;
}
}
Stylus
markdown关键字 stylus
@import "nib"
// variables
$green = #008000
$green_dark = darken($green, 10)
// mixin/function
container()
max-width 980px
// mixin/function with parameters
buttonBG($color = green)
if $color == green
background-color #008000
else if $color == red
background-color #B22222
button
buttonBG(red)
.blue-button
buttonBG(blue)
#content, .content
font Tahoma, Chunkfive, sans-serif
background url('hatch.png')
color #F0F0F0 !important
width 100%
database
SQL
markdown关键字 sql
CREATE TABLE "topic"
(
"id" integer NOT NULL PRIMARY KEY,
"forum_id" integer NOT NULL,
"subject" varchar(255) NOT NULL
);
ALTER TABLE "topic"
ADD CONSTRAINT forum_id FOREIGN KEY ("forum_id")
REFERENCES "forum" ("id");
-- Initials
insert into "topic" ("forum_id", "subject")
values (2, 'D''artagnian');
enterprise
1C:Enterprise
markdown关键字 1c
#ЗагрузитьИзФайла ext_module.txt // директива 7.7
#Если Клиент ИЛИ НаКлиенте Тогда // инструкции препроцессора
&НаКлиентеНаСервереБезКонтекста // директивы компиляции
Функция ТолстыйКлиентОбычноеПриложение(Знач Параметр1 = Неопределено, // комментарий
Параметр2 = "", ПараметрN = 123.45, ПарамNN) Экспорт // еще комментарий
Попытка
Результат_Булевы_Значения = Новый Структура("П1, П2", Истина, Ложь, NULL, Неопределено);
Перейти ~МеткаGOTO; // комментарий
РезультатТаблицаДат = Новый ТаблицаЗначений;
РезультатТаблицаДат.Колонки.Добавить("Колонка1",
Новый ОписаниеТипов("Дата", , ,
Новый КвалификаторыДаты(ЧастиДаты.ДатаВремя));
НС = РезультатТаблицаДат.Добавить(); НС["Колонка1"] = '20170101120000');
Исключение
ОписаниеОшибки = ОписаниеОшибки(); // встроенная функция
Масс = Новый Массив; // встроенный тип
Для Каждого Значение Из Масс Цикл
Сообщить(Значение + Символы.ПС + "
|продолжение строки"); // продолжение многострочной строки
Продолжить; Прервать;
КонецЦикла;
СправочникСсылка = Справочники.Языки.НайтиПоНаименованию("ru"); // встроенные типы
СправочникОбъект = СправочникСсылка.ПолучитьОбъект();
ПеречислениеСсылка = Перечисления.ВидыМодификацииДанных.Изменен;
ВызватьИсключение ОписаниеОшибки;
КонецПопытки;
~МеткаGOTO: // еще комментарий
ВД = ВидДвиженияБухгалтерии.Дебет;
КонецФункции // ТолстыйКлиентОбычноеПриложение()
#КонецЕсли
Microsoft X++
class ExchRateLoadBatch extends RunBaseBatch {
ExchRateLoad rbc;
container currencies;
boolean actual;
boolean overwrite;
date beg;
date end;
#define.CurrentVersion(5)
#localmacro.CurrentList
currencies,
actual,
beg,
end
#endmacro
}
public boolean unpack(container packedClass) {
container base;
boolean ret;
Integer version = runbase::getVersion(packedClass);
switch (version) {
case #CurrentVersion:
[version, #CurrentList] = packedClass;
return true;
default:
return false;
}
return ret;
}
Caché Object Script
markdown关键字 cos
#dim test as %Library.Integer
SET test = 123.099
set ^global = %request.Content
Write "Current date """, $ztimestamp, """, result: ", test + ^global = 125.099
do ##class(Cinema.Utils).AddShow("test") // class method call
do ##super() ; another one-line comment
d:(^global = 2) ..thisClassMethod(1, 2, "test")
/*
* Sub-languages support:
*/
&sql( SELECT * FROM Cinema.Film WHERE Length > 2 )
&js<for (var i = 0; i < String("test").split("").length); ++i) {
console.log(i);
}>
&html<<!DOCTYPE html>
<html>
<head> <meta name="test"/> </head>
<body>Test</body>
</html>>
quit $$$OK
dsconfig
markdown关键字 dsconfig
# Create client connection policies
dsconfig create-client-connection-policy \
--policy-name "Restrictive Client Connection Policy" \
--set "description:Restrictive Client Connection Policy" \
--set enabled:true --set evaluation-order-index:1000 \
--set "connection-criteria:User.0 Connection Criteria" \
--set maximum-concurrent-connections:2 \
--set "maximum-connection-duration:1 s" \
--set "maximum-idle-connection-duration:1 s" \
--set maximum-operation-count-per-connection:1000
create-client-connection-policy \
--policy-name "Another Client Connection Policy" \
--set enabled:true --set evaluation-order-index:100 \
--set 'connection-criteria:User.1 Connection Criteria' \
--reset maximum-concurrent-connections
# Configure global ACIs
dsconfig set-access-control-handler-prop \
--add global-aci:'(target="ldap:///cn=config")(targetattr="*")(version 3.0; acl "Allow access to the config tree by cn=admin,c=us"; allow(all) groupdn="ldap:///cn=directory administrators,ou=groups,c=us";)' \
--add global-aci:'(target="ldap:///cn=monitor")(targetattr="*")(version 3.0; acl "Allow access to the monitor tree by cn=admin,c=us"; allow(all) groupdn="ldap:///cn=directory administrators,ou=groups,c=us";)' \
--remove global-aci:'(target="ldap:///cn=alerts")(targetattr="*")(version 3.0; acl "Allow access to the alerts tree by cn=admin,c=us"; allow(all) groupdn="ldap:///cn=directory administrators,ou=groups,c=us";)'
# Delete error logger
dsconfig delete-log-publisher --publisher-name "File-Based Error Logger"
ISBL
// Описание констант
ADD_EQUAL_NUMBER_TEMPLATE = "%s.%s = %s"
EMPLOYEES_REFERENCE = "РАБ"
/*********************************************
* Получить список кодов или ИД работников, *
* соответствующих текущему пользователю *
*********************************************/
Employees: IReference.РАБ = CreateReference(EMPLOYEES_REFERENCE;
ArrayOf("Пользователь"; SYSREQ_STATE); MyFunction(FALSE; MyParam * 0.05))
Employees.Events.DisableAll
EmployeesTableName = Employees.TableName
EmployeesUserWhereID = Employees.AddWhere(Format(ADD_EQUAL_NUMBER_TEMPLATE;
ArrayOf(EmployeesTableName; Employees.Requisites("Пользователь").SQLFieldName;
EDocuments.CurrentUser.ID)))
Employees.Open()
Result = CreateStringList()
foreach Employee in Employees
if IsResultCode
Result.Add(Employee.SYSREQ_CODE)
else
Result.Add(Employee.SYSREQ_ID)
endif
endforeach
Employees.Close()
Employees.DelWhere(EmployeesUserWhereID)
Employees.Events.EnableAll
Employees = nil
Java
markdown关键字 java
/**
* @author John Smith <john.smith@example.com>
*/
package l2f.gameserver.model;
public abstract strictfp class L2Char extends L2Object {
public static final Short ERROR = 0x0001;
public void moveTo(int x, int y, int z) {
_ai = null;
log("Should not be called");
if (1 > 5) { // wtf!?
return;
}
}
}
LDIF
markdown关键字 ldif
# Example LDAP user
dn: uid=user.0,ou=People,dc=example,dc=com
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
givenName: Morris
sn: Day
cn: Morris Day
initials: MD
employeeNumber: 0
uid: user.0
mail: user.0@example.com
userPassword: password
telephoneNumber: +1 042 100 3866
homePhone: +1 039 680 4135
pager: +1 284 199 0966
mobile: +1 793 707 0251
street: 90280 Spruce Street
l: Minneapolis
st: MN
postalCode: 50401
postalAddress: Morris Day$90280 Spruce Street$Minneapolis, MN 50401
description: This is the description for Morris Day.
dn: CN=John Smith,OU=Legal,DC=example,DC=com
changetype: modify
replace: employeeID
employeeID: 1234
-
replace: employeeNumber
employeeNumber: 98722
-
replace: extensionAttribute6
extensionAttribute6: JSmith98
-
dn: CN=Jane Smith,OU=Accounting,DC=example,DC=com
changetype: modify
replace: employeeID
employeeID: 5678
-
replace: employeeNumber
employeeNumber: 76543
-
replace: extensionAttribute6
extensionAttribute6: JSmith14
-
LiveCode
markdown关键字 livecodeserver
<?rev
global gControllerHandlers, gData
local sTest
put "blog,index" into gControllerHandlers
command blog
-- simple comment
put "Hello World!" into sTest
# ANOTHER COMMENT
put "form,url,asset" into tHelpers
rigLoadHelper tHelpers
end blog
/*Hello
block comment!*/
function myFunction
if the secs > 2000000000 then
put "Welcome to the future!"
else
return "something"
end if
end myFunction
--| END OF blog.lc
--| Location: ./system/application/controllers/blog.lc
----------------------------------------------------------------------
Oracle Rules Language
markdown关键字 ruleslanguage
//This is a comment
ABORT "You experienced an abort.";
WARN "THIS IS A WARNING";
CALL "RIDER_X";
DONE;
FOR EACH X IN CSV_FILE "d:\lodestar\user\d377.lse"
LEAVE FOR;
END FOR;
IF ((BILL_KW = 0) AND (KW > 0)) THEN
END IF;
INCLUDE "R1";
LEAVE RIDER;
SELECT BILL_PERIOD
WHEN "WINTER"
BLOCK KWH
FROM 0 TO 400 CHARGE $0.03709
FROM 400 CHARGE $0.03000
TOTAL $ENERGY_CHARGE_WIN;
WHEN "SUMMER"
$VOLTAGE_DISCOUNT_SUM = $0.00
OTHERWISE
$VOLTAGE_DISCOUNT_SUM = $1.00
END SELECT;
/* Report top five peaks */
LABEL PK.NM "Peak Number";
SAVE_UPDATE MV TO TABLE "METERVALUE";
FOR EACH INX IN ARRAYUPPERBOUND(#MYARRAY[])
#MYARRAY[INX].VALUE = 2;
CLEAR #MYARRAY[];
END FOR
//Interval Data
HNDL_1_ADD_EDI = INTDADDATTRIBUTE(HNDL_1, "EDI_TRANSACTION", EDI_ID);
HNDL_1_ADD_VAL_MSG = INTDADDVMSG(HNDL_1,"Missing (Status Code 9) values found");
EMPTY_HNDL = INTDCREATEHANDLE('05/03/2006 00:00:00', '05/03/2006 23:59:59', 3600, "Y", "0", " ");
functional
Clean
markdown关键字 clean
module fsieve
import StdClass; // RWS
import StdInt, StdReal
NrOfPrimes :== 3000
primes :: [Int]
primes = pr where pr = [5 : sieve 7 4 pr]
sieve :: Int !Int [Int] -> [Int]
sieve g i prs
| isPrime prs g (toInt (sqrt (toReal g))) = [g : sieve` g i prs]
| otherwise = sieve (g + i) (6 - i) prs
sieve` :: Int Int [Int] -> [Int]
sieve` g i prs = sieve (g + i) (6 - i) prs
isPrime :: [Int] !Int Int -> Bool
isPrime [f:r] pr bd
| f>bd = True
| pr rem f==0 = False
| otherwise = isPrime r pr bd
select :: [x] Int -> x
select [f:r] 1 = f
select [f:r] n = select r (n - 1)
Start :: Int
Start = select [2, 3 : primes] NrOfPrimes
Coq
markdown关键字 coq
Inductive seq : nat -> Set :=
| niln : seq 0
| consn : forall n : nat, nat -> seq n -> seq (S n).
Fixpoint length (n : nat) (s : seq n) {struct s} : nat :=
match s with
| niln => 0
| consn i _ s' => S (length i s')
end.
Theorem length_corr : forall (n : nat) (s : seq n), length n s = n.
Proof.
intros n s.
(* reasoning by induction over s. Then, we have two new goals
corresponding on the case analysis about s (either it is
niln or some consn *)
induction s.
(* We are in the case where s is void. We can reduce the
term: length 0 niln *)
simpl.
(* We obtain the goal 0 = 0. *)
trivial.
(* now, we treat the case s = consn n e s with induction
hypothesis IHs *)
simpl.
(* The induction hypothesis has type length n s = n.
So we can use it to perform some rewriting in the goal: *)
rewrite IHs.
(* Now the goal is the trivial equality: S n = S n *)
trivial.
(* Now all sub cases are closed, we perform the ultimate
step: typing the term built using tactics and save it as
a witness of the theorem. *)
Qed.
Elixir
markdown关键字 elixir
defrecord Person, first_name: nil, last_name: "Dudington" do
def name record do # huh ?
"#{record.first_name} #{record.last_name}"
end
end
defrecord User, name: "José", age: 25
guy = Person.new first_name: "Guy"
guy.name
defmodule ListServer do
@moduledoc """
This module provides an easy to use ListServer, useful for keeping
lists of things.
"""
use GenServer.Behaviour
alias Foo.Bar
### Public API
@doc """
Starts and links a new ListServer, returning {:ok, pid}
## Example
iex> {:ok, pid} = ListServer.start_link
"""
def start_link do
:gen_server.start_link({:local, :list}, __MODULE__, [], [])
end
### GenServer API
def init(list) do
{:ok, list}
end
# Clear the list
def handle_cast :clear, list do
{:noreply, []}
end
end
{:ok, pid} = ListServer.start_link
pid <- {:foo, "bar"}
greeter = fn(x) -> IO.puts "hey #{x}" end
greeter.("Bob")
Elm
markdown关键字 elm
import Browser
import Html exposing (div, button, text)
import Html.Events exposing (onClick)
type Msg
= Increment
main =
Browser.sandbox
{ init = 0
, update = \msg model -> model + 1
, view = view
}
view model =
div []
[ div [] [ text (String.fromInt model) ]
, button [ onClick Increment ] [ text "+" ]
]
chars =
String.cons 'C' <| String.cons 'h' <| "ars"
Erlang REPL
markdown关键字 erlang-repl
1> Str = "abcd".
"abcd"
2> L = test:length(Str).
4
3> Descriptor = {L, list_to_atom(Str)}.
{4,abcd}
4> L.
4
5> b().
Descriptor = {4,abcd}
L = 4
Str = "abcd"
ok
6> f(L).
ok
7> b().
Descriptor = {4,abcd}
Str = "abcd"
ok
8> {L, _} = Descriptor.
{4,abcd}
9> L.
4
10> 2#101.
5
11> 1.85e+3.
1850
Erlang
markdown关键字 erlang
-module(ssh_cli).
-behaviour(ssh_channel).
-include("ssh.hrl").
%% backwards compatibility
-export([listen/1, listen/2, listen/3, listen/4, stop/1]).
if L =/= [] -> % If L is not empty
sum(L) / count(L);
true ->
error
end.
%% state
-record(state, {
cm,
channel
}).
-spec foo(integer()) -> integer().
foo(X) -> 1 + X.
test(Foo)->Foo.
init([Shell, Exec]) ->
{ok, #state{shell = Shell, exec = Exec}};
init([Shell]) ->
false = not true,
io:format("Hello, \"~p!~n", [atom_to_list('World')]),
{ok, #state{shell = Shell}}.
concat([Single]) -> Single;
concat(RList) ->
EpsilonFree = lists:filter(
fun (Element) ->
case Element of
epsilon -> false;
_ -> true
end
end,
RList),
case EpsilonFree of
[Single] -> Single;
Other -> {concat, Other}
end.
union_dot_union({union, _}=U1, {union, _}=U2) ->
union(lists:flatten(
lists:map(
fun (X1) ->
lists:map(
fun (X2) ->
concat([X1, X2])
end,
union_to_list(U2)
)
end,
union_to_list(U1)
))).
Flix
markdown关键字 flix
/**
* An example of Flix for syntax highlighting.
*/
// Here is a namespace.
namespace a.b.c {
// Here are some literals.
def b: Bool = true
def c: Char = 'a'
def f: Float = 1.23
def i: Int = 42
def s: Str = "string"
// Here are some relations.
rel LitStm(r: Str, c: Int)
rel AddStm(r: Str, x: Str, y: Str)
rel DivStm(r: Str, x: Str, y: Str)
// Here is a lattice.
lat LocalVar(k: Str, v: Constant)
// Here is an index.
index LitStm{{r}, {r, c}}
// Here is an enum.
enum Constant {
case Top,
case Cst(Int),
case Bot
}
// Here is a function.
def leq(e1: Constant, e2: Constant): Bool = match (e1, e2) with {
case (Constant.Bot, _) => true
case (Constant.Cst(n1), Constant.Cst(n2)) => n1 == n2
case (_, Constant.Top) => true
case _ => false
}
// Here are some rules.
LocalVar(r, alpha(c)) :- LitStm(r, c).
LocalVar(r, sum(v1, v2)) :- AddStm(r, x, y),
LocalVar(x, v1),
LocalVar(y, v2).
}
F#
open System
// Single line comment...
(*
This is a
multiline comment.
*)
let checkList alist =
match alist with
| [] -> 0
| [a] -> 1
| [a; b] -> 2
| [a; b; c] -> 3
| _ -> failwith "List is too big!"
let text = "Some text..."
let text2 = @"A ""verbatim"" string..."
let catalog = """
Some "long" string...
"""
let rec fib x = if x <= 2 then 1 else fib(x-1) + fib(x-2)
let fibs =
Async.Parallel [ for i in 0..40 -> async { return fib(i) } ]
|> Async.RunSynchronously
type Sprocket(gears) =
member this.Gears : int = gears
[<AbstractClass>]
type Animal =
abstract Speak : unit -> unit
type Widget =
| RedWidget
| GreenWidget
type Point = {X: float; Y: float;}
[<Measure>]
type s
let minutte = 60<s>
type DefaultMailbox<'a>() =
let mutable inbox = ConcurrentQueue<'a>()
let awaitMsg = new AutoResetEvent(false)
Haskell
markdown关键字 haskell
{-# LANGUAGE TypeSynonymInstances #-}
module Network.UDP
( DataPacket(..)
, openBoundUDPPort
, openListeningUDPPort
, pingUDPPort
, sendUDPPacketTo
, recvUDPPacket
, recvUDPPacketFrom
) where
import qualified Data.ByteString as Strict (ByteString, concat, singleton)
import qualified Data.ByteString.Lazy as Lazy (ByteString, toChunks, fromChunks)
import Data.ByteString.Char8 (pack, unpack)
import Network.Socket hiding (sendTo, recv, recvFrom)
import Network.Socket.ByteString (sendTo, recv, recvFrom)
-- Type class for converting StringLike types to and from strict ByteStrings
class DataPacket a where
toStrictBS :: a -> Strict.ByteString
fromStrictBS :: Strict.ByteString -> a
instance DataPacket Strict.ByteString where
toStrictBS = id
{-# INLINE toStrictBS #-}
fromStrictBS = id
{-# INLINE fromStrictBS #-}
openBoundUDPPort :: String -> Int -> IO Socket
openBoundUDPPort uri port = do
s <- getUDPSocket
bindAddr <- inet_addr uri
let a = SockAddrInet (toEnum port) bindAddr
bindSocket s a
return s
pingUDPPort :: Socket -> SockAddr -> IO ()
pingUDPPort s a = sendTo s (Strict.singleton 0) a >> return ()
OCaml
markdown关键字 ocaml
(* This is a
multiline, (* nested *) comment *)
type point = { x: float; y: float };;
let some_string = "this is a string";;
let rec length lst =
match lst with
[] -> 0
| head :: tail -> 1 + length tail
;;
exception Test;;
type expression =
Const of float
| Var of string
| Sum of expression * expression (* e1 + e2 *)
| Diff of expression * expression (* e1 - e2 *)
| Prod of expression * expression (* e1 * e2 *)
| Quot of expression * expression (* e1 / e2 *)
class point =
object
val mutable x = 0
method get_x = x
method private move d = x <- x + d
end;;
ReasonML
/* This is a
multiline
comment */
type point = {
x: float,
y: float,
};
let some_string = "this is a string";
let rec length = lst =>ReasonML
switch (lst) {
| [] => 0
| [head, ...tail] => 1 + length(tail)
};
type result('a, 'b) =
| Ok('a)
| Error('b);
let promisify = (res: result('a, 'b)) : Js.Promise.t('a) =>
switch (res) {
| Ok(a) => Js.Promise.resolve(a)
| Error(b) => Js.Promise.reject(b)
};
exception Test;
module MakeFFI = (T: {type t;}) => {
[@bs.module] external ffi : string => T.t = "";
};
type expression =
| Const(float)
| Var(string)
| Sum(expression, expression) /* e1 + e2 */
| Diff(expression, expression) /* e1 - e2 */
| Prod(expression, expression) /* e1 * e2 */
| Quot(expression, expression); /* e1 / e2 */
class point = {
as _;
val mutable x = 0;
pub get_x = x;
pri move = d => x = x + d;
};
Scala
markdown关键字 scala
/**
* A person has a name and an age.
*/
case class Person(name: String, age: Int)
abstract class Vertical extends CaseJeu
case class Haut(a: Int) extends Vertical
case class Bas(name: String, b: Double) extends Vertical
sealed trait Ior[+A, +B]
case class Left[A](a: A) extends Ior[A, Nothing]
case class Right[B](b: B) extends Ior[Nothing, B]
case class Both[A, B](a: A, b: B) extends Ior[A, B]
trait Functor[F[_]] {
def map[A, B](fa: F[A], f: A => B): F[B]
}
// beware Int.MinValue
def absoluteValue(n: Int): Int =
if (n < 0) -n else n
def interp(n: Int): String =
s"there are $n ${color} balloons.\n"
type ξ[A] = (A, A)
trait Hist { lhs =>
def ⊕(rhs: Hist): Hist
}
def gsum[A: Ring](as: Seq[A]): A =
as.foldLeft(Ring[A].zero)(_ + _)
val actions: List[Symbol] =
'init :: 'read :: 'write :: 'close :: Nil
trait Cake {
type T;
type Q
val things: Seq[T]
abstract class Spindler
def spindle(s: Spindler, ts: Seq[T], reversed: Boolean = false): Seq[Q]
}
val colors = Map(
"red" -> 0xFF0000,
"turquoise" -> 0x00FFFF,
"black" -> 0x000000,
"orange" -> 0xFF8040,
"brown" -> 0x804000)
lazy val ns = for {
x <- 0 until 100
y <- 0 until 100
} yield (x + y) * 33.33
SML (Standard ML)
markdown关键字 sml
structure List : LIST =
struct
val op + = InlineT.DfltInt.+
datatype list = datatype list
exception Empty = Empty
fun last [] = raise Empty
| last [x] = x
| last (_::r) = last r
fun loop ([], []) = EQUAL
| loop ([], _) = LESS
| loop (_, []) = GREATER
| loop (x :: xs, y :: ys) =
(case compare (x, y) of
EQUAL => loop (xs, ys)
| unequal => unequal)
in
loop
end
end (* structure List *)
XQuery
markdown关键字 xquery
xquery version "3.1";
(:~
: @author Duncan Paterson
: @version 1.0:)
declare variable $local:num := math:log10(12345);
(
let $map := map { 'R': 'red', 'G': 'green', 'B': 'blue' }
return (
$map?* (: 1. returns all values; same as: map:keys($map) ! $map(.) :),
$map?R (: 2. returns the value associated with the key 'R'; same as: $map('R') :),
$map?('G','B') (: 3. returns the values associated with the key 'G' and 'B' :)
),
declare function local:city($country as node()*) as element (country) {
for $country in doc('factbook')//country
where $country/@population > 100000000
let $name := $country/name[1]
for $city in $country//city[population gt 1000000]
group by $name
return
element country { attribute type { $name },
$city/name }
};
return
('A', 'B', 'C') => count(),
<root>{local:city(.) + $local:num}</root>
graphics
GLSL
markdown关键字 glsl
// vertex shader
#version 150
in vec2 in_Position;
in vec3 in_Color;
out vec3 ex_Color;
void main(void) {
gl_Position = vec4(in_Position.x, in_Position.y, 0.0, 1.0);
ex_Color = in_Color;
}
// geometry shader
#version 150
layout(triangles) in;
layout(triangle_strip, max_vertices = 3) out;
void main() {
for(int i = 0; i < gl_in.length(); i++) {
gl_Position = gl_in[i].gl_Position;
EmitVertex();
}
EndPrimitive();
}
// fragment shader
#version 150
precision highp float;
in vec3 ex_Color;
out vec4 gl_FragColor;
void main(void) {
gl_FragColor = vec4(ex_Color, 1.0);
}
MEL
markdown关键字 mel
proc string[] getSelectedLights()
{
string $selectedLights[];
string $select[] = `ls -sl -dag -leaf`;
for ( $shape in $select )
{
// Determine if this is a light.
//
string $class[] = getClassification( `nodeType $shape` );
if ( ( `size $class` ) > 0 && ( "light" == $class[0] ) )
{
$selectedLights[ `size $selectedLights` ] = $shape;
}
}
// Result is an array of all lights included in
// current selection list.
return $selectedLights;
}
Processing
markdown关键字 processing
import java.util.LinkedList;
import java.awt.Point;
PGraphics pg;
String load;
void setup() {
size(displayWidth, displayHeight, P3D);
pg = createGraphics(displayWidth*2,displayHeight,P2D);
pg.beginDraw();
pg.background(255,255,255);
//pg.smooth(8);
pg.endDraw();
}
void draw(){
background(255);
}
RenderMan RIB
FrameBegin 0
Display "Scene" "framebuffer" "rgb"
Option "searchpath" "shader" "+&:/home/kew"
Option "trace" "int maxdepth" [4]
Attribute "visibility" "trace" [1]
Attribute "irradiance" "maxerror" [0.1]
Attribute "visibility" "transmission" "opaque"
Format 640 480 1.0
ShadingRate 2
PixelFilter "catmull-rom" 1 1
PixelSamples 4 4
Projection "perspective" "fov" 49.5502811377
Scale 1 1 -1
WorldBegin
ReadArchive "Lamp.002_Light/instance.rib"
Surface "plastic"
ReadArchive "Cube.004_Mesh/instance.rib"
# ReadArchive "Sphere.010_Mesh/instance.rib"
# ReadArchive "Sphere.009_Mesh/instance.rib"
ReadArchive "Sphere.006_Mesh/instance.rib"
WorldEnd
FrameEnd
RenderMan RSL
markdown关键字 rsl
#define TEST_DEFINE 3.14
/* plastic surface shader
*
* Pixie is:
* (c) Copyright 1999-2003 Okan Arikan. All rights reserved.
*/
surface plastic (float Ka = 1, Kd = 0.5, Ks = 0.5, roughness = 0.1;
color specularcolor = 1;) {
normal Nf = faceforward (normalize(N),I);
Ci = Cs * (Ka*ambient() + Kd*diffuse(Nf)) + specularcolor * Ks *
specular(Nf,-normalize(I),roughness);
Oi = Os;
Ci *= Oi;
}
lisp
Clojure
markdown关键字 clojure
(def ^:dynamic chunk-size 17)
(defn next-chunk [rdr]
(let [buf (char-array chunk-size)
s (.read rdr buf)]
(when (pos? s)
(java.nio.CharBuffer/wrap buf 0 s))))
(defn chunk-seq [rdr]
(when-let [chunk (next-chunk rdr)]
(cons chunk (lazy-seq (chunk-seq rdr)))))
Clojure REPL
markdown关键字 clojure-repl
user=> (defn f [x y]
#_=> (+ x y))
#'user/f
user=> (f 5 7)
12
user=> nil
nil
Hy
markdown关键字 hy
#!/usr/bin/env hy
(import os.path)
(import hy.compiler)
(import hy.core)
;; absolute path for Hy core
(setv *core-path* (os.path.dirname hy.core.--file--))
(defn collect-macros [collected-names opened-file]
(while True
(try
(let [data (read opened-file)]
(if (and (in (first data)
'(defmacro defmacro/g! defn))
(not (.startswith (second data) "_")))
(.add collected-names (second data))))
(except [e EOFError] (break)))))
(defmacro core-file [filename]
`(open (os.path.join *core-path* ~filename)))
(defmacro contrib-file [filename]
`(open (os.path.join *core-path* ".." "contrib" ~filename)))
(defn collect-core-names []
(doto (set)
(.update hy.core.language.*exports*)
(.update hy.core.shadow.*exports*)
(collect-macros (core-file "macros.hy"))
(collect-macros (core-file "bootstrap.hy"))))
Lisp
markdown关键字 lisp
#!/usr/bin/env csi
(defun prompt-for-cd ()
"Prompts
for CD"
(prompt-read "Title" 1.53 1 2/4 1.7 1.7e0 2.9E-4 +42 -7 #b001 #b001/100 #o777 #O777 #xabc55 #c(0 -5.6))
(prompt-read "Artist" &rest)
(or (parse-integer (prompt-read "Rating") :junk-allowed t) 0)
(if x (format t "yes") (format t "no" nil) ;and here comment
)
;; second line comment
'(+ 1 2)
(defvar *lines*) ; list of all lines
(position-if-not #'sys::whitespacep line :start beg))
(quote (privet 1 2 3))
'(hello world)
(* 5 7)
(1 2 34 5)
(:use "aaaa")
(let ((x 10) (y 20))
(print (+ x y))
)
Scheme
markdown关键字 scheme
;; Calculation of Hofstadter's male and female sequences as a list of pairs
(define (hofstadter-male-female n)
(letrec ((female (lambda (n)
(if (= n 0)
1
(- n (male (female (- n 1)))))))
(male (lambda (n)
(if (= n 0)
0
(- n (female (male (- n 1))))))))
(let loop ((i 0))
(if (> i n)
'()
(cons (cons (female i)
(male i))
(loop (+ i 1)))))))
(hofstadter-male-female 8)
(define (find-first func lst)
(call-with-current-continuation
(lambda (return-immediately)
(for-each (lambda (x)
(if (func x)
(return-immediately x)))
lst)
#f)))
logs
Apache Access Log
markdown关键字 accesslog
20.164.151.111 - - [20/Aug/2015:22:20:18 -0400] "GET /mywebpage/index.php HTTP/1.1" 403 772 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.220 Safari/535.1"
markup
AsciiDoc
markdown关键字 asciidoc
Hello, World!
============
Author Name, <author@domain.foo>
you can write text http://example.com[with links], optionally
using an explicit link:http://example.com[link prefix].
* single quotes around a phrase place 'emphasis'
** alternatively, you can put underlines around a phrase to add _emphasis_
* astericks around a phrase make the text *bold*
* pluses around a phrase make it +monospaced+
* `smart' quotes using a leading backtick and trailing single quote
** use two of each for double ``smart'' quotes
- escape characters are supported
- you can escape a quote inside emphasized text like 'here\'s johnny!'
term:: definition
another term:: another definition
// this is just a comment
Let's make a break.
'''
////
we'll be right with you
after this brief interruption.
////
== We're back!
Want to see a image::images/tiger.png[Tiger]?
.Nested highlighting
++++
<this_is inline="xml"></this_is>
++++
____
asciidoc is so powerful.
____
another quote:
[quote, Sir Arthur Conan Doyle, The Adventures of Sherlock Holmes]
____
When you have eliminated all which is impossible, then whatever remains, however improbable, must be the truth.
____
Getting Literal
---------------
want to get literal? prefix a line with a space.
....
I'll join that party, too.
....
. one thing (yeah!)
. two thing `i can write code`, and `more` wipee!
NOTE: AsciiDoc is quite cool, you should try it.
Markdown
markdown关键字 markdown
# hello world
you can write text [with links](http://example.com) inline or [link references][1].
* one _thing_ has *em*phasis
* two __things__ are **bold**
[1]: http://example.com
---
hello world
===========
<this_is inline="xml"></this_is>
> markdown is so cool
so are code segments
1. one thing (yeah!)
2. two thing `i can write code`, and `more` wipee!
LaTeX
% !TeX encoding = utf8
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{amsfonts}
\usepackage{xparse}
\usepackage{mathtools}
\newcommand\hi[1]{Hello #1!}
\ExplSyntaxOn
% Convert a roman number into an arabic one
\NewDocumentCommand \romantonum { m }
{ \int_from_roman:n { #1 } }
\ExplSyntaxOff
\begin{document}
\section{Highlight.js}
\hi{you}
This is \LaTeX\ syntax highlighted by \verb|highlight.js|.
You should look at section~\ref{sec:fermat} next.
Did you know that MDCLXI is \romantonum{MDCLXI}? % It's 1661.
\subsection{Fermat}\label{sec:fermat}
I have a wonderful proof that
\[
a^n + b^n \neq c^n
\]
for \(a, b, c, d, n \in \mathbb{Z}_+\) with \(n > 2\).
Sadly, it is too large to fit in this code snippet.
\end{document}
protocols
Cap’n Proto
markdown关键字 capnp
@0xdbb9ad1f14bf0b36; # unique file ID, generated by `capnp id`
struct Person {
name @0 :Text;
birthdate @3 :Date;
email @1 :Text;
phones @2 :List(PhoneNumber);
struct PhoneNumber {
number @0 :Text;
type @1 :Type;
enum Type {
mobile @0;
home @1;
work @2;
}
}
}
struct Date {
year @0 :Int16;
month @1 :UInt8;
day @2 :UInt8;
flags @3 :List(Bool) = [ true, false, false, true ];
}
interface Node {
isDirectory @0 () -> (result :Bool);
}
interface Directory extends(Node) {
list @0 () -> (list: List(Entry));
struct Entry {
name @0 :Text;
node @1 :Node;
}
create @1 (name :Text) -> (file :File);
mkdir @2 (name :Text) -> (directory :Directory)
open @3 (name :Text) -> (node :Node);
delete @4 (name :Text);
link @5 (name :Text, node :Node);
}
interface File extends(Node) {
size @0 () -> (size: UInt64);
read @1 (startAt :UInt64 = 0, amount :UInt64 = 0xffffffffffffffff)
-> (data: Data);
# Default params = read entire file.
write @2 (startAt :UInt64, data :Data);
truncate @3 (size :UInt64);
}
HTTP
markdown关键字 http
POST /task?id=1 HTTP/1.1
Host: example.org
Content-Type: application/json; charset=utf-8
Content-Length: 137
{
"status": "ok",
"extended": true,
"results": [
{"value": 0, "type": "int64"},
{"value": 1.0e+3, "type": "decimal"}
]
}
JSON
markdown关键字 json
[
{
"title": "apples",
"count": [
12000,
20000
],
"description": {
"text": "...",
"sensitive": false
}
},
{
"title": "oranges",
"count": [
17500,
null
],
"descriptionBoss C": {
"text": "...",
"sensitive": false
}
}
]
Protocol Buffers
markdown关键字 protobuf
package languages.protobuf;
option java_package = "org.highlightjs.languages.protobuf";
message Customer {
required int64 customer_id = 1;
optional string name = 2;
optional string real_name = 3 [default = "Anonymous"];
optional Gender gender = 4;
repeated string email_addresses = 5;
optional bool is_admin = 6 [default = false]; // or should this be a repeated field in Account?
enum Gender {
MALE = 1,
FEMALE = 2
}
}
service CustomerSearch {
rpc FirstMatch(CustomerRequest) returns (CustomerResponse);
rpc AllMatches(CustomerRequest) returns (CustomerResponse);
}
Thrift
markdown关键字 thrift
namespace * thrift.test
/**
* Docstring!
*/
enum Numberz
{
ONE = 1,
TWO,
THREE,
FIVE = 5,
SIX,
EIGHT = 8
}
const Numberz myNumberz = Numberz.ONE;
// the following is expected to fail:
// const Numberz urNumberz = ONE;
typedef i64 UserId
struct Msg
{
1: string message,
2: i32 type
}
struct NestedListsI32x2
{
1: list<list<i32>> integerlist
}
struct NestedListsI32x3
{
1: list<list<list<i32>>> integerlist
}
service ThriftTest
{
void testVoid(),
string testString(1: string thing),
oneway void testInit()
}
作者: 忞翛
出处: https://www.lczmx.top/杂货店/c9ae7dbc8f05/
版权: 本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。
本站访问人数:人次 / 访问量:次