#!/bin/bash # Fibonacci numbers # Writes an infinite series to stdout, one entry per line function fib() { local a=1 local b=1 while true ; do echo $a local tmp=$a a=$(( $a + $b )) b=$tmp done } # output the 10th element of the series and halt fib | head -10 | tail -1
#!/bin/bash # Fibonacci numbers # Writes an infinite series to stdout, one entry per line function fib() { local a=1 local b=1 while true ; do echo $a local tmp=$a a=$(( $a + $b )) b=$tmp done } # output the 10th element of the series and halt fib | /usr/bin/*head -10 | tail -1
# Comment local $x = ${#x[@]} # Previous is not a comment # A comment
#include <stdio.h> /* the n-th fibonacci number. */ unsigned int fib(unsigned int n) { unsigned int a = 1, b = 1; unsigned int tmp; while (--n >= 0) { tmp = a; a += b; b = tmp; } return a; } main() { printf("%u", fib(10)); }
#include <stdio.h> /* the nth fibonacci number. */ uint32 fib(unsigned int n) { uint32 a = 1, b = 1; uint32 tmp; while (--n >= 0) { tmp = a; a += b; b = tmp; } return a; } void main() { size_t size = sizeof(wchar_t); ASSERT_EQ(size, 1); printf("%u", fib(10)); } #define ZERO 0 /* a multiline comment */
#include <iostream> using namespace std; //! fibonacci numbers with gratuitous use of templates. //! \param n an index into the fibonacci series //! \param fib0 element 0 of the series //! \return the nth element of the fibonacci series template <class T> T fib(unsigned int n, const T& fib0) { T a(fib0), b(fib0); for (; n; --n) { T tmp(a); a += b; b = tmp; } return a; } int main(int argc, char **argv) { cout << fib(10, 1U); }
#include <iostream> using namespace std; //! fibonacci numbers with gratuitous use of templates. //! \param n an index into the fibonacci series //! \param fib0 element 0 of the series //! \return the nth element of the fibonacci series template <class T> T fib(int n, const T& fib0) { T a(fib0), b(fib0); while (--n >= 0) { T tmp(a); a += b; b = tmp; } return a; } int main(int argc, char **argv) { cout << fib(10, 1U); }
package foo; import java.util.Iterator; /** * the fibonacci series implemented as an Iterable. */ public final class Fibonacci implements Iterable<Integer> { /** the next and previous members of the series. */ private int a = 1, b = 1; @Override public Iterator<Integer> iterator() { return new Iterator<Integer>() { /** the series is infinite. */ public boolean hasNext() { return true; } public Integer next() { int tmp = a; a += b; b = tmp; return a; } public void remove() { throw new UnsupportedOperationException(); } }; } /** * the n<sup>th</sup> element of the given series. * @throws NoSuchElementException if there are less than n elements in the * given Iterable's {@link Iterable#iterator iterator}. */ public static <T> T nth(int n, Iterable<T> iterable) { Iterator<? extends T> it = iterable.iterator(); while (--n > 0) { it.next(); } return it.next(); } public static void main(String[] args) { System.out.print(nth(10, new Fibonacci())); } }
(first line shown is line 12)
package foo; import java.util.Iterator; /** * the fibonacci series implemented as an Iterable. */ public final class Fibonacci implements Iterable<Integer> { /** the next and previous members of the series. */ private int a = 1, b = 1; @Override public Iterator<Integer> iterator() { return new Iterator<Integer>() { /** the series is infinite. */ public boolean hasNext() { return true; } public Integer next() { int tmp = a; a += b; b = tmp; return a; } public void remove() { throw new UnsupportedOperationException(); } }; } /** * the n<sup>th</sup> element of the given series. * @throws NoSuchElementException if there are less than n elements in the * given Iterable's {@link Iterable#iterator iterator}. */ public static <T> T nth(int n, Iterable<T> iterable) { Iterator<? extends T> in = iterable.iterator(); while (--n > 0) { in.next(); } return in.next(); } public static void main(String[] args) { System.out.print(nth(10, new Fibonacci())); } } # not a java comment # not keywords: static_cast and namespace
/** * nth element in the fibonacci series. * @param n >= 0 * @return the nth element, >= 0. */ function fib(n) { var a = 1, b = 1; var tmp; while (--n >= 0) { tmp = a; a += b; b = tmp; } return a; } document.write(fib(10));
/foo/; // a slash starting a line treated as a regexp beginning "foo".match(/fo+$/); // this line comment not treated as a regular expressions "foo /bar/".test(/"baz"/); // test string and regexp boundaries var division = /\b\d+\/\d+/g; // test char sets and escaping of specials var allSpecials = /([^\(\)\[\]\{\}\-\?\+\*\.\^\$\/]+)\\/; var slashInCharset = /[^/]/g, notCloseSq = /[^\]]/; // test that slash used in numeric context treated as an operator 1 / 2; 1. / x; x / y; (x) / y; 1 /* foo */ / 2; 1 /* foo *// 2; 1/2; 1./x; x/y; (x)/y; // test split over two lines. line comment should not fool it 1// /2; x++/y; x--/y; x[y] / z; f() / n; // test that slash after non postfix operator is start of regexp log('matches = ' + /foo/.test(foo)); // test keyword preceders return /a regexp/; division = notreturn / not_a_regexp / 2; // keyword suffix does not match // & not used as prefix operator in javascript but this should still work &/foo/; extends = /extends/;
/foo/; // a slash starting a line treated as a regexp beginning "foo".match(/fo+$/); // this line comment not treated as a regular expressions "foo /bar/".test(/"baz"/); // test string and regexp boundaries var division = /\b\d+\/\d+/g; // test char sets and escaping of specials var allSpecials = /([^\(\)\[\]\{\}\-\?\+\*\.\^\$\/]+)\\/; var slashInCharset = /[^/]/g, notCloseSq = /[^\]]/; // test that slash used in numeric context treated as an operator 1 / 2; 1. / x; x / y; (x) / y; 1 /* foo */ / 2; 1 /* foo *// 2; 1/2; 1./x; x/y; (x)/y; // test split over two lines. line comment should not fool it 1// /2; x++/y; x--/y; x[y] / z; f() / n; // test that slash after non postfix operator is start of regexp log('matches = ' + /foo/.test(foo)); // test keyword preceders return /a regexp/; division = notreturn / not_a_regexp / 2; // keyword suffix does not match // & not used as prefix operator in javascript but this should still work &/foo/; extends = /extends/;
class Animal constructor: (@name) -> move: (meters, loc) -> alert @name + " moved " + meters + "m." travel: (path...) -> for place in path @move place.distance, place.location class Horse extends Animal ### @param name Horse name @param jumper Jumping ability ### constructor: (name, jumper) -> super name @capable = jumper step: -> alert ''' Step, step... ''' jump: -> @capable move: (meters, where) -> switch where when "ground" @step() super meters when "hurdle" super meters if @jump() # Create horse tom = new Horse "Tommy", yes street = location: "ground" distance: 12 car = location: "hurdle" distance: 2 ### Tell him to travel: 1. through the street 2. over the car ### tom.travel street, car
#!/usr/bin/perl use strict; use integer; # the nth element of the fibonacci series # param n - an int >= 0 # return an int >= 0 sub fib($) { my $n = shift, $a = 1, $b = 1; ($a, $b) = ($a + $b, $a) until (--$n < 0); return $a; } print fib(10);
#!/usr/bin/python2.4 def fib(): ''' a generator that produces the elements of the fibonacci series ''' a = 1 b = 1 while True: a, b = a + b, a yield a def nth(series, n): ''' returns the nth element of a series, consuming the earlier elements of the series ''' for x in series: n = n - 1 if n <= 0: return x print nth(fib(), 10)
#!/usr/bin/python2.4 def fib(): ''' a generator that produces the fibonacci series's elements ''' a = 1 b = 1 while True: a, b = a + b, a yield a def nth(series, n): ''' returns the nth element of a series, consuming the series' earlier elements. ''' for x in series: n -= 1 if n <= 0: return x print nth(fib(), 10) /* not a comment and not keywords: null char true */
/* A multi-line * comment */ 'Another string /* Isn\'t a comment', "A string */" -- A line comment SELECT * FROM users WHERE id IN (1, 2.0, +30e-1); -- keywords are case-insensitive. -- Note: user-table is a single identifier, not a pair of keywords select * from user-table where id in (x, y, z);
<!DOCTYPE series PUBLIC "fibonacci numbers"> <series.root base="1" step="s(n-2) + s(n-1)"> <element i="0">1</element> <element i="1">1</element> <element i="2">2</element> <element i="3">3</element> <element i="4">5</element> <element i="5">8</element> ... </series.root>
<html> <head> <title>Fibonacci number</title> <style><!-- BODY { text-decoration: blink } --></style> <script src="foo.js"></script> <script src="bar.js"></script> </head> <body> <noscript> <dl> <dt>Fibonacci numbers</dt> <dd>1</dd> <dd>1</dd> <dd>2</dd> <dd>3</dd> <dd>5</dd> <dd>8</dd> … </dl> </noscript> <script type="text/javascript"><!-- function fib(n) { var a = 1, b = 1; var tmp; while (--n >= 0) { tmp = a; a += b; b = tmp; } return a; } document.writeln(fib(10)); // --> </script> </body> </html>
Fibonacci Numbers <noscript> <dl style="list-style: disc"> <dt>Fibonacci numbers</dt> <dd>1</dd> <dd>1</dd> <dd>2</dd> <dd>3</dd> <dd>5</dd> <dd>8</dd> … </dl> </noscript> <script type="text/javascript"><!-- function fib(n) { var a = 1, b = 1; var tmp; while (--n >= 0) { tmp = a; a += b; b = tmp; } return a; } document.writeln(fib(10)); // --> </script>
Test fails due to "Code injected by live server".
<xhtml> <head> <title>Fibonacci number</title> </head> <body onload="alert(fib(10))"> <script type="text/javascript"><![CDATA[ function fib(n) { var a = 1, b = 1; var tmp; while (--n >= 0) { tmp = a; a += b; b = tmp; } return a; } ]]> </script> </body> </xhtml>
<html> <head> <title><?= 'Fibonacci numbers' ?></title> <?php // PHP has a plethora of comment types /* What is a "plethora"? */ function fib($n) { # I don't know. $a = 1; $b = 1; while (--$n >= 0) { echo "$a\n"; $tmp = $a; $a += $b; $b = $tmp; } } ?> </head> <body> <?= fib(10) ?> </body> </html>
<!-- Test elements and attributes with namespaces --> <xsl:stylesheet xml:lang="en"> <xsl:template match="."> <xsl:text>Hello World</xsl:text> </xsl:template> </xsl:stylesheet>
// ends with line comment token //
Issue #4: JavaScript Snippets wrapped in HTML SCRIPT tags hides/destroys inner content
The fact that the script tag was not closed properly was causing PR_splitSourceNodes to end without emitting the script contents.
<script type="text/javascript"> var savedTarget=null; // The target layer (effectively vidPane) var orgCursor=null; // The original mouse style so we can restore it var dragOK=false; // True if we're allowed to move the element under mouse var dragXoffset=0; // How much we've moved the element on the horozontal var dragYoffset=0; // How much we've moved the element on the verticle vidPaneID = document.getElementById('vidPane'); // Our movable layer vidPaneID.style.top='75px'; // Starting location horozontal vidPaneID.style.left='75px'; // Starting location verticle <script>
Issue #8: If tabs are used to indent code inside <pre>, IE6 and 7 won't honor them after the script runs.
Code indented with tabs will be shown aligned to the left margin instead of the proper indenting shown in Firefox.
I'm using Revision 20 of prettify.js, IE 6.0.29.00 in English and IE 7.0.5730.11 in Spanish.
one Two three Four five | Six seven Eight nine Ten | eleven Twelve thirteen Fourteen fifteen |
<br>
as newline//comment
int main(int argc, char **argv) {}
<!-- There's an HTML comment in my comment --> <p>And another one inside the end tag</p>
<html> <head>
Issue #21: To test this bug, disable overriding of _pr_isIE6 in js/test_base.js by putting #testcopypaste on the end of the URL and reloading the page, then copy and paste the above into Notepad.
<html> <head> <title>Test</title> </head> </html>
01: // This is a line of code 02: /* Multiline comments can 03: * span over and around 04: * line markers And can even be interrupted by inline code annotations 05: */ 06: class MyClass extends Foo { 07: public static void main(String... argv) { 08: System.out.print("Hello World"); 09: } 10: }
os=require("os") math=require("math") -- Examples from the language reference a = 'alo\n123"' a = "alo\n123\"" a = '\97lo\10\04923"' a = [[alo 123"]] a = [==[ alo 123"]==] 3 3.0 3.1416 314.16e-2 0.31416E1 0xff 0x56 -- Some comments that demonstrate long brackets double_quoted = "Not a long bracket [=[" --[=[ quoting out [[ foo ]] [==[does not end comment either]==] ]=] past_end_of_comment --]=] -- Example code courtesy Joseph Harmbruster # do local function ssgeneral(t, n, before) for _, h in ipairs(incs) do for i = h + 1, n do local v = t[i] for j = i - h, 1, -h do local testval = t[j] if not before(v, testval) then break end t[i] = testval; i = j end t[i] = v end end return t end function shellsort(t, before, n) n = n or #t if not before or before == "<" then return ssup(t, n) elseif before == ">" then return ssdown(t, n) else return ssgeneral(t, n, before) end end return shellsort end
Imports System Class [class] Shared Sub [shared](ByVal [boolean] As Boolean) If [boolean] Then Console.WriteLine("true") Else Console.WriteLine("false") End If End Sub End Class ' Comment ‘ Second Line comment with a smart quote _ continued line using VB6 syntax. Module [module] Sub Main() [class].[shared](True) ' This prints out: ". Console.WriteLine("""") ' This prints out: a"b. Console.WriteLine("a""b") ' This prints out: a. Console.WriteLine("a"c) ' This prints out: ". Console.WriteLine(""""c) REM an old-style comment REMOVE(not_a_comment) End Sub End Module Dim d As Date d = # 8/23/1970 3:45:39AM # d = # 8/23/1970 # d = # 3:45:39AM # d = # 3:45:39 # d = # 13:45:39 # d = # 13:45:39PM # Dim n As Float n = (0.0, .99F, 1.0E-2D, 1.0E+3D, .5E4, 1E3R, 4D) Dim i As Integer i = (0, 123, 45L, &HA0I, &O177S)
-- A comment Not(--"a comment") Also.not(--(A.comment)) module Foo(bar) where import Blah import BlahBlah(blah) import Monads(Exception(..), FIO(..),unFIO,handle,runFIO,fixFIO,fio, write,writeln,HasNext(..),HasOutput(..)) {- nested comments - don't work {-yet-} -} instance Thingy Foo where a = b data Foo :: (* -> * -> *) -> * > * -> * where Nil :: Foo a b c Cons :: a b c -> Foo abc -> Foo a b c str = "Foo\\Bar" char = 'x' Not.A.Char = 'too long' -- Don't barf. Show that 't is a lexical error. (ident, ident', Fo''o.b'ar) (0, 12, 0x45, 0xA7, 0o177, 0O377, 0.1, 1.0, 1e3, 0.5E-3, 1.0E+45)
TODO: handle nested (* (* comments *) *)
properly.
(* * Print the 10th fibonacci number *) //// A line comment "A string";; (0, 125, 0xa0, -1.0, 1e6, 1.2e-3);; // number literals #if fibby let rec fib = function (0, a, _) -> a | (n, a, b) -> fib(n - 1, a + b, a) in print_int(fib(10, 1, 1));; #endif let zed = 'z' let f' x' = x' + 1
; -*- mode: lisp -*- (defun back-six-lines () (interactive) (forward-line -6)) (defun forward-six-lines () (interactive) (forward-line 6)) (global-set-key "\M-l" 'goto-line) (global-set-key "\C-z" 'advertised-undo) (global-set-key [C-insert] 'clipboard-kill-ring-save) (global-set-key [S-insert] 'clipboard-yank) (global-set-key [C-up] 'back-six-lines) (global-set-key [C-down] 'forward-six-lines) (setq visible-bell t) (setq user-mail-address "foo@bar.com") (setq default-major-mode 'text-mode) (setenv "TERM" "emacs") (c-set-offset 'case-label 2) (setq c-basic-offset 2) (setq perl-indent-level 0x2) (setq delete-key-deletes-forward t) (setq indent-tabs-mode nil) ;; Text mode (add-hook 'text-mode-hook '(lambda () (turn-on-auto-fill) ) ) ;; Fundamental mode (add-hook 'fundamental-mode-hook '(lambda () (turn-on-auto-fill) ) ) ;; Define and cond are keywords in scheme (define (sqt x) (sqrt-iter 1.0 2.0 x))
throw new RuntimeException("Element [" + element.getName() + "] missing attribute."); variable++;
message SearchRequest { required string query = 1; optional int32 page_number = 2; optional int32 result_per_page = 3 [default = 10]; enum Corpus { UNIVERSAL = 0; WEB = 1; IMAGES = 2; LOCAL = 3; NEWS = 4; PRODUCTS = 5; VIDEO = 6; } optional Corpus corpus = 4 [default = UNIVERSAL]; }
#summary hello world #labels HelloWorld WikiWord Hiya [http://www.google.com/?q=WikiSyntax+site:code.google.com WikiSyntax] Lorem Ipsum `while (1) print("blah blah");` * Bullet * Points * NestedBullet ==DroningOnAndOn== {{{ // Some EmbeddedSourceCode void main() { Print('hello world'); } }}} {{{ <!-- Embedded XML --> <foo bar="baz"><boo /><foo> }}}
<!-- @charset('UTF-8'); /** A url that is not quoted. */ @import(url(/more-styles.css)); HTML { content-before: 'hello\20'; content-after: 'w\6f rld'; -moz-spiff: inherit !important } /* Test units on numbers. */ BODY { margin-bottom: 4px; margin-left: 3in; margin-bottom: 0; margin-top: 5% } /** Test number literals and quoted values. */ TABLE.foo TR.bar A#visited { color: #001123; font-family: "monospace" } /** bolder is not a name, so should be plain. !IMPORTANT is a keyword * regardless of case. */ blink { text-decoration: BLINK !IMPORTANT; font-weight: bolder } /* Empty url() was causing infinite recursion */ a { background-image: url(); } p#featured{background:#fea} -->
<style type='text/css'> /* desert scheme ported from vim to google prettify */ code.prettyprint { display: block; padding: 2px; border: 1px solid #888; background-color: #333; } .str { color: #ffa0a0; } /* string - pink */ .kwd { color: #f0e68c; font-weight: bold; } .com { color: #87ceeb; } /* comment - skyblue */ .typ { color: #98fb98; } /* type - lightgreen */ .lit { color: #cd5c5c; } /* literal - darkred */ .pun { color: #fff; } /* punctuation */ .pln { color: #fff; } /* plaintext */ .tag { color: #f0e68c; font-weight: bold; } /* html/xml tag - lightyellow*/ .atn { color: #bdb76b; font-weight: bold; } /* attribute name - khaki*/ .atv { color: #ffa0a0; } /* attribute value - pink */ .dec { color: #98fb98; } /* decimal - lightgreen */ </style>
super(" ");
CODE tag
#One
Two words
CODE tag with preformatted style
#One
Two lines
PRE tag
#One Two lines
PRE+CODE tag
#One
Two lines
XMP tag
CODE tag with BR line break
#One
Two lines
<?xml version="1.0" encoding="UTF-8"?> <kml xmlns="http://www.opengis.net/kml/2.2"> <Placemark> <name>Simple placemark</name> <description Lang="en">Attached to the ground. Intelligently places itself at the height of the underlying terrain.</description> <Point> <coordinates>-122.0822035425683,37.42228990140251,0</coordinates> </Point> </Placemark> </kml>
// The normal string syntax string a = "C:\\"; // is equivalent to a verbatim string string b = @"C:\";
library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; -- A line comment entity foo_entity is generic (-- comment after punc a : natural := 42; x : real := 16#ab.cd#-3 ); port ( clk_i : in std_logic; b_i : in natural range 0 to 100; c_o : out std_logic_vector(5 downto 0); \a "name"\ : out integer -- extended identifier ); end entity foo_entity; architecture foo_architecture of foo_entity is signal bar_s : std_logic_vector(2 downto 0); begin bar_s <= b"101"; dummy_p : process (clk_i) begin if b_i = 1 then c_o <= (others => '0'); elsif rising_edge(clk_i) then c_o <= "1011" & bar_s(1 downto 0); end if; end process dummy_p; end architecture foo_architecture;
application: mirah-lang version: 1 # Here's a comment handlers: - url: /red/* servlet: mysite.server.TeamServlet init_params: teamColor: red bgColor: "#CC0000" name: redteam - url: /blue/* servlet: mysite.server.TeamServlet init_params: teamColor: blue bgColor: "#0000CC" name: blueteam - url: /register/* jsp: /register/start.jsp - url: *.special filter: mysite.server.LogFilterImpl init_params: logType: special
%YAML 1.1 --- !!map { ? !!str "" : !!str "value", ? !!str "explicit key" : !!str "value", ? !!str "simple key" : !!str "value", ? !!seq [ !!str "collection", !!str "simple", !!str "key" ] : !!str "value" }
/* comment 1 */ /* comment 2 */ /* comment / * comment 3 **/ // strings "Hello, World!", "\n", `an-identifier`, `\n`, 'A', '\n', 'aSymbol, """Hello, World""", """Hello,\nWorld""", """Hello, "World"!""", """Hello, \"World\"""" // Numbers 0 0123 0xa0 0XA0L 123 123.45 1.50F 0.50 .50 123e-1 123.45e+1 1.50e2 0.50e-6 .50e+42f // Values false, true, null, this; // Keywords class MyClass; import foo.bar; package baz; // From scala-lang.org/node/242 def act() { var pongCount = 0 loop { react { case Ping => if (pongCount % 1000 == 0) Console.println("Pong: ping "+pongCount) sender ! Pong pongCount = pongCount + 1 case Stop => Console.println("Pong: stop") exit() } } }
package main /* Package of which this program is part. */ import fmt "fmt" // Package implementing formatted I/O. func main() { fmt.Printf("Hello, world; or Καλημέρα κόσμε; or こんにちは 世界\n") // Semicolon inserted here } /* " */ "foo /* " /*/ */ /* ` */ `foo /* ` /*/ */
% Sample comment -module(my_test). -include_lib("my_sample_lib.hrl"). -export([ test/2 ]). %% @doc Define a macro -define(my_macro, Variable). %% @doc My function test(Variables, MoreVariables) -> % Inline comment {ok,Scanned,_} = my_lib:do_stuff(), Variable = fun(V) -> {ok, V} end, try ?my_macro({value, test}) of {value, Result, _} -> {ok, Result} catch Type:Error -> {'error', Type, Error} end.
// Single line comment /* Multi-line (nesting not highlighted properly, sorry) comment */ #![feature(code_prettification)] use std::io::{self, Write}; impl<'a, T: 'a + ?Sized> Foo<'a, 'static> for Bar<'b> where T: Iterator<Item = Box<Fn() -> u32>> { fn something(&mut self) -> u32 { if let Some(ref x) = self.foo("multi li\ne s\tring") { panic!(r"\things is going wrong!"); panic!(r#"Things is "really" goig\n wront!"#); panic!(r##"Raw strings are #"#fancy#"#"##); } } } pub type CowString<'a> = std::cow::Cow<'a, str>; fn main() { let (i, r) = (1u8, 'c'); let s = r#"Take a raw egg, "break" it (or the line), and beat it"#; }