Skip to content

Instantly share code, notes, and snippets.

@prologic
Created September 18, 2014 13:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save prologic/bb4b63c3bbede6746cbc to your computer and use it in GitHub Desktop.
Save prologic/bb4b63c3bbede6746cbc to your computer and use it in GitHub Desktop.
created by github.com/tr3buchet/gister
[bc3] translation-task}
[translation:info] Compiling c source...
[bc3] {translation-task
starting compile_c
[platform:execute] make -j 4 in /tmp/usession-default-0/testing_1
[translation:info] usession directory: /tmp/usession-default-0
[translation:info] created: /home/prologic/work/langs/mio/bin/mio
[bc3] translation-task}
[Timer] Timings:
[Timer] annotate --- 2.6 s
[Timer] rtype_lltype --- 7.1 s
[Timer] backendopt_lltype --- 3.4 s
[Timer] stackcheckinsertion_lltype --- 0.1 s
[Timer] database_c --- 9.9 s
[Timer] source_c --- 7.4 s
[Timer] compile_c --- 3.4 s
[Timer] =========================================
[Timer] Total: --- 33.8 s
(mio)
prologic@daisy
Thu Sep 18 23:43:15
~/mio
$
(mio)
prologic@daisy
Thu Sep 18 23:43:15
~/mio
$ du -h bin/mio
624K bin/mio
(mio)
prologic@daisy
Thu Sep 18 23:43:54
~/mio
$ ldd bin/mio
linux-vdso.so.1 (0x00007fff8ffb6000)
librt.so.1 => /lib/librt.so.1 (0x00007f30ba22a000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00007f30ba00d000)
libc.so.6 => /lib/libc.so.6 (0x00007f30b9c66000)
/lib/ld-linux-x86-64.so.2 (0x00007f30ba432000)
(mio)
prologic@daisy
Thu Sep 18 23:43:58
~/mio
$ time miopy examples/006.mio
[platform:execute] gcc -c -O3 -pthread -fomit-frame-pointer -Wall -Wno-unused /tmp/usession-default-1/platcheck_4.c -o /tmp/usession-default-1/platcheck_4.o
[platform:execute] gcc /tmp/usession-default-1/platcheck_4.o -pthread -lintl -lrt -o /tmp/usession-default-1/platcheck_4
/home/prologic/work/langs/mio/mio/parser.py:192: ParserGeneratorWarning: 3 shift/reduce conflicts
parser = pg.build()
/home/prologic/work/langs/mio/mio/parser.py:192: ParserGeneratorWarning: 6 reduce/reduce conflicts
parser = pg.build()
Tokens:
<Token (T_IDENTIFIER, 'print')>
<Token (T_LPAREN, '(')>
<Token (T_STRING, '"Hello World!"')>
<Token (T_RPAREN, ')')>
<Token (T_TERMINATOR, '\n')>
AST:
symbol: [Token('T_IDENTIFIER', 'print')]
symbol: [Token('T_STRING', '"Hello World!"')]
message_symbol: ["Hello World!"]
expression: ["Hello World!"]
expressions: ["Hello World!", ]
arguments_list_expressions: ["Hello World!"]
arguments: [Token('T_LPAREN', '('), ("Hello World!"), Token('T_RPAREN', ')')]
message_symbol_arguments: [print, ()("Hello World!")]
expression: [print("Hello World!")]
terminator: [Token('T_TERMINATOR', '\n')]
expression: [
]
expressions: [
, ]
expressions: [print("Hello World!"),
]
program: [print("Hello World!")
]
print("Hello World!")
ByteCode:
Code:
LOAD 0
EVAL 1
EVAL 2
END 0
Constants:
0: '"Hello World!"'
1: 'print'
2: '\n'
Result:
Hello World!
<Object attrs=[]>
real 0m0.705s
user 0m0.619s
sys 0m0.057s
(mio)
prologic@daisy
Thu Sep 18 23:44:13
~/mio
$ time ./bin/mio examples/006.mio
Tokens:
<Token (T_IDENTIFIER, 'print')>
<Token (T_LPAREN, '(')>
<Token (T_STRING, '"Hello World!"')>
<Token (T_RPAREN, ')')>
<Token (T_TERMINATOR, '\n')>
AST:
symbol: [<Token object at 0x7f022017a020>]
symbol: [<Token object at 0x7f022017a040>]
message_symbol: [<Message object at 0x7f022017c020>]
expression: [<Message object at 0x7f022017c020>]
expressions: [<Message object at 0x7f022017c020>, <Message object at 0x670c20>]
arguments_list_expressions: [<Message object at 0x7f022017c020>]
arguments: [<Token object at 0x7f022017a060>, <Message object at 0x7f022017c048>, <Token object at 0x7f022017a080>]
message_symbol_arguments: [<Message object at 0x7f022017c070>, <Message object at 0x7f022017c098>]
expression: [<Message object at 0x7f022017c070>]
terminator: [<Token object at 0x7f022017a0a0>]
expression: [<Message object at 0x7f022017c0c0>]
expressions: [<Message object at 0x7f022017c0c0>, <Message object at 0x670c20>]
expressions: [<Message object at 0x7f022017c070>, <Message object at 0x7f022017c0c0>]
program: [<Message object at 0x7f022017c070>]
print("Hello World!")
ByteCode:
Code:
LOAD 0
EVAL 1
EVAL 2
END 0
Constants:
0: '"Hello World!"'
1: 'print'
2: '\n'
Result:
Hello World!
<Object attrs=[]>
real 0m0.002s
user 0m0.000s
sys 0m0.002s
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment