Line | |
---|
1 | import( <mruby.cdl> );
|
---|
2 |
|
---|
3 | // main é¢æ°ã®å¼æ°ã®ç¸éã調æ´ããã¢ããã¿ã¼ ã»ã«ã¿ã¤ã
|
---|
4 | // sTaskBody:void main(void) => POSIX:main( argc, argv )
|
---|
5 | celltype tTaskMain2PosixMain{
|
---|
6 | entry sTaskBody eMain;
|
---|
7 | call nPosix::sMain cMain;
|
---|
8 | attr {
|
---|
9 | int argc;
|
---|
10 | [size_is(argc)]
|
---|
11 | char **argv;
|
---|
12 | };
|
---|
13 | };
|
---|
14 |
|
---|
15 | [active]
|
---|
16 | composite tPosixMrubyVmInTask {
|
---|
17 | [optional]
|
---|
18 | call nMruby::sInitializeBridge cInit;
|
---|
19 | attr {
|
---|
20 | int argc;
|
---|
21 | [size_is(argc)]
|
---|
22 | char **argv;
|
---|
23 |
|
---|
24 | /*
|
---|
25 | * TA_NULL 0x00U ããã©ã«ãå¤
|
---|
26 | * TA_ACT 0x01U ã¿ã¹ã¯ã®çææã«ã¿ã¹ã¯ãèµ·åãã
|
---|
27 | */
|
---|
28 | ATR taskAttribute = C_EXP("TA_NULL");
|
---|
29 | PRI priority;
|
---|
30 | SIZE stackSize;
|
---|
31 | char_t *name = C_EXP( "\"$id$\"" );
|
---|
32 | };
|
---|
33 |
|
---|
34 | cell nMruby::tMrubyProc VM {
|
---|
35 | cInit => composite.cInit;
|
---|
36 | };
|
---|
37 |
|
---|
38 | // main é¢æ°ã®å¼æ°ã®ç¸éã調æ´ããã¢ããã¿ã¼ ã»ã«
|
---|
39 | cell tTaskMain2PosixMain ConvMain{
|
---|
40 | cMain = VM.eMain;
|
---|
41 | argc = composite.argc;
|
---|
42 | argv = composite.argv;
|
---|
43 | };
|
---|
44 |
|
---|
45 | /// VM ç¨ã¿ã¹ã¯
|
---|
46 | cell tTask VMTask{
|
---|
47 | cBody = ConvMain.eMain;
|
---|
48 | priority = composite.priority;
|
---|
49 | stackSize = composite.stackSize;
|
---|
50 | taskAttribute = composite.taskAttribute;
|
---|
51 | name = composite.name;
|
---|
52 | };
|
---|
53 | };
|
---|
Note:
See
TracBrowser
for help on using the repository browser.