CS315 Project 1 - Creating basics of a new programming language
Lex folder has the lexical anaylzer only. Yacc & Lex folder has both the analyzer and parser.
Both folders have a Makefile, you can use it with ease.
CS315 - Programming Languages course - Bilkent University
This was a group project which 3 people worked on it.
Project Description:
A Programming Language for IoT Devices and its corresponding Lexical Analyzer and Parser This semester's projects are about the design of a new language for Internet of Things (IoT) edge devices, also called nodes. Assume that you are working in the software department of a company that builds IoT devices. The hardware department constructs IoT nodes that has
sensor; eg., temperature, humidity, air pressure, air quality, light, sound level (for a given frequency), 10 switches that can be set as on/off to control some actuators, a timer that returns the current timestamp, the number of seconds elapsed since midnight Coordinated Universal Time (UTC) of January 1, 1970, not counting leap seconds. connection to the internet.
Your team is asked to design a special purpose Programming Language to program the IoT nodes produced by the hardware department. People who purchase these devices may not be computer engineers; so it is important that the programming language is readable, writable and reliable. This newly designed language should be similar to imperative languages, since the users are assumed to have taken a basic programming course in the college.