untitled

Size: px
Start display at page:

Download "untitled"

Transcription

1 NAIST-IS-MT

2 ( )

3 , C,, C, CASE,, NAIST-IS- MT , i

4 A Tool for Refactoring C Programs with Preprocessor Directives Masakazu Yoshida Abstract Refactoring, a change made to improve the internal structure of software without altering its external behavior, has become an important technique for software developers and maintainers. Since refactoring applied by hand is error-prone, we need tools based on program analysis for automated refactoring when we use refactoring in the real world software development. Unfortunately, there are not such tools for programming languages, like programming language C, because preprocessor directives mixed in programs make preprocessed source code look different from unpreprocessed one. In this study, we propose a program representation model which consists of three interrelated representations of a program: unpreprocessed source code, preprocessed source code and abstract syntax tree for further program analysis. And we show how refactoring C programs with preprocessor directives can be supported by an automated tool based on our model. Keywords: refactoring, preprocessor, C language, CASE tools, program analysis Master s Thesis, Department of Information Processing, Graduate School of Information Science, Nara Institute of Science and Technology, NAIST-IS-MT , February 6, ii

5 iii

6 iv

7 CRef CRef v

8 typedef C vi

9 refactoring Fowler [5] Smalltalk[16] C++[14] Java[5] 3 [16] 1. 1

10 2. precondition 3. Smalltalk Java C C++ C C C cpp # 1 3 CASE 2

11 #include #define, #undef #if, #else, #endif if C C C 3

12 #include <stdio.h> #include <assert.h> #define OK 0 int main(int argc, char *argv[]) { int c; while ( (c = getc(stdin))!= EOF ) { assert ( c < 0x100 ); putc(c, stdout); } return OK; } 1 # 2 "sample.c" 2 int main(int argc, char *argv[]) { int c; while ( (c = _IO_getc ( stdin ) )!= (-1) ) { ((void) (( c < 0x100 )? 0 : ( assert_fail ("c < 0x100", "sample.c", 12, PRETTY_FUNCTION ), 0))) ; _IO_putc ( c, stdout ) ; } return 0 ; } 2 #if defined( TARGET_A ) if ( driver_probe_a() == 0 ) { #else # if define( TARGET_B ) if ( driver_probe_b() == 0 ) { # else /* others */ if ( driver_probe_generic() == 0 ) { # endif #endif driver_init(config); } 3 4

13 C

14 CRef 6 CRef

15 C C C CASE CASE CASE program analysis C C CASE CASE Fave [3, 4] Badros C Perl [1, 2] Perl Livadas [13] 7

16 token Kullbach [12] 2.2 Smalltalk Java Smalltalk Roberts Refactoring Browser [16] Refactoring Browser Smalltalk [15] Refactoring Browser precondition 8

17 Java JRefactory[11] JRefactory Java GPL Gnu Public License JRefactory Java UML Java Eclipse[10] Smalltalk Java C C C CASE Sapid[6] [7] Garrido C C [8]

18 3. C lexical tokens C C C

19 token # define BUFSIZ 512 n = BUFSIZ + 1 ; macro definition macro expansion n = ; assgin symbol plus constant constant 4 11

20 3.1.1 C [9] 4 4 original tokens duplicate tokens 12

21 actual argument tokens generated tokens # ## # C ## LINE

22 #line #pragma #error 2 #if #else #endif 14

23 #include

24

25 Opdyke [14] 17

26 C C C C C 18

27 C C++ Opdyke [14] C C C C Opdyke C [14, pp ] Opdyke Opdyke C Opdyke typedef C typedef

28 #line #pragma #error 20

29 6 7 typedef typedef typedef typedef typedef typedef 8 typedef 21

30 f dst-id 1. f ext ext dst-id 2. ext dst-id 1. f ext ext f lst lst (a) f dst-id 6 22

31 C C C

32 m dst-id 1. m ext ext dst-id C 2. m ext ext dst-id 3. ext defs defs it (a) it m it dst-id 1. m dst-id 2. m calls calls (a) dst-id 7 C C 10 C 24

33 C m 1. m calls calls it (a) it (b) it it 2. m

34 (a) i. A. lst lst lst lst 26

35 lst op-lst op-lst op (a) op (b) op (c) op op 27

36 4.5 C 2 28

37 5. 3 CRef 5.1 C CRef 9 User Interface (front end) command result Refactoring Engine (back end) load refactoring defintions 9 CRef 9 CRef CRef GUI Emacs 29

38 CRef CRef CRef 5.2 CRef GUI CRef GUI Python Tk Python CRef GUI 10 CRef GUI File Edit Refactoring Help Refactoring CRef 30

39 File menu Refactoring menu Menu bar Text area Status bar 10 CRef CRef 1. CRef File Open... hogehoge.c OK 31

40 2. hogehoge.c foo 3. Refactoring Refactor functions Rename function... 32

41 4. bar OK hogehoge.c 33

42 (a) (b) (a) foo (b) foo bar 1 CRef 5.3 CRef ANSI Common Lisp Lisp 34

43 11 11 (A) (B) (C) Lisp C Flex GNU Bison 3 Lisp read 11 (a) #define GREETING "Hello, world!\n" void main(){ printf(greeting); } Lisp #S(TOKEN :TYPE :HASH :LINE (1 0 0) :SVAL "#") #S(TOKEN :TYPE :DEFINE :LINE (1 1 1) :SVAL "define") #S(TOKEN :TYPE :SP :LINE (1 7 7) :SVAL " ") #S(TOKEN :TYPE :NAME :LINE (1 8 8) :SVAL "GREETING") #S(TOKEN :TYPE :SP :LINE ( ) :SVAL " ") #S(TOKEN :TYPE :STRING :LINE ( ) :SVAL "\"Hello, world!\\n\"") #S(TOKEN :TYPE :NL :LINE ( ) :SVAL "~%") 35

44 command result source file(s) Refactoring Engine (A) lexical analysis (a) token list (B) preprocessing (b-1) token list (b-2) preprocessing trace (C) syntax analysis (c) syntax tree (D) static analysis and transformation refactoring definitions source file(s) 11 36

45 #S(TOKEN :TYPE :VOID :LINE (2 0 35) :SVAL "void") #S(TOKEN :TYPE :SP :LINE (2 4 39) :SVAL " ") #S(TOKEN :TYPE :NAME :LINE (2 5 40) :SVAL "main") #S(TOKEN :TYPE :OPEN-PAREN :LINE (2 9 44) :SVAL "(") #S(TOKEN :TYPE :CLOSE-PAREN :LINE ( ) :SVAL ")") #S(TOKEN :TYPE :OPEN-BRACE :LINE ( ) :SVAL "{") #S(TOKEN :TYPE :NL :LINE ( ) :SVAL "~%") #S(TOKEN :TYPE :SP :LINE (3 0 48) :SVAL " ") #S(TOKEN :TYPE :NAME :LINE (3 2 50) :SVAL "printf") #S(TOKEN :TYPE :OPEN-PAREN :LINE (3 8 56) :SVAL "(") #S(TOKEN :TYPE :NAME :LINE (3 9 57) :SVAL "GREETING") #S(TOKEN :TYPE :CLOSE-PAREN :LINE ( ) :SVAL ")") #S(TOKEN :TYPE :SEMICOLON :LINE ( ) :SVAL ";") #S(TOKEN :TYPE :NL :LINE ( ) :SVAL "~%") #S(TOKEN :TYPE :CLOSE-BRACE :LINE (4 0 68) :SVAL "}") #S(TOKEN :TYPE :NL :LINE (4 1 69) :SVAL "~%") TYPE LINE SVAL 3 CRef C 11 (b-1) (b-2) Lisp Lisp C C 37

46 C Lisp Lisp ;T VOID 8 2 ;T NAME 10 2 ;T OPEN-PAREN 11 2 ;T CLOSE-PAREN 12 2 ;T OPEN-BRACE 13 2 ;T NAME 16 3 ;T OPEN-PAREN 17 3 ;T STRING ;T CLOSE-PAREN 19 3 ;T SEMICOLON 20 3 ;T CLOSE-BRACE Lisp read 11 (c) (DCL-SPEC-LIST -2 8) (FUNCTION-TYPE NIL 12) (DCLTR -4-3) (EXPR-LIST ) (FUNCTION-CALL ) (EXPRESSION-STATEMENT ) (LIST -8-7) (BLOCK ) 38

47 (FUNCTION NIL -9) (PROGRAM ) C 2 3 NIL Lisp Lisp (PROGRAM (FUNCTION (DCL-SPEC-LIST #<TOKEN VOID "void" 8>) (DCLTR (FUNCTION-TYPE #<TOKEN NAME "main" 10> #<TOKEN OPEN-PAREN "(" 11> NIL #<TOKEN CLOSE-PAREN ")" 12>)) NIL (BLOCK #<TOKEN OPEN-BRACE "{" 13> (LIST (EXPRESSION-STATEMENT (FUNCTION-CALL #<TOKEN NAME "printf" 16> #<TOKEN OPEN-PAREN "(" 17> (EXPR-LIST #<TOKEN STRING ""Hello, world!\n"" 1000 (6)>) #<TOKEN CLOSE-PAREN ")" 19>) #<TOKEN SEMICOLON ";" 20>)) #<TOKEN CLOSE-BRACE "}" 22>))) 39

48 CRef CRef 40

49

50 init push pop 3 CRef 1. stack_g + 1 /* sample.c */ 2 3 #include <stdio.h> 4 5 #define DEPTH int *sp; 7 int stack[depth]; 42

51 + 8 struct + 9 { + 10 } + 11 stack_g; void 14 init(void) 15 { 16 sp = stack; 17 } 2. sp stack_g sp stack_g sp sp +! 1 /* sample.c */ 2 3 #include <stdio.h> 4 5 #define DEPTH 100! 6 7 int stack[depth]; 8 struct 9 { + 10 int *sp; 11 } 12 stack_g; void 15 init(void) 16 {! 17 stack_g.sp = stack; 18 } int 21 push(int val) 22 {! 23 if (stack_g.sp - stack >= DEPTH) { 24 fprintf(stderr, "error: push: stack overflowed\n"); 25 return 0; 26 }! 27 return *stack_g.sp++ = val; 28 } int 31 pop(void) 32 {! 33 if (stack_g.sp <= stack) { 34 fprintf(stderr, "error: pop: stack underflowed\n"); 35 return 0; 36 }! 37 return *--stack_g.sp; 38 } 43

52 3. stack stack_g stack stack_g stack stack 1 /* sample.c */ 2 3 #include <stdio.h> 4 5 #define DEPTH 100 6! 7 8 struct 9 { 10 int *sp; + 11 int stack[depth]; 12 } 13 stack_g; void 16 init(void) 17 {! 18 stack_g.sp = stack_g.stack; 19 } int 22 push(int val) 23 {! 24 if (stack_g.sp - stack_g.stack >= DEPTH) { 25 fprintf(stderr, "error: push: stack overflowed\n"); 26 return 0; 27 } 28 return *stack_g.sp++ = val; 29 } int 32 pop(void) 33 {! 34 if (stack_g.sp <= stack_g.stack) { 35 fprintf(stderr, "error: pop: stack underflowed\n"); 36 return 0; 37 } 38 return *--stack_g.sp; 39 } 4. stack_g.sp g_sp 44

53 8 struct 9 { 10 int *sp; 11 int stack[depth]; 12 } 13 stack_g; + 14 #define g_sp stack_g.sp void 17 init(void) 18 {! 19 g_sp = stack_g.stack; 20 } int 23 push(int val) 24 {! 25 if (g_sp - stack_g.stack >= DEPTH) { 26 fprintf(stderr, "error: push: stack overflowed\n"); 27 return 0; 28 }! 29 return *g_sp++ = val; 30 } int 33 pop(void) 34 {! 35 if (g_sp <= stack_g.stack) { 36 fprintf(stderr, "error: pop: stack underflowed\n"); 37 return 0; 38 }! 39 return *--g_sp; 40 } 5. stack_g.stack g_stack 8 struct 9 { 10 int *sp; 11 int stack[depth]; 12 } 13 stack_g; 14 #define g_sp stack_g.sp + 15 #define g_stack stack_g.stack void 18 init(void) 19 {! 20 g_sp = g_stack; 21 } int 24 push(int val) 25 {! 26 if (g_sp - g_stack >= DEPTH) { 27 fprintf(stderr, "error: push: stack overflowed\n"); 28 return 0; 29 } 30 return *g_sp++ = val; 45

54 31 } int 34 pop(void) 35 {! 36 if (g_sp <= g_stack) { 37 fprintf(stderr, "error: pop: stack underflowed\n"); 38 return 0; 39 } 40 return *--g_sp; 41 } 6. init push pop stack_ CRef 46

55 1 /* sample.c */ 2 3 #include <stdio.h> 4 5 #define DEPTH int *sp; 7 int stack[depth]; 8 9 void 10 init(void) 11 { 12 sp = stack; 13 } int 16 push(int val) 17 { 18 if (sp - stack >= DEPTH) { 19 fprintf(stderr, "error: push: stack overflowed\n"); 20 return 0; 21 } 22 return *sp++ = val; 23 } int 26 pop(void) 27 { 28 if (sp <= stack) { 29 fprintf(stderr, "error: pop: stack underflowed\n"); 30 return 0; 31 } 32 return *--sp; 33 } #ifdef UNIT_TEST 36 int 37 main(void) 38 { 39 int *p, v, res = 0; 40 static int vals[] = { 1, 20, -1, -20, 1000, 2000, -5000, 0 }; init(); 43 for (p = vals; *p; p++) { 44 printf("push(%d) ", push(*p)); 45 } 46 putchar( \n ); 47 for (--p; p >= vals; p--) { 48 printf("pop()=>%d ", v = pop()); 49 if (v!= *p) { 50 fprintf(stderr, "*error(expected %d)* ", *p); 51 res = -1; 52 } 53 } 54 putchar( \n ); 55 return res; 56 } 57 #endif /* UNIT_TEST */ 12 47

56 1 /* sample.c */ 2 3 #include <stdio.h> 4 5 #define DEPTH struct 9 { 10 int *sp; 11 int stack[depth]; 12 } 13 stack_g; 14 #define g_sp stack_g.sp 15 #define g_stack stack_g.stack void 18 stack_init(void) 19 { 20 g_sp = g_stack; 21 } int 24 stack_push(int val) 25 { 26 if (g_sp - g_stack >= DEPTH) { 27 fprintf(stderr, "error: push: stack overflowed\n"); 28 return 0; 29 } 30 return *g_sp++ = val; 31 } int 34 stack_pop(void) 35 { 36 if (g_sp <= g_stack) { 37 fprintf(stderr, "error: stack_pop: stack underflowed\n"); 38 return 0; 39 } 40 return *--g_sp; 41 } #ifdef UNIT_TEST 44 int 45 main(void) 46 { 47 int *p, v, res = 0; 48 static int vals[] = { 1, 20, -1, -20, 1000, 2000, -5000, 0 }; stack_init(); 51 for (p = vals; *p; p++) { 52 printf("push(%d) ", stack_push(*p)); 53 } 54 putchar( \n ); 55 for (--p; p >= vals; p--) { 56 printf("pop()=>%d ", v = stack_pop()); 57 if (v!= *p) { 58 fprintf(stderr, "*error(expected %d)* ", *p); 59 res = -1; 60 } 61 } 62 putchar( \n ); 63 return res; 64 } 65 #endif /* UNIT_TEST */ 13 48

57

58 PostScript Ghostscript Motif Killer GUI Tk C 50

59

60 8. C C C C C

61 C C 2 (1) C (2) (3) C C CRef CRef CRef C C++ 53

62 CRef CRef CRef 54

63 55

64 [1] Greg J. Badros. Pcp 3 : A C front end for preprocessor analysis and transformation. Master s thesis, University of Washington, [2] Greg J. Badros and David Notkin. A framework for preprocessor-aware C source code analyses. Software Practice and Experience, Vol. 30, No. 8, pp , July [3] Jean-Marie Favre. The cpp paradox. In Proceedings of Nineth European Workshop on Software Maintenance, [4] Jean-Marie Favre. Preprocessors from an abstract point of view. In Proceedings of the 1996 International Conference on Software Maintenance (ICSM 96), [5] Martin Fowler. Refactoring: Improving the Design of Existing Code. Addison-Wesley, [6],,. CASE Sapid., Vol. 39, No. 6, pp , [7],,,.., Vol. 15, No. 4, pp , [8] Alejandra Garrido and Ralph Johnson. Challenges of refactoring C programs. In Proceedings of the international workshop on Principles of software evolution, pp ACM Press, [9] Samuel P. Harbison and Guy L. Steele Jr. C: A Reference Mannual. Prentice-Hall, 5th edition, [10] Object Technology International. Eclipse. 56

65 [11] JRefactory. [12] Bernt Kullbach and Volker Riediger. Folding: An approach to enable program understanding of preprocessed languages. Technical Report , Universität Koblenz-Landau, [13] Panos E. Livadas and David T. Small. Understanding code containing preprocessor constructs. In IEEE Third Workshop on Program Comprehension, pp , November [14] William F. Opdyke. Refactoring Object-Oriented Frameworks. PhDthesis, University of Illinois, [15] Don Roberts. Eliminating Analysis in Refactoring. PhD thesis, University of Illinois at Urabana-Champaign, [16] Don Roberts, John Brant, and Ralph E. Joohnson. A refactoring tool for Smalltalk. Theory and Practice of Object Systems (TAPOS),

CX-Checker CX-Checker (1)XPath (2)DOM (3) 3 XPath CX-Checker. MISRA-C 62%(79/127) SQMlint 76%(13/17) XPath CX-Checker 3. CX-Checker 4., MISRA-C CX- Ch

CX-Checker CX-Checker (1)XPath (2)DOM (3) 3 XPath CX-Checker. MISRA-C 62%(79/127) SQMlint 76%(13/17) XPath CX-Checker 3. CX-Checker 4., MISRA-C CX- Ch CX-Checker: C 1 1 2 3 4 5 1 CX-Checker CX-Checker XPath DOM 3 CX-Checker MISRA-C CX-Checker: A Customizable Coding Checker for C TOSHINORI OSUKA, 1 TAKASHI KOBAYASHI, 1 JUNICHI MASE, 2 NORITOSHI ATSUMI,

More information

,,,,., C Java,,.,,.,., ,,.,, i

,,,,., C Java,,.,,.,., ,,.,, i 24 Development of the programming s learning tool for children be derived from maze 1130353 2013 3 1 ,,,,., C Java,,.,,.,., 1 6 1 2.,,.,, i Abstract Development of the programming s learning tool for children

More information

. IDE JIVE[1][] Eclipse Java ( 1) Java Platform Debugger Architecture [5] 3. Eclipse GUI JIVE 3.1 Eclipse ( ) 1 JIVE Java [3] IDE c 016 Information Pr

. IDE JIVE[1][] Eclipse Java ( 1) Java Platform Debugger Architecture [5] 3. Eclipse GUI JIVE 3.1 Eclipse ( ) 1 JIVE Java [3] IDE c 016 Information Pr Eclipse 1,a) 1,b) 1,c) ( IDE) IDE Graphical User Interface( GUI) GUI GUI IDE View Eclipse Development of Eclipse Plug-in to present an Object Diagram to Debug Environment Kubota Yoshihiko 1,a) Yamazaki

More information

2) TA Hercules CAA 5 [6], [7] CAA BOSS [8] 2. C II C. ( 1 ) C. ( 2 ). ( 3 ) 100. ( 4 ) () HTML NFS Hercules ( )

2) TA Hercules CAA 5 [6], [7] CAA BOSS [8] 2. C II C. ( 1 ) C. ( 2 ). ( 3 ) 100. ( 4 ) () HTML NFS Hercules ( ) 1,a) 2 4 WC C WC C Grading Student programs for visualizing progress in classroom Naito Hiroshi 1,a) Saito Takashi 2 Abstract: To grade student programs in Computer-Aided Assessment system, we propose

More information

1 1 CodeDrummer CodeMusician CodeDrummer Fig. 1 Overview of proposal system c

1 1 CodeDrummer CodeMusician CodeDrummer Fig. 1 Overview of proposal system c CodeDrummer: 1 2 3 1 CodeDrummer: Sonification Methods of Function Calls in Program Execution Kazuya Sato, 1 Shigeyuki Hirai, 2 Kazutaka Maruyama 3 and Minoru Terada 1 We propose a program sonification

More information

/ SCHEDULE /06/07(Tue) / Basic of Programming /06/09(Thu) / Fundamental structures /06/14(Tue) / Memory Management /06/1

/ SCHEDULE /06/07(Tue) / Basic of Programming /06/09(Thu) / Fundamental structures /06/14(Tue) / Memory Management /06/1 I117 II I117 PROGRAMMING PRACTICE II 2 MEMORY MANAGEMENT 2 Research Center for Advanced Computing Infrastructure (RCACI) / Yasuhiro Ohara yasu@jaist.ac.jp / SCHEDULE 1. 2011/06/07(Tue) / Basic of Programming

More information

( )

( ) NAIST-IS-MT1051071 2012 3 16 ( ) Pustejovsky 2 2,,,,,,, NAIST-IS- MT1051071, 2012 3 16. i Automatic Acquisition of Qualia Structure of Generative Lexicon in Japanese Using Learning to Rank Takahiro Tsuneyoshi

More information

2006 [3] Scratch Squeak PEN [4] PenFlowchart 2 3 PenFlowchart 4 PenFlowchart PEN xdncl PEN [5] PEN xdncl DNCL 1 1 [6] 1 PEN Fig. 1 The PEN

2006 [3] Scratch Squeak PEN [4] PenFlowchart 2 3 PenFlowchart 4 PenFlowchart PEN xdncl PEN [5] PEN xdncl DNCL 1 1 [6] 1 PEN Fig. 1 The PEN PenFlowchart 1,a) 2,b) 3,c) 2015 3 4 2015 5 12, 2015 9 5 PEN & PenFlowchart PEN Evaluation of the Effectiveness of Programming Education with Flowcharts Using PenFlowchart Wataru Nakanishi 1,a) Takeo Tatsumi

More information

Fig. 3 3 Types considered when detecting pattern violations 9)12) 8)9) 2 5 methodx close C Java C Java 3 Java 1 JDT Core 7) ) S P S

Fig. 3 3 Types considered when detecting pattern violations 9)12) 8)9) 2 5 methodx close C Java C Java 3 Java 1 JDT Core 7) ) S P S 1 1 1 Fig. 1 1 Example of a sequential pattern that is exracted from a set of method definitions. A Defect Detection Method for Object-Oriented Programs using Sequential Pattern Mining Goro YAMADA, 1 Norihiro

More information

Introduction Purpose This training course demonstrates the use of the High-performance Embedded Workshop (HEW), a key tool for developing software for

Introduction Purpose This training course demonstrates the use of the High-performance Embedded Workshop (HEW), a key tool for developing software for Introduction Purpose This training course demonstrates the use of the High-performance Embedded Workshop (HEW), a key tool for developing software for embedded systems that use microcontrollers (MCUs)

More information

( )

( ) NAIST-IS-MT0851100 2010 2 4 ( ) CR CR CR 1980 90 CR Kerberos SSH CR CR CR CR CR CR,,, ID, NAIST-IS- MT0851100, 2010 2 4. i On the Key Management Policy of Challenge Response Authentication Schemes Toshiya

More information

I117 II I117 PROGRAMMING PRACTICE II SOFTWARE DEVELOPMENT ENV. 1 Research Center for Advanced Computing Infrastructure (RCACI) / Yasuhiro Ohara

I117 II I117 PROGRAMMING PRACTICE II SOFTWARE DEVELOPMENT ENV. 1 Research Center for Advanced Computing Infrastructure (RCACI) / Yasuhiro Ohara I117 II I117 PROGRAMMING PRACTICE II SOFTWARE DEVELOPMENT ENV. 1 Research Center for Advanced Computing Infrastructure (RCACI) / Yasuhiro Ohara yasu@jaist.ac.jp / SCHEDULE 1. 2011/06/07(Tue) / Basic of

More information

28 Horizontal angle correction using straight line detection in an equirectangular image

28 Horizontal angle correction using straight line detection in an equirectangular image 28 Horizontal angle correction using straight line detection in an equirectangular image 1170283 2017 3 1 2 i Abstract Horizontal angle correction using straight line detection in an equirectangular image

More information

( )

( ) NAIST-IS-MT9951117 2001 2 9 ( ) 3 CG, VR.,,,.,,,,,.,, 2, 3 3,.,, 2, 3.,,,,,.,,,.,,.,,, 3, NAIST-IS- MT9951117, 2001 2 9. i Intaractive terrain generation within Immersive Modeling System 3 Ryutarou Morimoto

More information

Vol.55 No (Jan. 2014) saccess 6 saccess 7 saccess 2. [3] p.33 * B (A) (B) (C) (D) (E) (F) *1 [3], [4] Web PDF a m

Vol.55 No (Jan. 2014) saccess 6 saccess 7 saccess 2. [3] p.33 * B (A) (B) (C) (D) (E) (F) *1 [3], [4] Web PDF   a m Vol.55 No.1 2 15 (Jan. 2014) 1,a) 2,3,b) 4,3,c) 3,d) 2013 3 18, 2013 10 9 saccess 1 1 saccess saccess Design and Implementation of an Online Tool for Database Education Hiroyuki Nagataki 1,a) Yoshiaki

More information

lexex.dvi

lexex.dvi (2018, c ) http://istksckwanseiacjp/ ishiura/cpl/ 4 41 1 mini-c lexc,, 2 testlexc, lexc mini-c 1 ( ) mini-c ( ) (int, char, if, else, while, return 6 ) ( ) (+, -, *, /, %, &, =, ==,!=, >, >=,

More information

untitled

untitled II 4 Yacc Lex 2005 : 0 1 Yacc 20 Lex 1 20 traverse 1 %% 2 [0-9]+ { yylval.val = atoi((char*)yytext); return NUM; 3 "+" { return + ; 4 "*" { return * ; 5 "-" { return - ; 6 "/" { return / ; 7 [ \t] { /*

More information

新・明解C言語 実践編

新・明解C言語 実践編 第 1 章 見 21 1-1 見えないエラー 見 List 1-1 "max2x1.h" a, b max2 List 1-1 chap01/max2x1.h max2 "max2x1.h" #define max2(a, b) ((a) > (b)? (a) : (b)) max2 List 1-2 List 1-2 chap01/max2x1test.c max2 #include

More information

file"a" file"b" fp = fopen("a", "r"); while(fgets(line, BUFSIZ, fp)) {... fclose(fp); fp = fopen("b", "r"); while(fgets(line, BUFSIZ, fp)) {... fclose

filea fileb fp = fopen(a, r); while(fgets(line, BUFSIZ, fp)) {... fclose(fp); fp = fopen(b, r); while(fgets(line, BUFSIZ, fp)) {... fclose I117 9 2 School of Information Science, Japan Advanced Institute of Science and Technology file"a" file"b" fp = fopen("a", "r"); while(fgets(line, BUFSIZ, fp)) {... fclose(fp); fp = fopen("b", "r"); while(fgets(line,

More information

yacc.dvi

yacc.dvi 2017 c 8 Yacc Mini-C C/C++, yacc, Mini-C, run,, Mini-C 81 Yacc Yacc, 1, 2 ( ), while ::= "while" "(" ")" while yacc 1: st while : lex KW WHILE lex LPAREN expression lex RPAREN statement 2: 3: $$ = new

More information

13 RoboCup The Interface System for Learning By Observation Applied to RoboCup Agents Ruck Thawonmas

13 RoboCup The Interface System for Learning By Observation Applied to RoboCup Agents Ruck Thawonmas 13 RoboCup The Interface System for Learning By Observation Applied to RoboCup Agents 1020302 Ruck Thawonmas 2002 2 8 RoboCup RoboCup SemiReal SemiReal RAIK-NTG4 Huma SemiReal Huma RoboCup. i Abstract

More information

(1) i NGO ii (2) 112

(1) i NGO ii (2) 112 MEMOIRS OF SHONAN INSTITUTE OF TECHNOLOGY Vol. 41, No. 1, 2007 * * 2 * 3 * 4 * 5 * 6 * 7 * 8 Service Learning for Engineering Students Satsuki TASAKA*, Mitsutoshi ISHIMURA* 2, Hikaru MIZUTANI* 3, Naoyuki

More information

1 Fig. 1 Extraction of motion,.,,, 4,,, 3., 1, 2. 2.,. CHLAC,. 2.1,. (256 ).,., CHLAC. CHLAC, HLAC. 2.3 (HLAC ) r,.,. HLAC. N. 2 HLAC Fig. 2

1 Fig. 1 Extraction of motion,.,,, 4,,, 3., 1, 2. 2.,. CHLAC,. 2.1,. (256 ).,., CHLAC. CHLAC, HLAC. 2.3 (HLAC ) r,.,. HLAC. N. 2 HLAC Fig. 2 CHLAC 1 2 3 3,. (CHLAC), 1).,.,, CHLAC,.,. Suspicious Behavior Detection based on CHLAC Method Hideaki Imanishi, 1 Toyohiro Hayashi, 2 Shuichi Enokida 3 and Toshiaki Ejima 3 We have proposed a method for

More information

IPSJ SIG Technical Report Vol.2013-CE-119 No /3/15 enpoly enpoly enpoly 1) 2) 2 C Java Bertrand Meyer [1] 1 1 if person greeting()

IPSJ SIG Technical Report Vol.2013-CE-119 No /3/15 enpoly enpoly enpoly 1) 2) 2 C Java Bertrand Meyer [1] 1 1 if person greeting() enpoly enpoly enpoly ) 2) 2 C Java 2 6. Bertrand Meyer [] if person greeting() if person if Faculty of Informatics, Shizuoka University, Hamamatsu, Shizuoka, 432-80, Japan C Jone[2] 2. Java Anchor Garden

More information

2 3 Pockets Pockest Java [6] API (Backtracking) 2 [7] [8] [3] i == Pockets 2.1 C3PV web [9] Pockets [10]Pockets 1 3 C

2 3 Pockets Pockest Java [6] API (Backtracking) 2 [7] [8] [3] i == Pockets 2.1 C3PV web [9] Pockets [10]Pockets 1 3 C 1,a) 2 3 1 1 API Pockets Pockets Investigating the Model of Automatically Detecting Exploratory Programming Behaviors Erina Makihara 1,a) Hiroshi Igaki 2 Norihiro Yoshida 3 Kenji Fujiwara 1 Hajimu Iida

More information

Eclipse A Tool Support to Merge Similer Methods with Differences Akira Goto 1 Norihiro Yoshida 2 Masakazu Ioka 1 Katsuro Inoue 1 Abstra

Eclipse A Tool Support to Merge Similer Methods with Differences Akira Goto 1 Norihiro Yoshida 2 Masakazu Ioka 1 Katsuro Inoue 1 Abstra Title 差分を含む類似メソッドの集約支援ツール Author(s) Citation 後藤, 祥 ; 吉田, 則裕 ; 井岡, 正和 ; 井上, 克郎 ソフトウェアエンジニアリングシンポジウム 2012 論文集. 2012 P.1-P.6 Issue Date 2012-08-21 Text Version publisher URL http://hdl.handle.net/11094/50124

More information

soturon.dvi

soturon.dvi 12 Exploration Method of Various Routes with Genetic Algorithm 1010369 2001 2 5 ( Genetic Algorithm: GA ) GA 2 3 Dijkstra Dijkstra i Abstract Exploration Method of Various Routes with Genetic Algorithm

More information

( ) ATR

( ) ATR NAIST-IS-MT1151006 2013 2 7 ( ) ATR ,,,,, NAIST-IS-MT1151006, 2013 2 7. i Communication Robot for Expressing User s Physically Aggressive Behavior Maiko Adachi Abstract This thesis investigates how to

More information

I. Backus-Naur BNF : N N 0 N N N N N N 0, 1 BNF N N 0 11 (parse tree) 11 (1) (2) (3) (4) II. 0(0 101)* (

I. Backus-Naur BNF : N N 0 N N N N N N 0, 1 BNF N N 0 11 (parse tree) 11 (1) (2) (3) (4) II. 0(0 101)* ( 2016 2016 07 28 10:30 12:00 I. I VI II. III. IV. a d V. VI. 80 100 60 1 I. Backus-Naur BNF : 11011 N N 0 N N 11 1001 N N N N 0, 1 BNF N N 0 11 (parse tree) 11 (1) 1100100 (2) 1111011 (3) 1110010 (4) 1001011

More information

1_26.dvi

1_26.dvi C3PV 1,a) 2,b) 2,c) 3,d) 1,e) 2012 4 20, 2012 10 10 C3PV C3PV C3PV 1 Java C3PV 45 38 84% Programming Process Visualization for Supporting Students in Programming Exercise Hiroshi Igaki 1,a) Shun Saito

More information

新版明解C言語 実践編

新版明解C言語 実践編 2 List - "max.h" a, b max List - max "max.h" #define max(a, b) ((a) > (b)? (a) : (b)) max List -2 List -2 max #include "max.h" int x, y; printf("x"); printf("y"); scanf("%d", &x); scanf("%d", &y); printf("max(x,

More information

J No J. J

J No J. J 教育科学と教育実践 2 Science of Education and Educational Practice - A Perspective on the Controversy on the Science of Education in Post-War Japan Part Takeo TANAKA 1950 E. J. E. J. E. J. Abstract In the latter

More information

Condition DAQ condition condition 2 3 XML key value

Condition DAQ condition condition 2 3 XML key value Condition DAQ condition 2009 6 10 2009 7 2 2009 7 3 2010 8 3 1 2 2 condition 2 3 XML key value 3 4 4 4.1............................. 5 4.2...................... 5 5 6 6 Makefile 7 7 9 7.1 Condition.h.............................

More information

自然言語処理16_2_45

自然言語処理16_2_45 FileMaker Pro E-learning GUI Phrase Reading Cloze. E-learning Language Processing Technology and Educational Material Development Generating English Educational Material using a Database Software Kenichi

More information

1.... 1 2.... 1 2.1. RATS... 1 2.1.1. expat... 1 2.1.2. expat... 1 2.1.3. expat... 2 2.2. RATS... 2 2.2.1. RATS... 2 2.2.2.... 3 3. RATS... 4 3.1.... 4 3.2.... 4 3.3.... 6 3.3.1.... 6 3.3.2.... 6 3.3.3....

More information

橡Pro PDF

橡Pro PDF 1 void main( ) char c; /* int c; */ int sum=0; while ((c = getchar())!= EOF) if(isdigit(c) ) sum += (c-'0'); printf("%d\n", sum); main()int i,sum=0; for(i=0;i

More information

Ver.1 1/17/2003 2

Ver.1 1/17/2003 2 Ver.1 1/17/2003 1 Ver.1 1/17/2003 2 Ver.1 1/17/2003 3 Ver.1 1/17/2003 4 Ver.1 1/17/2003 5 Ver.1 1/17/2003 6 Ver.1 1/17/2003 MALTAB M GUI figure >> guide GUI GUI OK 7 Ver.1 1/17/2003 8 Ver.1 1/17/2003 Callback

More information

II 3 yacc (2) 2005 : Yacc 0 ~nakai/ipp2 1 C main main 1 NULL NULL for 2 (a) Yacc 2 (b) 2 3 y

II 3 yacc (2) 2005 : Yacc 0 ~nakai/ipp2 1 C main main 1 NULL NULL for 2 (a) Yacc 2 (b) 2 3 y II 3 yacc (2) 2005 : Yacc 0 ~nakai/ipp2 1 C 1 6 9 1 main main 1 NULL NULL 1 15 23 25 48 26 30 32 36 38 43 45 47 50 52 for 2 (a) 2 2 1 Yacc 2 (b) 2 3 yytext tmp2 ("") tmp2->next->word tmp2 yytext tmp2->next->word

More information

r07.dvi

r07.dvi 19 7 ( ) 2019.4.20 1 1.1 (data structure ( (dynamic data structure 1 malloc C free C (garbage collection GC C GC(conservative GC 2 1.2 data next p 3 5 7 9 p 3 5 7 9 p 3 5 7 9 1 1: (single linked list 1

More information

(a) (b) 1 JavaScript Web Web Web CGI Web Web JavaScript Web mixi facebook SNS Web URL ID Web 1 JavaScript Web 1(a) 1(b) JavaScript & Web Web Web Webji

(a) (b) 1 JavaScript Web Web Web CGI Web Web JavaScript Web mixi facebook SNS Web URL ID Web 1 JavaScript Web 1(a) 1(b) JavaScript & Web Web Web Webji Webjig Web 1 1 1 1 Webjig / Web Web Web Web Web / Web Webjig Web DOM Web Webjig / Web Web Webjig: a visualization tool for analyzing user behaviors in dynamic web sites Mikio Kiura, 1 Masao Ohira, 1 Hidetake

More information

ohp03.dvi

ohp03.dvi 19 3 ( ) 2019.4.20 CS 1 (comand line arguments) Unix./a.out aa bbb ccc ( ) C main void int main(int argc, char *argv[]) {... 2 (2) argc argv argc ( ) argv (C char ) ( 1) argc 4 argv NULL. / a. o u t \0

More information

ohp07.dvi

ohp07.dvi 19 7 ( ) 2019.4.20 1 (data structure) ( ) (dynamic data structure) 1 malloc C free 1 (static data structure) 2 (2) C (garbage collection GC) C GC(conservative GC) 2 2 conservative GC 3 data next p 3 5

More information

SCM (v0201) ( ) SCM 2 SCM 3 SCM SCM 2.1 SCM SCM SCM (1) MS-DOS (2) Microsoft(R) Windows 95 (C)Copyright Microsoft Corp

SCM (v0201) ( ) SCM 2 SCM 3 SCM SCM 2.1 SCM SCM SCM (1) MS-DOS (2) Microsoft(R) Windows 95 (C)Copyright Microsoft Corp SCM (v0201) ( ) 14 4 20 1 SCM 2 SCM 3 SCM 4 5 2 SCM 2.1 SCM SCM 2 1 2 SCM (1) MS-DOS (2) Microsoft(R) Windows 95 (C)Copyright Microsoft Corp 1981-1996. 1 (3) C:\WINDOWS>cd.. C:\>cd scm C:\SCM> C:\SCM>

More information

IPSJ SIG Technical Report Vol.2009-DPS-141 No.20 Vol.2009-GN-73 No.20 Vol.2009-EIP-46 No /11/27 1. MIERUKEN 1 2 MIERUKEN MIERUKEN MIERUKEN: Spe

IPSJ SIG Technical Report Vol.2009-DPS-141 No.20 Vol.2009-GN-73 No.20 Vol.2009-EIP-46 No /11/27 1. MIERUKEN 1 2 MIERUKEN MIERUKEN MIERUKEN: Spe 1. MIERUKEN 1 2 MIERUKEN MIERUKEN MIERUKEN: Speech Visualization System Based on Augmented Reality Yuichiro Nagano 1 and Takashi Yoshino 2 As the spread of the Augmented Reality(AR) technology and service,

More information

: gettoken(1) module P = Printf exception End_of_system (* *) let _ISTREAM = ref stdin let ch = ref ( ) let read () = (let c =!ch in ch := inp

: gettoken(1) module P = Printf exception End_of_system (* *) let _ISTREAM = ref stdin let ch = ref ( ) let read () = (let c =!ch in ch := inp 7 OCaml () 1. 2. () (compiler) (interpreter) 2 OCaml (syntax) (BNF,backus normal form ) 1 + 2; let x be 2-1 in x; ::= ; let be in ; ::= + - ::= * / ::= 7.1 ( (printable characters) (tokens) 1 (lexical

More information

橡IPSJXPReport-1.PDF

橡IPSJXPReport-1.PDF XP(Extreme Programming): XP Vol.43, No.3 Mar.2002 1999 "Extreme Programming Explained: Embrace Change"[Beck99]( XP ) XP XP Kent Beck XP XP XP XP XP XP XP XP XP 1 1 SE 2 XP 2 X P (whole team) 3 XP (source)

More information

( ) [1] [4] ( ) 2. [5] [6] Piano Tutor[7] [1], [2], [8], [9] Radiobaton[10] Two Finger Piano[11] Coloring-in Piano[12] ism[13] MIDI MIDI 1 Fig. 1 Syst

( ) [1] [4] ( ) 2. [5] [6] Piano Tutor[7] [1], [2], [8], [9] Radiobaton[10] Two Finger Piano[11] Coloring-in Piano[12] ism[13] MIDI MIDI 1 Fig. 1 Syst 情報処理学会インタラクション 2015 IPSJ Interaction 2015 15INT014 2015/3/7 1,a) 1,b) 1,c) Design and Implementation of a Piano Learning Support System Considering Motivation Fukuya Yuto 1,a) Takegawa Yoshinari 1,b) Yanagi

More information

28 Docker Design and Implementation of Program Evaluation System Using Docker Virtualized Environment

28 Docker Design and Implementation of Program Evaluation System Using Docker Virtualized Environment 28 Docker Design and Implementation of Program Evaluation System Using Docker Virtualized Environment 1170288 2017 2 28 Docker,.,,.,,.,,.,. Docker.,..,., Web, Web.,.,.,, CPU,,. i ., OS..,, OS, VirtualBox,.,

More information

システム開発プロセスへのデザイン技術適用の取組み~HCDからUXデザインへ~

システム開発プロセスへのデザイン技術適用の取組み~HCDからUXデザインへ~ HCDUX Approach of Applying Design Technology to System Development Process: From HCD to UX Design 善方日出夫 小川俊雄 あらまし HCDHuman Centered Design SE SDEMHCDUIUser Interface RIARich Internet ApplicationUXUser

More information

A/B (2018/10/19) Ver kurino/2018/soft/soft.html A/B

A/B (2018/10/19) Ver kurino/2018/soft/soft.html A/B A/B (2018/10/19) Ver. 1.0 kurino@math.cst.nihon-u.ac.jp http://edu-gw2.math.cst.nihon-u.ac.jp/ kurino/2018/soft/soft.html 2018 10 19 A/B 1 2018 10 19 2 1 1 1.1 OHP.................................... 1

More information

2 2.1 NPCMJ ( (Santorini, 2010) (NPCMJ, 2016) (1) (, 2016) (1) (2) (1) ( (IP-MAT (CONJ ) (PP (NP (D ) (N )) (P )) (NP-SBJ *

2 2.1 NPCMJ (  (Santorini, 2010) (NPCMJ, 2016) (1) (, 2016) (1) (2) (1) ( (IP-MAT (CONJ ) (PP (NP (D ) (N )) (P )) (NP-SBJ * Emacs Emacs : Emacs 1 Emacs Emacs ( ) (NPCMJ ) 1 Emacs NPCMJ 2 1 2 2.1 NPCMJ (http://npcmj.ninjal.ac.jp/) (Santorini, 2010) (NPCMJ, 2016) (1) (, 2016) (1) (2) (1) ( (IP-MAT (CONJ ) (PP (NP (D ) (N )) (P

More information

:30 12:00 I. I VI II. III. IV. a d V. VI

:30 12:00 I. I VI II. III. IV. a d V. VI 2017 2017 08 03 10:30 12:00 I. I VI II. III. IV. a d V. VI. 80 100 60 1 I. Backus-Naur BNF X [ S ] a S S ; X X X, S [, a, ], ; BNF X (parse tree) (1) [a;a] (2) [[a]] (3) [a;[a]] (4) [[a];a] : [a] X 2 222222

More information

:30 12:00 I. I VI II. III. IV. a d V. VI

:30 12:00 I. I VI II. III. IV. a d V. VI 2018 2018 08 02 10:30 12:00 I. I VI II. III. IV. a d V. VI. 80 100 60 1 I. Backus-Naur BNF N N y N x N xy yx : yxxyxy N N x, y N (parse tree) (1) yxyyx (2) xyxyxy (3) yxxyxyy (4) yxxxyxxy N y N x N yx

More information

I. Backus-Naur BNF S + S S * S S x S +, *, x BNF S (parse tree) : * x + x x S * S x + S S S x x (1) * x x * x (2) * + x x x (3) + x * x + x x (4) * *

I. Backus-Naur BNF S + S S * S S x S +, *, x BNF S (parse tree) : * x + x x S * S x + S S S x x (1) * x x * x (2) * + x x x (3) + x * x + x x (4) * * 2015 2015 07 30 10:30 12:00 I. I VI II. III. IV. a d V. VI. 80 100 60 1 I. Backus-Naur BNF S + S S * S S x S +, *, x BNF S (parse tree) : * x + x x S * S x + S S S x x (1) * x x * x (2) * + x x x (3) +

More information

大学論集第42号本文.indb

大学論集第42号本文.indb 42 2010 2011 3 279 295 COSO 281 COSO 1990 1 internal control 1 19962007, Internal Control Integrated Framework COSO COSO 282 42 2 2) the Committee of Sponsoring Organizations of the Treadway committee

More information

Vol. 42 No. SIG 8(TOD 10) July HTML 100 Development of Authoring and Delivery System for Synchronized Contents and Experiment on High Spe

Vol. 42 No. SIG 8(TOD 10) July HTML 100 Development of Authoring and Delivery System for Synchronized Contents and Experiment on High Spe Vol. 42 No. SIG 8(TOD 10) July 2001 1 2 3 4 HTML 100 Development of Authoring and Delivery System for Synchronized Contents and Experiment on High Speed Networks Yutaka Kidawara, 1 Tomoaki Kawaguchi, 2

More information

PowerPoint Presentation

PowerPoint Presentation UML 2004 7 9 10 ... OOP UML 10 Copyright 2004 Akira HIRASAWA all rights reserved. 2 1. 2. 3. 4. UML 5. Copyright 2004 Akira HIRASAWA all rights reserved. 3 1..... Copyright 2004 Akira HIRASAWA all rights

More information

IT,, i

IT,, i 22 Retrieval support system using bookmarks that are shared in an organization 1110250 2011 3 17 IT,, i Abstract Retrieval support system using bookmarks that are shared in an organization Yoshihiko Komaki

More information

IPSJ SIG Technical Report Vol.2010-NL-199 No /11/ treebank ( ) KWIC /MeCab / Morphological and Dependency Structure Annotated Corp

IPSJ SIG Technical Report Vol.2010-NL-199 No /11/ treebank ( ) KWIC /MeCab / Morphological and Dependency Structure Annotated Corp 1. 1 1 1 2 treebank ( ) KWIC /MeCab / Morphological and Dependency Structure Annotated Corpus Management Tool: ChaKi Yuji Matsumoto, 1 Masayuki Asahara, 1 Masakazu Iwatate 1 and Toshio Morita 2 This paper

More information

1 Web [2] Web [3] [4] [5], [6] [7] [8] S.W. [9] 3. MeetingShelf Web MeetingShelf MeetingShelf (1) (2) (3) (4) (5) Web MeetingShelf

1 Web [2] Web [3] [4] [5], [6] [7] [8] S.W. [9] 3. MeetingShelf Web MeetingShelf MeetingShelf (1) (2) (3) (4) (5) Web MeetingShelf 1,a) 2,b) 4,c) 3,d) 4,e) Web A Review Supporting System for Whiteboard Logging Movies Based on Notes Timeline Taniguchi Yoshihide 1,a) Horiguchi Satoshi 2,b) Inoue Akifumi 4,c) Igaki Hiroshi 3,d) Hoshi

More information

& Vol.5 No (Oct. 2015) TV 1,2,a) , Augmented TV TV AR Augmented Reality 3DCG TV Estimation of TV Screen Position and Ro

& Vol.5 No (Oct. 2015) TV 1,2,a) , Augmented TV TV AR Augmented Reality 3DCG TV Estimation of TV Screen Position and Ro TV 1,2,a) 1 2 2015 1 26, 2015 5 21 Augmented TV TV AR Augmented Reality 3DCG TV Estimation of TV Screen Position and Rotation Using Mobile Device Hiroyuki Kawakita 1,2,a) Toshio Nakagawa 1 Makoto Sato

More information

slide5.pptx

slide5.pptx ソフトウェア工学入門 第 5 回コマンド作成 1 head コマンド作成 1 早速ですが 次のプログラムを head.c という名前で作成してください #include #include static void do_head(file *f, long nlines); int main(int argc, char *argv[]) { if (argc!=

More information

The copyright of this material is retained by the Information Processing Society of Japan (IPSJ). The material has been made available on the website

The copyright of this material is retained by the Information Processing Society of Japan (IPSJ). The material has been made available on the website The copyright of this material is retained by the Information Processing Society of Japan (IPSJ). The material has been made available on the website by the author(s) under the agreement with the IPSJ.

More information

Vol. 48 No. 4 Apr LAN TCP/IP LAN TCP/IP 1 PC TCP/IP 1 PC User-mode Linux 12 Development of a System to Visualize Computer Network Behavior for L

Vol. 48 No. 4 Apr LAN TCP/IP LAN TCP/IP 1 PC TCP/IP 1 PC User-mode Linux 12 Development of a System to Visualize Computer Network Behavior for L Vol. 48 No. 4 Apr. 2007 LAN TCP/IP LAN TCP/IP 1 PC TCP/IP 1 PC User-mode Linux 12 Development of a System to Visualize Computer Network Behavior for Learning to Associate LAN Construction Skills with TCP/IP

More information

Web Web Web Web i

Web Web Web Web i 28 Research of password manager using pattern lock and user certificate 1170369 2017 2 28 Web Web Web Web i Abstract Research of password manager using pattern lock and user certificate Takuya Mimoto In

More information

Emacs ML let start ::= exp (1) exp ::= (2) fn id exp (3) ::= (4) (5) ::= id (6) const (7) (exp) (8) let val id = exp in

Emacs ML let start ::= exp (1) exp ::= (2) fn id exp (3) ::= (4) (5) ::= id (6) const (7) (exp) (8) let val id = exp in Emacs, {l06050,sasano}@sic.shibaura-it.ac.jp Eclipse Visual Studio Standard ML Haskell Emacs 1 Eclipse Visual Studio variable not found LR(1) let Emacs Emacs Emacs Java Emacs JDEE [3] JDEE Emacs Java 2

More information

r03.dvi

r03.dvi 19 ( ) 019.4.0 CS 1 (comand line arguments) Unix./a.out aa bbb ccc ( ) C main void... argc argv argc ( ) argv (C char ) ( 1) argc 4 argv NULL. / a. o u t \0 a a \0 b b b \0 c c c \0 1: // argdemo1.c ---

More information

untitled

untitled II yacc 005 : 1, 1 1 1 %{ int lineno=0; 3 int wordno=0; 4 int charno=0; 5 6 %} 7 8 %% 9 [ \t]+ { charno+=strlen(yytext); } 10 "\n" { lineno++; charno++; } 11 [^ \t\n]+ { wordno++; charno+=strlen(yytext);}

More information

IPSJ SIG Technical Report Vol.2010-GN-74 No /1/ , 3 Disaster Training Supporting System Based on Electronic Triage HIROAKI KOJIMA, 1 KU

IPSJ SIG Technical Report Vol.2010-GN-74 No /1/ , 3 Disaster Training Supporting System Based on Electronic Triage HIROAKI KOJIMA, 1 KU 1 2 2 1, 3 Disaster Training Supporting System Based on Electronic Triage HIROAKI KOJIMA, 1 KUNIAKI SUSEKI, 2 KENTARO NAGAHASHI 2 and KEN-ICHI OKADA 1, 3 When there are a lot of injured people at a large-scale

More information

cpp1.dvi

cpp1.dvi 2017 c 1 C++ (1) C C++, C++, C 11, 12 13 (1) 14 (2) 11 1 n C++ //, [List 11] 1: #include // C 2: 3: int main(void) { 4: std::cout

More information

IPSJ SIG Technical Report Vol.2011-EC-19 No /3/ ,.,., Peg-Scope Viewer,,.,,,,. Utilization of Watching Logs for Support of Multi-

IPSJ SIG Technical Report Vol.2011-EC-19 No /3/ ,.,., Peg-Scope Viewer,,.,,,,. Utilization of Watching Logs for Support of Multi- 1 3 5 4 1 2 1,.,., Peg-Scope Viewer,,.,,,,. Utilization of Watching Logs for Support of Multi-View Video Contents Kosuke Niwa, 1 Shogo Tokai, 3 Tetsuya Kawamoto, 5 Toshiaki Fujii, 4 Marutani Takafumi,

More information

Appropriate Disaster Preparedness Education in Classrooms According to Students Grade, from Kindergarten through High School Contrivance of an Educati

Appropriate Disaster Preparedness Education in Classrooms According to Students Grade, from Kindergarten through High School Contrivance of an Educati Appropriate Disaster Preparedness Education in Classrooms According to Students Grade, from Kindergarten through High School Contrivance of an Education of Disaster Preparedness System and Class Practice

More information

(MIRU2008) HOG Histograms of Oriented Gradients (HOG)

(MIRU2008) HOG Histograms of Oriented Gradients (HOG) (MIRU2008) 2008 7 HOG - - E-mail: katsu0920@me.cs.scitec.kobe-u.ac.jp, {takigu,ariki}@kobe-u.ac.jp Histograms of Oriented Gradients (HOG) HOG Shape Contexts HOG 5.5 Histograms of Oriented Gradients D Human

More information

1 1 tf-idf tf-idf i

1 1 tf-idf tf-idf i 14 A Method of Article Retrieval Utilizing Characteristics in Newspaper Articles 1055104 2003 1 31 1 1 tf-idf tf-idf i Abstract A Method of Article Retrieval Utilizing Characteristics in Newspaper Articles

More information

24 Depth scaling of binocular stereopsis by observer s own movements

24 Depth scaling of binocular stereopsis by observer s own movements 24 Depth scaling of binocular stereopsis by observer s own movements 1130313 2013 3 1 3D 3D 3D 2 2 i Abstract Depth scaling of binocular stereopsis by observer s own movements It will become more usual

More information

Vol.54 No (July 2013) [9] [10] [11] [12], [13] 1 Fig. 1 Flowchart of the proposed system. c 2013 Information

Vol.54 No (July 2013) [9] [10] [11] [12], [13] 1 Fig. 1 Flowchart of the proposed system. c 2013 Information Vol.54 No.7 1937 1950 (July 2013) 1,a) 2012 11 1, 2013 4 5 1 Similar Sounds Sentences Generator Based on Morphological Analysis Manner and Low Class Words Masaaki Kanakubo 1,a) Received: November 1, 2012,

More information

IPSJ SIG Technical Report Vol.2014-GN-90 No.16 Vol.2014-CDS-9 No.16 Vol.2014-DCC-6 No /1/24 1,a) 2,b) 2,c) 1,d) QUMARION QUMARION Kinect Kinect

IPSJ SIG Technical Report Vol.2014-GN-90 No.16 Vol.2014-CDS-9 No.16 Vol.2014-DCC-6 No /1/24 1,a) 2,b) 2,c) 1,d) QUMARION QUMARION Kinect Kinect 1,a) 2,b) 2,c) 1,d) QUMARION QUMARION Kinect Kinect Using a Human-Shaped Input Device for Remote Pose Instruction Yuki Tayama 1,a) Yoshiaki Ando 2,b) Misaki Hagino 2,c) Ken-ichi Okada 1,d) Abstract: There

More information

IPSJ SIG Technical Report Vol.2009-HCI-134 No /7/17 1. RDB Wiki Wiki RDB SQL Wiki Wiki RDB Wiki RDB Wiki A Wiki System Enhanced by Visibl

IPSJ SIG Technical Report Vol.2009-HCI-134 No /7/17 1. RDB Wiki Wiki RDB SQL Wiki Wiki RDB Wiki RDB Wiki A Wiki System Enhanced by Visibl 1. RDB Wiki 1 1 2 Wiki RDB SQL Wiki Wiki RDB Wiki RDB Wiki A Wiki System Enhanced by Visible RDB Operations Toshiya Okumura, 1 Minoru Terada 1 and Kazutaka Maruyama 2 Although Wiki systems can easily be

More information

haskell.gby

haskell.gby Haskell 1 2 3 Haskell ( ) 4 Haskell Lisper 5 Haskell = Haskell 6 Haskell Haskell... 7 qsort [8,2,5,1] [1,2,5,8] "Hello, " ++ "world!" "Hello, world!" 1 + 2 div 8 2 (+) 1 2 8 div 2 3 4 map even [1,2,3,4]

More information

ID 3) 9 4) 5) ID 2 ID 2 ID 2 Bluetooth ID 2 SRCid1 DSTid2 2 id1 id2 ID SRC DST SRC 2 2 ID 2 2 QR 6) 8) 6) QR QR QR QR

ID 3) 9 4) 5) ID 2 ID 2 ID 2 Bluetooth ID 2 SRCid1 DSTid2 2 id1 id2 ID SRC DST SRC 2 2 ID 2 2 QR 6) 8) 6) QR QR QR QR Vol. 51 No. 11 2081 2088 (Nov. 2010) 2 1 1 1 which appended specific characters to the information such as identification to avoid parity check errors, before QR Code encoding with the structured append

More information

null element [...] An element which, in some particular description, is posited as existing at a certain point in a structure even though there is no

null element [...] An element which, in some particular description, is posited as existing at a certain point in a structure even though there is no null element [...] An element which, in some particular description, is posited as existing at a certain point in a structure even though there is no overt phonetic material present to represent it. Trask

More information

I 2 tutimura/ I 2 p.1/??

I 2   tutimura/ I 2 p.1/?? I 2 tutimura@mist.i.u-tokyo.ac.jp http://www.misojiro.t.u-tokyo.ac.jp/ tutimura/ 2002 4 25 I 2 p.1/?? / / Makefile I 2 p.2/?? Makefile make GNU make I 2 p.3/?? Makefile L A T E X I 2 p.4/?? core (1) gcc,

More information

IPSJ SIG Technical Report Vol.2016-CE-137 No /12/ e β /α α β β / α A judgment method of difficulty of task for a learner using simple

IPSJ SIG Technical Report Vol.2016-CE-137 No /12/ e β /α α β β / α A judgment method of difficulty of task for a learner using simple 1 2 3 4 5 e β /α α β β / α A judgment method of difficulty of task for a learner using simple electroencephalograph Katsuyuki Umezawa 1 Takashi Ishida 2 Tomohiko Saito 3 Makoto Nakazawa 4 Shigeichi Hirasawa

More information

SEJulyMs更新V7

SEJulyMs更新V7 1 2 ( ) Quantitative Characteristics of Software Process (Is There any Myth, Mystery or Anomaly? No Silver Bullet?) Zenya Koono and Hui Chen A process creates a product. This paper reviews various samples

More information

untitled

untitled H8/300,H8S,H8SX [H8S,H8/300 Tool Chain Ver6.2.0.0] #define Inline static inline //************************************************** Inline char sil_and_mem(char *mem,char and) return (*((volatile

More information

評論・社会科学 84号(よこ)(P)/3.金子

評論・社会科学 84号(よこ)(P)/3.金子 1 1 1 23 2 3 3 4 3 5 CP 1 CP 3 1 1 6 2 CP OS Windows Mac Mac Windows SafariWindows Internet Explorer 3 1 1 CP 2 2. 1 1CP MacProMacOS 10.4.7. 9177 J/A 20 2 Epson GT X 900 Canon ip 4300 Fujifilm FinePix

More information

IPSJ SIG Technical Report Vol.2012-CG-148 No /8/29 3DCG 1,a) On rigid body animation taking into account the 3D computer graphics came

IPSJ SIG Technical Report Vol.2012-CG-148 No /8/29 3DCG 1,a) On rigid body animation taking into account the 3D computer graphics came 3DCG 1,a) 2 2 2 2 3 On rigid body animation taking into account the 3D computer graphics camera viewpoint Abstract: In using computer graphics for making games or motion pictures, physics simulation is

More information

1 OpenCL OpenCL 1 OpenCL GPU ( ) 1 OpenCL Compute Units Elements OpenCL OpenCL SPMD (Single-Program, Multiple-Data) SPMD OpenCL work-item work-group N

1 OpenCL OpenCL 1 OpenCL GPU ( ) 1 OpenCL Compute Units Elements OpenCL OpenCL SPMD (Single-Program, Multiple-Data) SPMD OpenCL work-item work-group N GPU 1 1 2 1, 3 2, 3 (Graphics Unit: GPU) GPU GPU GPU Evaluation of GPU Computing Based on An Automatic Program Generation Technology Makoto Sugawara, 1 Katsuto Sato, 1 Kazuhiko Komatsu, 2 Hiroyuki Takizawa

More information

:- Ofer Feldman,Feldman : -

:- Ofer Feldman,Feldman : - - -- E-mail: nkawano@hiroshima-u.ac.jp : - :- Ofer Feldman,Feldman : - : : : Mueller : - Mueller :.. : ... :........ .. : : : - : Kawano & Matsuo: - : - : - : : No. Feldman, Ofer (), The Political

More information

189 2015 1 80

189 2015 1 80 189 2015 1 A Design and Implementation of the Digital Annotation Basis on an Image Resource for a Touch Operation TSUDA Mitsuhiro 79 189 2015 1 80 81 189 2015 1 82 83 189 2015 1 84 85 189 2015 1 86 87

More information

08医療情報学22_1_水流final.PDF

08医療情報学22_1_水流final.PDF 22 (1), 702002: 59 59- The Problem of Nursing Common Language for the Information Sharing in Clinical Practice The fact-finding in regard to the correspondence between name and content of nursing action

More information

[2] OCR [3], [4] [5] [6] [4], [7] [8], [9] 1 [10] Fig. 1 Current arrangement and size of ruby. 2 Fig. 2 Typography combined with printing

[2] OCR [3], [4] [5] [6] [4], [7] [8], [9] 1 [10] Fig. 1 Current arrangement and size of ruby. 2 Fig. 2 Typography combined with printing 1,a) 1,b) 1,c) 2012 11 8 2012 12 18, 2013 1 27 WEB Ruby Removal Filters Using Genetic Programming for Early-modern Japanese Printed Books Taeka Awazu 1,a) Masami Takata 1,b) Kazuki Joe 1,c) Received: November

More information

B HNS 7)8) HNS ( ( ) 7)8) (SOA) HNS HNS 4) HNS ( ) ( ) 1 TV power, channel, volume power true( ON) false( OFF) boolean channel volume int

B HNS 7)8) HNS ( ( ) 7)8) (SOA) HNS HNS 4) HNS ( ) ( ) 1 TV power, channel, volume power true( ON) false( OFF) boolean channel volume int SOA 1 1 1 1 (HNS) HNS SOA SOA 3 3 A Service-Oriented Platform for Feature Interaction Detection and Resolution in Home Network System Yuhei Yoshimura, 1 Takuya Inada Hiroshi Igaki 1, 1 and Masahide Nakamura

More information

24 LED A visual programming environment for art work using a LED matrix

24 LED A visual programming environment for art work using a LED matrix 24 LED A visual programming environment for art work using a LED matrix 1130302 2013 3 1 LED,,,.,. Arduino. Arduino,,,., Arduino,.,, LED,., Arduino, LED, i Abstract A visual programming environment for

More information

JOURNAL OF THE JAPANESE ASSOCIATION FOR PETROLEUM TECHNOLOGY VOL. 66, NO. 6 (Nov., 2001) (Received August 10, 2001; accepted November 9, 2001) Alterna

JOURNAL OF THE JAPANESE ASSOCIATION FOR PETROLEUM TECHNOLOGY VOL. 66, NO. 6 (Nov., 2001) (Received August 10, 2001; accepted November 9, 2001) Alterna JOURNAL OF THE JAPANESE ASSOCIATION FOR PETROLEUM TECHNOLOGY VOL. 66, NO. 6 (Nov., 2001) (Received August 10, 2001; accepted November 9, 2001) Alternative approach using the Monte Carlo simulation to evaluate

More information

1., 1 COOKPAD 2, Web.,,,,,,.,, [1]., 5.,, [2].,,.,.,, 5, [3].,,,.,, [4], 33,.,,.,,.. 2.,, 3.., 4., 5., ,. 1.,,., 2.,. 1,,

1., 1 COOKPAD 2, Web.,,,,,,.,, [1]., 5.,, [2].,,.,.,, 5, [3].,,,.,, [4], 33,.,,.,,.. 2.,, 3.., 4., 5., ,. 1.,,., 2.,. 1,, THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS TECHNICAL REPORT OF IEICE.,, 464 8601 470 0393 101 464 8601 E-mail: matsunagah@murase.m.is.nagoya-u.ac.jp, {ide,murase,hirayama}@is.nagoya-u.ac.jp,

More information

Fig. 3 Flow diagram of image processing. Black rectangle in the photo indicates the processing area (128 x 32 pixels).

Fig. 3 Flow diagram of image processing. Black rectangle in the photo indicates the processing area (128 x 32 pixels). Fig. 1 The scheme of glottal area as a function of time Fig. 3 Flow diagram of image processing. Black rectangle in the photo indicates the processing area (128 x 32 pixels). Fig, 4 Parametric representation

More information

16_.....E...._.I.v2006

16_.....E...._.I.v2006 55 1 18 Bull. Nara Univ. Educ., Vol. 55, No.1 (Cult. & Soc.), 2006 165 2002 * 18 Collaboration Between a School Athletic Club and a Community Sports Club A Case Study of SOLESTRELLA NARA 2002 Rie TAKAMURA

More information

ex01.dvi

ex01.dvi ,. 0. 0.0. C () /******************************* * $Id: ex_0_0.c,v.2 2006-04-0 3:37:00+09 naito Exp $ * * 0. 0.0 *******************************/ #include int main(int argc, char **argv) { double

More information

ex01.dvi

ex01.dvi ,. 0. 0.0. C () /******************************* * $Id: ex_0_0.c,v.2 2006-04-0 3:37:00+09 naito Exp $ * * 0. 0.0 *******************************/ #include int main(int argc, char **argv) double

More information