diff options
| author | Georg Brandl <georg@python.org> | 2021-01-18 21:24:00 +0100 |
|---|---|---|
| committer | Georg Brandl <georg@python.org> | 2021-01-18 22:08:36 +0100 |
| commit | 2a3d3a7d5b9c60dedf6638d876161d9563faebcf (patch) | |
| tree | 809c0b4a686db98f5954afa1944404cd9652c6b2 /tests/lexers/red/example2.txt | |
| parent | f0445be718da83541ea3401aad882f3937147263 (diff) | |
| download | pygments-git-examplefiles.tar.gz | |
Move test_examplefiles to new tests/lexers scheme.examplefiles
Diffstat (limited to 'tests/lexers/red/example2.txt')
| -rw-r--r-- | tests/lexers/red/example2.txt | 1008 |
1 files changed, 1008 insertions, 0 deletions
diff --git a/tests/lexers/red/example2.txt b/tests/lexers/red/example2.txt new file mode 100644 index 00000000..ff1ec142 --- /dev/null +++ b/tests/lexers/red/example2.txt @@ -0,0 +1,1008 @@ +---input--- +Red/System [ + Title: "Red/System example file" + Purpose: "Just some code for testing Pygments colorizer" + Language: http://www.red-lang.org/ +] + +#include %../common/FPU-configuration.reds + +; C types + +#define time! long! +#define clock! long! + +date!: alias struct! [ + second [integer!] ; 0-61 (60?) + minute [integer!] ; 0-59 + hour [integer!] ; 0-23 + + day [integer!] ; 1-31 + month [integer!] ; 0-11 + year [integer!] ; Since 1900 + + weekday [integer!] ; 0-6 since Sunday + yearday [integer!] ; 0-365 + daylight-saving-time? [integer!] ; Negative: unknown +] + +#either OS = 'Windows [ + #define clocks-per-second 1000 +][ + ; CLOCKS_PER_SEC value for Syllable, Linux (XSI-conformant systems) + ; TODO: check for other systems + #define clocks-per-second 1000'000 +] + +#import [LIBC-file cdecl [ + + ; Error handling + + form-error: "strerror" [ ; Return error description. + code [integer!] + return: [c-string!] + ] + print-error: "perror" [ ; Print error to standard error output. + string [c-string!] + ] + + + ; Memory management + + make: "calloc" [ ; Allocate zero-filled memory. + chunks [size!] + size [size!] + return: [binary!] + ] + resize: "realloc" [ ; Resize memory allocation. + memory [binary!] + size [size!] + return: [binary!] + ] + ] + + JVM!: alias struct! [ + reserved0 [int-ptr!] + reserved1 [int-ptr!] + reserved2 [int-ptr!] + + DestroyJavaVM [function! [[JNICALL] vm [JVM-ptr!] return: [jint!]]] + AttachCurrentThread [function! [[JNICALL] vm [JVM-ptr!] penv [struct! [p [int-ptr!]]] args [byte-ptr!] return: [jint!]]] + DetachCurrentThread [function! [[JNICALL] vm [JVM-ptr!] return: [jint!]]] + GetEnv [function! [[JNICALL] vm [JVM-ptr!] penv [struct! [p [int-ptr!]]] version [integer!] return: [jint!]]] + AttachCurrentThreadAsDaemon [function! [[JNICALL] vm [JVM-ptr!] penv [struct! [p [int-ptr!]]] args [byte-ptr!] return: [jint!]]] +] + + ;just some datatypes for testing: + + #some-hash + 10-1-2013 + quit + + ;binary: + #{00FF0000} + #{00FF0000 FF000000} + #{00FF0000 FF000000} ;with tab instead of space + 2#{00001111} + 64#{/wAAAA==} + 64#{/wAAA A==} ;with space inside + 64#{/wAAA A==} ;with tab inside + + + ;string with char + {bla ^(ff) foo} + {bla ^(( foo} + ;some numbers: + 12 + 1'000 + 1.2 + FF00FF00h + + ;some tests of hexa number notation with not common ending + [ff00h ff00h] ff00h{} FFh"foo" 00h(1 + 2) (AEh) + +;normal words: +foo char + +;get-word +:foo + +;lit-word: +'foo 'foo + +;multiple comment tests... +1 + 1 +comment "aa" +2 + 2 +comment {aa} +3 + 3 +comment {a^{} +4 + 4 +comment {{}} +5 + 5 +comment { + foo: 6 +} +6 + 6 +comment [foo: 6] +7 + 7 +comment [foo: "[" ] +8 + 8 +comment [foo: {^{} ] +9 + 9 +comment [foo: {boo} ] +10 + 10 +comment 5-May-2014/11:17:34+2:00 +11 + 11 + + +to-integer foo +foo/(a + 1)/b + +call/output reform ['which interpreter] path: copy "" + + version-1.1: 00010001h + + #if type = 'exe [ + push system/stack/frame ;-- save previous frame pointer + system/stack/frame: system/stack/top ;-- @@ reposition frame pointer just after the catch flag +] +push CATCH_ALL ;-- exceptions root barrier +push 0 ;-- keep stack aligned on 64-bit + +---tokens--- +'Red/System [' Generic.Strong +'\n ' Text +'Title:' Generic.Subheading +' ' Text +'"' Literal.String +'Red/System example file' Literal.String +'"' Literal.String +'\n ' Text +'Purpose:' Generic.Subheading +' ' Text +'"' Literal.String +'Just some code for testing Pygments colorizer' Literal.String +'"' Literal.String +'\n ' Text +'Language:' Generic.Subheading +' ' Text +'http://www.red-lang.org/' Name.Decorator +'\n' Text + +']' Generic.Strong +'\n\n' Text + +'#include' Keyword.Namespace +' ' Text +'%../common/FPU-configuration.reds' Name.Decorator +'\n\n' Text + +'; C types\n' Comment + +'\n' Text + +'#define' Keyword.Namespace +' ' Text +'time!' Keyword.Type +' ' Text +'long!' Keyword.Type +'\n' Text + +'#define' Keyword.Namespace +' ' Text +'clock!' Keyword.Type +' ' Text +'long!' Keyword.Type +'\n\n' Text + +'date!:' Generic.Subheading +' ' Text +'alias' Name.Exception +' ' Text +'struct!' Keyword.Type +' ' Text +'[' Generic.Strong +'\n ' Text +'second' Name.Variable +' ' Text +'[' Generic.Strong +'integer!' Keyword.Type +']' Generic.Strong +' ' Text +'; 0-61 (60?)\n' Comment + +' ' Text +'minute' Name.Variable +' ' Text +'[' Generic.Strong +'integer!' Keyword.Type +']' Generic.Strong +' ' Text +'; 0-59\n' Comment + +' ' Text +'hour' Name.Variable +' ' Text +'[' Generic.Strong +'integer!' Keyword.Type +']' Generic.Strong +' ' Text +'; 0-23\n' Comment + +'\n ' Text +'day' Name.Variable +' ' Text +'[' Generic.Strong +'integer!' Keyword.Type +']' Generic.Strong +' ' Text +'; 1-31\n' Comment + +' ' Text +'month' Name.Variable +' ' Text +'[' Generic.Strong +'integer!' Keyword.Type +']' Generic.Strong +' ' Text +'; 0-11\n' Comment + +' ' Text +'year' Name.Variable +' ' Text +'[' Generic.Strong +'integer!' Keyword.Type +']' Generic.Strong +' ' Text +'; Since 1900\n' Comment + +'\n ' Text +'weekday' Name.Variable +' ' Text +'[' Generic.Strong +'integer!' Keyword.Type +']' Generic.Strong +' ' Text +'; 0-6 since Sunday\n' Comment + +' ' Text +'yearday' Name.Variable +' ' Text +'[' Generic.Strong +'integer!' Keyword.Type +']' Generic.Strong +' ' Text +'; 0-365\n' Comment + +' ' Text +'daylight-saving-time?' Name.Variable +' ' Text +'[' Generic.Strong +'integer!' Keyword.Type +']' Generic.Strong +' ' Text +'; Negative: unknown\n' Comment + +']' Generic.Strong +'\n\n' Text + +'#either' Keyword.Namespace +' ' Text +'OS' Name.Variable +' ' Text +'=' Operator +' ' Text +"'Windows" Name.Variable.Instance +' ' Text +'[' Generic.Strong +'\n ' Text +'#define' Keyword.Namespace +' ' Text +'clocks-per-second' Name.Variable +' ' Text +'1000' Literal.Number +'\n' Text + +']' Generic.Strong +'[' Generic.Strong +'\n ' Text +'; CLOCKS_PER_SEC value for Syllable, Linux (XSI-conformant systems)\n' Comment + +' ' Text +'; TODO: check for other systems\n' Comment + +' ' Text +'#define' Keyword.Namespace +' ' Text +'clocks-per-second' Name.Variable +' ' Text +"1000'000" Literal.Number +'\n' Text + +']' Generic.Strong +' \n\n' Text + +'#import' Keyword.Namespace +' ' Text +'[' Generic.Strong +'LIBC-file' Name.Variable +' ' Text +'cdecl' Keyword.Namespace +' ' Text +'[' Generic.Strong +'\n\n ' Text +'; Error handling\n' Comment + +'\n ' Text +'form-error:' Generic.Subheading +' ' Text +'"' Literal.String +'strerror' Literal.String +'"' Literal.String +' ' Text +'[' Generic.Strong +' ' Text +'; Return error description.\n' Comment + +' ' Text +'code' Name.Variable +' ' Text +'[' Generic.Strong +'integer!' Keyword.Type +']' Generic.Strong +'\n ' Text +'return:' Generic.Subheading +' ' Text +'[' Generic.Strong +'c-string!' Keyword.Type +']' Generic.Strong +'\n ' Text +']' Generic.Strong +'\n ' Text +'print-error:' Generic.Subheading +' ' Text +'"' Literal.String +'perror' Literal.String +'"' Literal.String +' ' Text +'[' Generic.Strong +' ' Text +'; Print error to standard error output.\n' Comment + +' ' Text +'string' Name.Variable +' ' Text +'[' Generic.Strong +'c-string!' Keyword.Type +']' Generic.Strong +'\n ' Text +']' Generic.Strong +'\n\n\n ' Text +'; Memory management\n' Comment + +'\n ' Text +'make:' Generic.Subheading +' ' Text +'"' Literal.String +'calloc' Literal.String +'"' Literal.String +' ' Text +'[' Generic.Strong +' ' Text +'; Allocate zero-filled memory.\n' Comment + +' ' Text +'chunks' Name.Variable +' ' Text +'[' Generic.Strong +'size!' Keyword.Type +']' Generic.Strong +'\n ' Text +'size' Name.Variable +' ' Text +'[' Generic.Strong +'size!' Keyword.Type +']' Generic.Strong +'\n ' Text +'return:' Generic.Subheading +' ' Text +'[' Generic.Strong +'binary!' Keyword.Type +']' Generic.Strong +'\n ' Text +']' Generic.Strong +'\n ' Text +'resize:' Generic.Subheading +' ' Text +'"' Literal.String +'realloc' Literal.String +'"' Literal.String +' ' Text +'[' Generic.Strong +' ' Text +'; Resize memory allocation.\n' Comment + +' ' Text +'memory' Name.Variable +' ' Text +'[' Generic.Strong +'binary!' Keyword.Type +']' Generic.Strong +'\n ' Text +'size' Name.Variable +' ' Text +'[' Generic.Strong +'size!' Keyword.Type +']' Generic.Strong +'\n ' Text +'return:' Generic.Subheading +' ' Text +'[' Generic.Strong +'binary!' Keyword.Type +']' Generic.Strong +'\n ' Text +']' Generic.Strong +'\n ' Text +']' Generic.Strong +'\n \n ' Text +'JVM!:' Generic.Subheading +' ' Text +'alias' Name.Exception +' ' Text +'struct!' Keyword.Type +' ' Text +'[' Generic.Strong +'\n ' Text +'reserved0' Name.Variable +' ' Text +'[' Generic.Strong +'int-ptr!' Keyword.Type +']' Generic.Strong +'\n ' Text +'reserved1' Name.Variable +' ' Text +'[' Generic.Strong +'int-ptr!' Keyword.Type +']' Generic.Strong +'\n ' Text +'reserved2' Name.Variable +' ' Text +'[' Generic.Strong +'int-ptr!' Keyword.Type +']' Generic.Strong +'\n \n ' Text +'DestroyJavaVM' Name.Variable +' ' Text +'[' Generic.Strong +'function!' Keyword.Type +' ' Text +'[' Generic.Strong +'[' Generic.Strong +'JNICALL' Keyword.Namespace +']' Generic.Strong +' ' Text +'vm' Name.Variable +' ' Text +'[' Generic.Strong +'JVM-ptr!' Keyword.Type +']' Generic.Strong +' ' Text +'return:' Generic.Subheading +' ' Text +'[' Generic.Strong +'jint!' Keyword.Type +']' Generic.Strong +']' Generic.Strong +']' Generic.Strong +'\n ' Text +'AttachCurrentThread' Name.Variable +' ' Text +'[' Generic.Strong +'function!' Keyword.Type +' ' Text +'[' Generic.Strong +'[' Generic.Strong +'JNICALL' Keyword.Namespace +']' Generic.Strong +' ' Text +'vm' Name.Variable +' ' Text +'[' Generic.Strong +'JVM-ptr!' Keyword.Type +']' Generic.Strong +' ' Text +'penv' Name.Variable +' ' Text +'[' Generic.Strong +'struct!' Keyword.Type +' ' Text +'[' Generic.Strong +'p' Name.Variable +' ' Text +'[' Generic.Strong +'int-ptr!' Keyword.Type +']' Generic.Strong +']' Generic.Strong +']' Generic.Strong +' ' Text +'args' Name.Variable +' ' Text +'[' Generic.Strong +'byte-ptr!' Keyword.Type +']' Generic.Strong +' ' Text +'return:' Generic.Subheading +' ' Text +'[' Generic.Strong +'jint!' Keyword.Type +']' Generic.Strong +']' Generic.Strong +']' Generic.Strong +'\n ' Text +'DetachCurrentThread' Name.Variable +' ' Text +'[' Generic.Strong +'function!' Keyword.Type +' ' Text +'[' Generic.Strong +'[' Generic.Strong +'JNICALL' Keyword.Namespace +']' Generic.Strong +' ' Text +'vm' Name.Variable +' ' Text +'[' Generic.Strong +'JVM-ptr!' Keyword.Type +']' Generic.Strong +' ' Text +'return:' Generic.Subheading +' ' Text +'[' Generic.Strong +'jint!' Keyword.Type +']' Generic.Strong +']' Generic.Strong +']' Generic.Strong +'\n ' Text +'GetEnv' Name.Variable +' ' Text +'[' Generic.Strong +'function!' Keyword.Type +' ' Text +'[' Generic.Strong +'[' Generic.Strong +'JNICALL' Keyword.Namespace +']' Generic.Strong +' ' Text +'vm' Name.Variable +' ' Text +'[' Generic.Strong +'JVM-ptr!' Keyword.Type +']' Generic.Strong +' ' Text +'penv' Name.Variable +' ' Text +'[' Generic.Strong +'struct!' Keyword.Type +' ' Text +'[' Generic.Strong +'p' Name.Variable +' ' Text +'[' Generic.Strong +'int-ptr!' Keyword.Type +']' Generic.Strong +']' Generic.Strong +']' Generic.Strong +' ' Text +'version' Name.Variable +' ' Text +'[' Generic.Strong +'integer!' Keyword.Type +']' Generic.Strong +' ' Text +'return:' Generic.Subheading +' ' Text +'[' Generic.Strong +'jint!' Keyword.Type +']' Generic.Strong +']' Generic.Strong +']' Generic.Strong +'\n ' Text +'AttachCurrentThreadAsDaemon' Name.Variable +' ' Text +'[' Generic.Strong +'function!' Keyword.Type +' ' Text +'[' Generic.Strong +'[' Generic.Strong +'JNICALL' Keyword.Namespace +']' Generic.Strong +' ' Text +'vm' Name.Variable +' ' Text +'[' Generic.Strong +'JVM-ptr!' Keyword.Type +']' Generic.Strong +' ' Text +'penv' Name.Variable +' ' Text +'[' Generic.Strong +'struct!' Keyword.Type +' ' Text +'[' Generic.Strong +'p' Name.Variable +' ' Text +'[' Generic.Strong +'int-ptr!' Keyword.Type +']' Generic.Strong +']' Generic.Strong +']' Generic.Strong +' ' Text +'args' Name.Variable +' ' Text +'[' Generic.Strong +'byte-ptr!' Keyword.Type +']' Generic.Strong +' ' Text +'return:' Generic.Subheading +' ' Text +'[' Generic.Strong +'jint!' Keyword.Type +']' Generic.Strong +']' Generic.Strong +']' Generic.Strong +'\n' Text + +']' Generic.Strong +'\n\n ' Text +';just some datatypes for testing:\n' Comment + +' \n ' Text +'#some-hash' Name.Label +'\n ' Text +'10-1-2013' Literal.String.Other +'\n ' Text +'quit' Name.Exception +'\n \n ' Text +';binary:\n' Comment + +' ' Text +'#{00FF0000}' Literal.Number.Hex +'\n ' Text +'#{00FF0000 FF000000}' Literal.Number.Hex +'\n ' Text +'#{00FF0000\tFF000000}' Literal.Number.Hex +' ' Text +';with tab instead of space\n' Comment + +' ' Text +'2#{' Literal.Number.Hex +'00001111' Literal.Number.Hex +'}' Literal.Number.Hex +'\n ' Text +'64#{/wAAAA==}' Literal.Number.Hex +'\n ' Text +'64#{/wAAA A==}' Literal.Number.Hex +' ' Text +';with space\t inside\n' Comment + +' ' Text +'64#{/wAAA\tA==}' Literal.Number.Hex +' ' Text +';with tab inside\n' Comment + +' \n \n ' Text +';string with char\n' Comment + +' ' Text +'{' Literal.String +'bla ' Literal.String +'^(ff)' Literal.String.Escape +' foo' Literal.String +'}' Literal.String +'\n ' Text +'{' Literal.String +'bla ' Literal.String +'^(' Literal.String.Escape +'(' Literal.String +' foo' Literal.String +'}' Literal.String +'\n ' Text +';some numbers:\n' Comment + +' ' Text +'12' Literal.Number +'\n ' Text +"1'000" Literal.Number +'\n ' Text +'1.2' Literal.Number.Float +'\n ' Text +'FF00FF00' Literal.Number.Hex +'h' Name.Variable +'\n' Text.Whitespace + +' \n ' Text +';some tests of hexa number notation with not common ending\n' Comment + +' ' Text +'[' Generic.Strong +'ff00' Literal.Number.Hex +'h' Name.Variable +' ' Text.Whitespace +'ff00' Literal.Number.Hex +'h' Name.Variable +']' Generic.Strong +' ' Text +'ff00' Literal.Number.Hex +'h' Name.Variable +'{' Literal.String +'}' Literal.String +' ' Text +'FF' Literal.Number.Hex +'h' Name.Variable +'"' Literal.String +'foo' Literal.String +'"' Literal.String +' ' Text +'00' Literal.Number.Hex +'h' Name.Variable +'(' Generic.Strong +'1' Literal.Number +' ' Text +'+' Operator +' ' Text +'2' Literal.Number +')' Generic.Strong +' ' Text +'(' Generic.Strong +'AE' Literal.Number.Hex +'h' Name.Variable +')' Generic.Strong +'\n\n' Text + +';normal words:\n' Comment + +'foo' Name.Variable +' ' Text +'char' Name.Variable +'\n\n' Text + +';get-word\n' Comment + +':foo' Generic.Subheading +'\n \n' Text + +';lit-word:\n' Comment + +"'foo" Name.Variable.Instance +' ' Text +"'foo" Name.Variable.Instance +'\n\n' Text + +';multiple comment tests...\n' Comment + +'1' Literal.Number +' ' Text +'+' Operator +' ' Text +'1' Literal.Number +'\n' Text + +'comment "' Comment +'aa' Comment +'"' Comment +'\t\t\t\t\t\t\t\t\n' Text + +'2' Literal.Number +' ' Text +'+' Operator +' ' Text +'2' Literal.Number +'\n' Text + +'comment {' Comment +'aa' Comment +'}' Comment +'\n' Text + +'3' Literal.Number +' ' Text +'+' Operator +' ' Text +'3' Literal.Number +'\n' Text + +'comment {' Comment +'a' Comment +'^{' Comment +'}' Comment +'\n' Text + +'4' Literal.Number +' ' Text +'+' Operator +' ' Text +'4' Literal.Number +'\n' Text + +'comment {' Comment +'{' Comment +'}' Comment +'}' Comment +'\n' Text + +'5' Literal.Number +' ' Text +'+' Operator +' ' Text +'5' Literal.Number +'\n' Text + +'comment {' Comment +'\n\tfoo: 6\n' Comment + +'}' Comment +'\n' Text + +'6' Literal.Number +' ' Text +'+' Operator +' ' Text +'6' Literal.Number +'\n' Text + +'comment [' Comment +'foo: 6' Comment +']' Comment +'\n' Text + +'7' Literal.Number +' ' Text +'+' Operator +' ' Text +'7' Literal.Number +'\n' Text + +'comment [' Comment +'foo: ' Comment +'"' Comment +'[' Comment +'"' Comment +' ' Comment +']' Comment +'\n' Text + +'8' Literal.Number +' ' Text +'+' Operator +' ' Text +'8' Literal.Number +'\n' Text + +'comment [' Comment +'foo: ' Comment +'{' Comment +'^{' Comment +'}' Comment +' ' Comment +']' Comment +'\n' Text + +'9' Literal.Number +' ' Text +'+' Operator +' ' Text +'9' Literal.Number +'\n' Text + +'comment [' Comment +'foo: ' Comment +'{' Comment +'boo' Comment +'}' Comment +' ' Comment +']' Comment +'\n' Text + +'10' Literal.Number +' ' Text +'+' Operator +' ' Text +'10' Literal.Number +'\n' Text + +'comment 5-May-2014/11:17:34+2:00' Comment +'\n' Text + +'11' Literal.Number +' ' Text +'+' Operator +' ' Text +'11' Literal.Number +'\n\n\n' Text + +'to-integer' Keyword +' ' Text +'foo' Name.Variable +'\n' Text + +'foo' Name.Variable +'/' Name.Attribute +'(' Generic.Strong +'a' Name.Variable +' ' Text +'+' Operator +' ' Text +'1' Literal.Number +')' Generic.Strong +'/b' Name.Attribute +'\n\n' Text + +'call' Name.Exception +'/output' Name.Attribute +' ' Text +'reform' Name.Variable +' ' Text +'[' Generic.Strong +"'which" Name.Variable.Instance +' ' Text +'interpreter' Name.Variable +']' Generic.Strong +' ' Text +'path:' Generic.Subheading +' ' Text +'copy' Name.Function +' ' Text +'"' Literal.String +'"' Literal.String +'\n\n ' Text +'version-1.1:' Generic.Subheading +' ' Text +'00010001' Literal.Number.Hex +'h' Name.Variable +'\n' Text.Whitespace + +' \n ' Text +'#if' Keyword.Namespace +' ' Text +'type' Name.Variable +' ' Text +'=' Operator +' ' Text +"'exe" Name.Variable.Instance +' ' Text +'[' Generic.Strong +'\n ' Text +'push' Name.Exception +' ' Text +'system' Name.Exception +'/stack' Name.Attribute +'/frame' Name.Attribute +' ' Text +';-- save previous frame pointer\n' Comment + +' ' Text +'system' Name.Exception +'/stack' Name.Attribute +'/frame:' Name.Attribute +' ' Text +'system' Name.Exception +'/stack' Name.Attribute +'/top' Name.Attribute +' ' Text +';-- @@ reposition frame pointer just after the catch flag\n' Comment + +']' Generic.Strong +'\n' Text + +'push' Name.Exception +' ' Text +'CATCH_ALL' Name.Variable +' ' Text +';-- exceptions root barrier\n' Comment + +'push' Name.Exception +' ' Text +'0' Literal.Number +' ' Text +';-- keep stack aligned on 64-bit\n' Comment |
