LOGO
Programming Languages and Compilers
Multiple Electronic Device Remote ControlMr. Suwich Chaivatmalakul st111207 CSIM
Mr. Phattarachai Chaimongkol st111231 CSIMMr. Worawit Panpanyatep st111453 CSIMMr. Thanakorn Piroonsith st111643 CSIM
Contents
Abstract
Sample language
Sample User Interface
Demo
[Image Info] www.wizdata.co.kr - Note to customers : This image has been licensed to be used within this PowerPoint template only. You may not extract the image for any other use.
Questions and Answers
Abstract ● Are you tired?
● Most regular electronic devices are controlled manually or has its own remote control.
● If this continues, what will happen?
One day, sooner or later…
Abstract (Cont.)● Make life easier
● One remote for all
What capabilities of that?
● Programmability
● Simplicity
● Practicality
Who is our target objective?● Electricity Generating Authority of Thailand
(EGAT)
Who is our target objective?● Home user
Software Architecture
Activity diagram
Language Grammar1. <device_assign> := <device> <number> =
<device_name> <number> <watt>goal ::=
2. elec_cost3. device_assign_list4. button_assign_list5. timer_assign_list6. function_list7. stmt_list
Language Grammar (Cont.)8. device_assign_list ::=9. device_assign_list device_assign10. | device_assign 11. device_assign ::= DEVICE NUMBER EQUAL
device_name NUMBER WATT 12.device_name ::= ID 13.button_assign_list ::=14. button_assign_list button_assign15. | button_assign16.button_assign ::=17. BUTTON NUMBER EQUAL stmt_list
Language Grammar (Cont.)18.stmt_list ::=19. stmt_list stmt20. | stmt 21.stmt ::=22. action_stmt SEMI23. | if_stmt 24. if_stmt ::=25. IF LPAREN cond_stmt_list RPAREN THEN LBRACE
stmt_list RBRACE26. | IF LPAREN cond_stmt_list RPAREN THEN
LBRACE stmt_list RBRACE ELSE LBRACE stmt_list RBRACE
Language Grammar (Cont.)27.cond_stmt_list ::=28. cond_stmt_list cond_op cond_stmt29. | cond_stmt 30.cond_op ::=31. AND32. | OR 33.cond_stmt ::=34. device_name IS ON35. | device_name IS OFF36. | TOTAL_WATT compare_op NUMBER
Language Grammar (Cont.)37.compare_op ::=38. EQUAL39. | LT40. | GT41. | LT_EQUAL42. | GT_EQUAL 43.action_stmt ::=44. TURN ON device_name45. | TURN OFF device_name
Language Grammar (Cont.)46. timer_assign_list ::=47. timer_assign_list timer_assign48. | timer_assign 49. timer_assign ::=50. TIMER NUMBER EQUAL timer_cmd 51. timer_cmd ::=52. action_stmt AT TIME timer_day 53. timer_day ::=54. ON day_list | EVERYDAY | EVERY day_list 55.day_list ::=56. day_list DAY | DAY
Language Grammar (Cont.)57. function_list ::=58. function_list func_stmt59. | func_stmt 60. func_stmt ::=61. FUNCTION ID LBRACE stmt_list RBRACE 62.elec_cost ::=63. NUMBER BAHT PER WATT_HOUR
Application User Interface
Application User Interface (Cont.)
Application User Interface (Cont.)
Application User Interface (Cont.)
Application User Interface (Cont.)
LOGOQuestion? & Answer!
Thank You!