Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS CompTIA Security+ AWS Certified Developer - Associate
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Personal Development Mindfulness Personal Transformation Meditation Life Purpose Coaching Emotional Intelligence
Web Development JavaScript React CSS Angular PHP WordPress Node.Js Python
Google Flutter Android Development iOS Development Swift React Native Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Retargeting
SQL Microsoft Power BI Tableau Business Analysis Business Intelligence MySQL Data Analysis Data Modeling Data Cleaning
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Online Business Business Plan Startup Freelancing Blogging Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
30-Day Money-Back Guarantee

This course includes:

  • 1.5 hours on-demand video
  • 1 article
  • 2 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
Development Programming Languages Programming Fundamentals

Create a NEW programming Language from scratch

In Simple and Comprehensive manner
Rating: 2.0 out of 52.0 (88 ratings)
688 students
Created by Harshit Srivastava, Pranjal Srivastava
Last updated 11/2020
English
30-Day Money-Back Guarantee

What you'll learn

  • On completion of this course you could create your OWN programming Language, and you would be able to design your own compiler implementing all the concepts behind including LEXICAL Analysis, PARSING, etc. This could also be beneficial for simple learning purpose.

Course content

3 sections • 7 lectures • 1h 20m total length

  • Preview13:19
  • Part-2 Exploring LEXER, PARSER and COMPILER
    07:20
  • Creating a Programing language (Optional Reading)
    01:54

  • Preview08:53
  • Part-4 Jump Start with Calculator Language
    18:28

  • Part-5 Programming Language Approach
    17:41
  • Part-6 Enhancing Language to support Variables, Strings, and pre-defined methods
    13:05
  • Fundamental Concepts
    8 questions

Requirements

  • You must be familiar with any programming language at beginner level.
  • You might need familiarity of some concepts in Compiler Design and Automata, and you need to be familiar with Java Programming language.
  • Although if you don't have any exposure to these terms, you can still benefit from this course, but you should try to learn more on Compiler Design and Automata later.

Description

Welcome to this course, where you would learn how you create a programming language with some functionalities, right from the beginning in short amount of time. The key concepts involved in a programming languages are Compiler Design and Theory of Automata. You might need familiarity of some concepts in these domains, and you need to be familiar with Java Programming language. Although if you don't have any exposure to these terms, you can still benefit from this course, but you should try to learn more on Compiler Design and Automata later. These are the core building blocks of a programming language, being complex topics, and we tried to simplify a few of them and provide a quick roadmap of steps involved in developing a completely new Programming Language.

Before heading to create a Programming language, you may need to be clear with what kind of Programming language you would like to develop. Just put a sheet of paper and write your requirements beforehand, based on these questions:

  • Will it be based on a Compiler or an Interpreter or both?

  • Does it require UNICODE literals (for non-English syntax, like Hindi, Tamil, Chinese, Russian, Arabic, etc.)

  • Or can it be written with ASCII (for English syntax or Roman script)

  • Would it require bytecode, or does it directly convert to machine code?

  • If it requires bytecode, can you use any existing bytecode program like JVM?

  • Will it be an Object Oriented language like Java, Python or Procedural like C?

  • Would you require bootstrapping (writing compiler in the same NEW language you are creating) or not?

  • Would you require to manually perform operations like Lexical Analysis, Parsing, Syntax tree, etc or will you Automate some of these?

You can ask yourself more such questions, and here you will be learning to create a programming language that will follow this set of features:

  • It will be based on Compiler

  • It will be implemented in ASCII (as the new language is based on English)

  • Yes, it will be implementing bytecode, and based on JVM (Java Virtual Machine)

  • It will be a simple procedural language, but you can add Object Oriented and other feature later.

  • Its compiler will be written in Java, No bootstrapping involved.

  • Some parts of the compiler will be automated

In the beginning of this course, you will learn about the Grammar. You will learn how to create a grammar file and what are the next steps involved in creating the programming language. Next you will be learning about Lexical Analysis, Parsing and Compiler. In the following section you will learn how to create a simple calculator based programming language, and in the last section you will learn how to enhance language to support variables. You would be able to print strings, perform operations on variables. Later you can add control statements in a similar manner.


Who this course is for:

  • Anyone who is passionate about creating His/Her very OWN Programming Language. Also for learners who want to explore into designing a COMPILER.

Instructors

Harshit Srivastava
SME on Cloud, Bluemix
Harshit Srivastava
  • 3.6 Instructor Rating
  • 2,623 Reviews
  • 53,372 Students
  • 73 Courses

I am Self-Taught developer who had worked on various platforms using varied languages, and involved in various Projects both Open Source and Proprietary.

I have developed Web and Android Applications, chrome Extension, worked on various frameworks, fixed bugs for some projects, and explored numerous others. I think education and learning should be free and open, not be bound with restrictions like attending classes or going to college, People from all age groups, gender, faith, race, nations, etc must get equal privilege. When entire world would act this way like being a single FAMILY, we would truly realise VALUE of Knowledge and Human Life.

Currently i am teaching more than 48,000 students from 158 countries across the world.

Pranjal Srivastava
SME of AWS & IBM Cloud
Pranjal Srivastava
  • 3.5 Instructor Rating
  • 1,906 Reviews
  • 53,055 Students
  • 56 Courses

I am passionate developer, machine learning enthusiast, coder and bug fixer. Developed many applications on various platforms including python, java, android, php, etc.

I have worked over cloud on IBM Bluemix, AWS, and Microsoft Azure. Prefer digital marketing and SEO in my free time.

I am IBM certified Python developer.

Created own Programming language in Hindi .

#ILoveIndia

#LoveOpenSource   #SmartProgrammer


  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.