Make YOUR OWN Programming Language - EP 1 - Lexer

Sdílet
Vložit
  • čas přidán 28. 08. 2024

Komentáře • 853

  • @billclinton4913
    @billclinton4913 Před 4 lety +1211

    Imagine running an interpreted language over an Interpreted language.

    • @CodePulse
      @CodePulse  Před 4 lety +174

      Haha yes

    • @pluscrafter7117
      @pluscrafter7117 Před 4 lety +138

      Many compilers do that. I think it's called bootstraping and there is a python interpreter that is programmed in python (pypy).

    • @ramakanthrama8578
      @ramakanthrama8578 Před 4 lety +13

      @@CodePulse Lol

    • @e.6z1
      @e.6z1 Před 4 lety +6

      @@universenerdd YOU are dumb, Pluscrafter NEVER said Python was compiled and at least Pluscrafter knows the difference between their, they're and there

    • @universenerdd
      @universenerdd Před 4 lety +4

      @@e.6z1 okay, so what i meant was interpreters are not compilers, if you look at the original comment it makes sence, and i do know the difference, if that was what you were implying

  • @finndotbin
    @finndotbin Před 3 lety +232

    Me: *blinks*
    Him: Now we are done let’s code the entire f-ing universe
    edit: dang this was a year ago when I didn't know how to code and now I feel bad for commenting this. Amazing video

    • @dittomario
      @dittomario Před 3 lety

      @Yousef GG! sdhgasuydgsduygaysudgyasdgyaudhahdyaghyiuasdgyasgy!!!!

    • @dominiktoser8531
      @dominiktoser8531 Před 3 lety +2

      thats when you blink very slow

    • @dominiktoser8531
      @dominiktoser8531 Před 3 lety +2

      @Yousef GG! LANGUAGE

    • @soupnoodles
      @soupnoodles Před 3 lety

      @@dominiktoser8531 dafaq

    • @nitro-ww6sk
      @nitro-ww6sk Před 3 lety

      He speaks quite fast, this causes some times different words to be pronoucned wrong. For example he means to say LEXER and i hear LECTURE or LETUCE.

  • @HT79
    @HT79 Před 3 lety +36

    It took CZcams 2 years to recommend this amazing tutorial....
    Really well done mate! It's inspired me enough to dabble on my own version.
    Not sure about an entire language but could be really useful for making CLIs.

    • @CodePulse
      @CodePulse  Před 3 lety +8

      Thanks! Yes definitely useful for CLIs, and also for parsing your own custom data file format.

    • @Markadown
      @Markadown Před 3 měsíci

      And it took CZcams 5 years to recommend it to me, lol.

    • @hamzacasdasdasd
      @hamzacasdasdasd Před 2 měsíci

      @@Markadown me to

  • @camclarke762
    @camclarke762 Před 3 lety +9

    Great tutorial mate, but can we just take a moment to gaze in awe at this man's typing speed and code cleanliness like sheesh

  • @shouryshinde4145
    @shouryshinde4145 Před 3 lety +49

    10:35: "generates all the tokens correctly..."
    Me: *runs program*
    output: [ ]

    • @hasanekmen7873
      @hasanekmen7873 Před 3 lety +4

      Input : 9 * 9
      Output :
      Input : d
      Output : Illagel Char : d
      Input : d * 9
      Output :

    • @gamingforever65
      @gamingforever65 Před 6 měsíci +1

      I have the same problem is there any fix

    • @LavenderCat175
      @LavenderCat175 Před 5 měsíci +1

      @@gamingforever65 Yes please encountering the same issues

    • @nathanaelchia7167
      @nathanaelchia7167 Před 3 měsíci

      It should be at the tokens list, the [] should have a space in between

  • @Jerraf2p0
    @Jerraf2p0 Před rokem +10

    I can’t believe this dude wrote a full lexer without any modules. Great job

  • @albertlevins9191
    @albertlevins9191 Před 2 lety +27

    Dude, thanks. You don't know me, but I am a solo game designer with a solid "B" in art skills, but a "C-" in programming. I have been trying to implement a basic like script interpreter in a python program I am making. Been trying for several years to get it right. This tutorial is EXACTLY what I needed. Thanks again.

  • @universenerdd
    @universenerdd Před 4 lety +19

    finally, a version of BASIC that is actually basic

  • @chandlercoates7637
    @chandlercoates7637 Před 3 lety +199

    now create another language with that basic language you're creating

    • @dimitar.bogdanov
      @dimitar.bogdanov Před 3 lety +36

      Funnily enough, when you are able to do that, you can call your language Turing-complete (it can recreate itself, in itself), and is mostly a good-enough programming language for most basic tasks.

    • @hacklordmonster8780
      @hacklordmonster8780 Před 3 lety +14

      Good luck with the speed of it

    • @0x1EGEN
      @0x1EGEN Před 3 lety +2

      @@dimitar.bogdanov You mean "self-hosting".

    • @dimitar.bogdanov
      @dimitar.bogdanov Před 3 lety +5

      ​@@0x1EGEN Your original reply:
      "You mean "self-hosting", turing complete just means it can theoretically compute anything. en.wikipedia.org/wiki/Self-hosting_(compilers)"
      An answer: no. A self-hosting compiler can compile itself, yes, but a language can be interpreted, and you could still make another language with it.
      Being Turing-complete means that it can simulate a Turing-machine. Taken from Wikipedia:
      "For example, an imperative language is Turing-complete if it has conditional branching (e.g., "if" and "goto" statements, or a "branch if zero" instruction; see one-instruction set computer) and the ability to change an arbitrary amount of memory (e.g., the ability to maintain an arbitrary number of data items)."
      That means, that as long as you have if statements and some way to loop (be it goto statements or a for loop), your language is turning complete.

    • @elliotk9291
      @elliotk9291 Před 3 lety

      I'm actually doing that right now

  • @Drqonic
    @Drqonic Před 4 lety +160

    This is amazing to be honest. I've never seen anyone else code as cleanly as you.
    Do you think you could make a video on making a compiler next time?

    • @CodePulse
      @CodePulse  Před 4 lety +42

      Thanks! I do plan on doing that soon. The later episodes in this series have gotten more messy and complicated, and I'm planning on redoing this series first. I also am doing a simpler 4 part series on making a math interpreter before that. So hopefully I get around to doing a compiler soon :)

    • @Drqonic
      @Drqonic Před 4 lety +9

      @@CodePulse Thanks for the quick reply! I look forward to future videos :)

    • @TuckerTheMandolinist
      @TuckerTheMandolinist Před 2 lety +4

      @@CodePulse a compiler would be AMAZING!

    • @sacredgeometry
      @sacredgeometry Před 2 lety +2

      This isn't cleanly written. There is lots room for abstraction here.

    • @10F2C
      @10F2C Před rokem

      You mean compiler that actually writes machine code?

  • @logangraham2956
    @logangraham2956 Před 3 lety +4

    oh your lexer is so nice . it actually handles problems.
    my lexer just advances over them .
    so once/if mine ever becomes a compiler instead of a interpreter.
    literally everything will compile but whether or not it will run is another story entirely.

  • @silkcut5561
    @silkcut5561 Před 4 lety +7

    Awesome! Thanks to all channels which shows this topic. I always wondered how this works :) Thanks to all!

  • @arthur_p_dent4282
    @arthur_p_dent4282 Před 2 lety +10

    This is great. Been working my way through Nand 2 Tetris on my own. I made it through the hardware portion all right but once it got to writing the assembler I felt completely lost. Hoping this will give me the nudge I need, so far I'm loving the content and can't wait to finish.

  • @sourishsharma5745
    @sourishsharma5745 Před 3 lety +8

    This channel is underrated...

  • @holomode1357
    @holomode1357 Před 4 lety +66

    "We can multiply numbers": 1 + 2
    Python default calculation: 1 + 2

  • @CyberCoder
    @CyberCoder Před 2 lety +2

    I've got like 3 yrs of experience in C#, but only like 3 months in Python. Probably not this I should do with only 3 months of exp. but I strongly believe that my C# skills will help. Amazing tutorial ngl

  • @MirrorsEdgeGamer01
    @MirrorsEdgeGamer01 Před 5 lety +75

    Why did you make an *_as_string_* method not just use the built in Python's *___str___* method?

    • @CodePulse
      @CodePulse  Před 5 lety +44

      I hadn't really used Python much in ages so never though of it then. I realized a while later but never bothered to change it.

    • @jaysonlana9147
      @jaysonlana9147 Před 3 lety +1

      @@CodePulse sorry im new to python and i recieve ths error but i dont have str in my code
      AttributeError: 'str' object has no attribute 'fn'

    • @anshbarhate2791
      @anshbarhate2791 Před 2 lety

      @@jaysonlana9147 If you still have that issue, it means somewhere you've typed self.fn instead of ln. Probably in def copy()

    • @thelavagod
      @thelavagod Před 11 dny

      ​@@anshbarhate2791the comment was 3 years ago

  • @Markkkkkkkkkkkkkkkkk
    @Markkkkkkkkkkkkkkkkk Před 4 lety +78

    Nice. I'm 15 and thinking of creating one in the future.
    I might name it : Pascala
    Pascala's name is derived from Pascal + Scala

    • @bmax5928
      @bmax5928 Před 3 lety +6

      ill take that m8

    • @dimitar.bogdanov
      @dimitar.bogdanov Před 3 lety +28

      Don't share your project names with strangers until you've created something. Bad, bad idea

    • @MrDgf97
      @MrDgf97 Před 3 lety +4

      I’m always so envious of seeing young people with that drive. When I was 15 all I cared about was playing videogames and being cool, such useless things

    • @danielshah3494
      @danielshah3494 Před 3 lety

      Sounds gay af tbh

    • @martilix4470
      @martilix4470 Před 3 lety +2

      @@dimitar.bogdanov thats the stupidest thing I’ve ever heard. The name, or even the idea don’t matter, the execution does

  • @Apoorvpandey
    @Apoorvpandey Před 2 lety +1

    The error output looks so neat!
    Copilot suggested me how to get output like this:
    calc> 12+23.3+g
    Illegal Character: g
    File , line 1
    12+23.3+g
    ^
    Error representation should be:
    result = f'{self.name}: {self.details}'
    result += f'
    File {self.pos_start.filename}, line {self.pos_start.ln + 1}'
    line = self.pos_start.filetext[:self.pos_start.col+1]
    result += f'
    {line}'
    result += '
    ' + ' ' * (self.pos_start.col) + '^'
    return result

  • @sakul_the_one4821
    @sakul_the_one4821 Před 3 lety +4

    Really thx for this Toutorial! This was my first Toutorial that I used for Python ( If I don’t mention the Python Code in my Java File and 8 Videos of Python but I didn’t test them...) So I learned here not just how to make a programming language, I learned even Python with this Toutorial! Really thx for it!

  • @Dorsz12303
    @Dorsz12303 Před 2 měsíci

    I always wanted to make my own programming language. And I find perfect tutorial from 2018. Thank you!

  • @MrKoshak3
    @MrKoshak3 Před 5 lety +4

    You're just a god, I barely understand English, but I understand you more than compatriots

  • @deckermv7530
    @deckermv7530 Před 2 lety +3

    Absolutely great job for a talented mad man like you. Looks like this series is gonna be sick. Thanks for sharing this! Gonna learn a lot from this

  • @ga_per
    @ga_per Před 3 lety +8

    WTF youtube's algorithm is already in 2080, I was thinking about creating a language yesterday and now I get this in my recommended

  • @therandomguy1701
    @therandomguy1701 Před 3 lety +2

    Finally, my next project to test my 1 month of programming experience!

  • @thinkmovies4565
    @thinkmovies4565 Před 5 lety +6

    Awesome, I know have a fully working lexer and I am working on a programming language known as jublee. Which already has the basic features of addition , sub , mul and div.

    • @fenderat1713
      @fenderat1713 Před 4 lety

      link it and ill try it out anbd give my own feedback

  • @parkeranderson23
    @parkeranderson23 Před 4 lety +5

    wow this is genuinely quality content 10/10

  • @justcallmenoah5743
    @justcallmenoah5743 Před 3 lety +1

    Bro you are a genius! I came for the custom OS project but I'm gonna have to watch your entire back catalogue!

    • @CodePulse
      @CodePulse  Před 3 lety

      Thanks! Hope this series is as good as my operating system one.

    • @justcallmenoah5743
      @justcallmenoah5743 Před 3 lety

      @@CodePulse im excited to finish this one quickly, and excited to see where the operating system goes!

  • @cannedsoup4622
    @cannedsoup4622 Před 2 lety +10

    I thought that the output of "1.2+1" would be "float: 1.2 | plus | int: 1", however I've noticed that it skips the plus sign entirely.
    It does that for every first character behind a number. I checked my code (I translated your code into lua and thought I messed something up) and then was suprised to see that indeed, it skips the first character that comes after any number in the make_number function.
    There is an easy fix to it tho! After the loop in the make_number function you need to decrement the self.pos by 1. (self.pos -= 1) After doing that it now correctfully translate the input "1.2+1" to "float: 1.2 | plus | int:1" instead of the output given above.
    I do not know if the same issue has happened to anyone else before, but if it did it would be nice if you could pin this message, it was not as easy to track down as it might sound from above.
    Nice video nontheless! It helped me out a lot!

    • @UnladenSwallow227
      @UnladenSwallow227 Před 2 lety +1

      Are you sure you didn't call self.advance() in the while loop of make_tokens() as well, after tokens.append(self.make_number())? That would result in calling self.advance() twice, which creates the issue you ran into. I have the code in the video and I was not able to reproduce your issue at all.

    • @NA-jy4zd
      @NA-jy4zd Před 2 lety +1

      The problem is just you. There is something wrong with your code. You can copy the ep1 code from github to confirm that you did everything correctly.

  • @abheygupta2332
    @abheygupta2332 Před 3 lety +13

    We are making a programming language with python which is an easy language
    just imagine how the first programming would have been created

    • @supersani21
      @supersani21 Před 3 lety +4

      Well we do use C++ for Python which derives itself from assembly languages which derives itself from machine language

    • @kartikeykushwaha3622
      @kartikeykushwaha3622 Před 3 lety +4

      @@supersani21 I think python's written in C.

    • @GDPlainA
      @GDPlainA Před 3 lety

      @@kartikeykushwaha3622 C++ can run C code btw so its not really a big difference.

    • @mcds6307
      @mcds6307 Před 2 lety +2

      @@GDPlainA It is. C++ is not C.

    • @engelsteinberg593
      @engelsteinberg593 Před 2 lety

      Assembly, and assembly was created with hex. Altrogut assembly is easy created.

  • @perinoveriza1658
    @perinoveriza1658 Před 5 lety +4

    Im enjoy with your video...great teaching 👍👍👍❤️❤️

  • @kavyaagrawal2013
    @kavyaagrawal2013 Před 3 lety +4

    Thank you so much for this tutorial! Very well explained ;)
    I'll try making one in javascript!
    Thanks again!

  • @nathanellis7819
    @nathanellis7819 Před 4 lety +19

    THIS WAS EXCELLENT! WELL DONE MATE!!

  • @greasymushroom112
    @greasymushroom112 Před 3 lety +5

    I’m making a language called quil (yes I know there is only one “L”) this helped a lot

    • @mavdotj
      @mavdotj Před 3 lety

      What a coincidence (look at my name)

  • @jonoisedev
    @jonoisedev Před 3 lety

    Oh, man! I could watch this all day long.

  • @ouioui2793
    @ouioui2793 Před 4 lety +16

    Im creating a language called Neptune, 'cuz it is my favorite planet. I want to make it the most easy to understand programming language using a lot of simple keywords

    • @CodePulse
      @CodePulse  Před 4 lety +2

      Good luck with it!

    • @ahmedzarin2247
      @ahmedzarin2247 Před 3 lety

      @MoolsDogTwo hey me too!

    • @Tashmimanam
      @Tashmimanam Před 18 dny

      Make sure to make it beautiful bcuz Neptune is a beautiful planet 😁👍

  • @rodrigopennacchi2451
    @rodrigopennacchi2451 Před 7 měsíci

    Thank you for sharing this very clear and usefull material! it is amazing, congratilations!

  • @somethingwithtech
    @somethingwithtech Před 2 lety

    i ran into a problem while coding and i literally searched for 45min befor i realised that i miss spelled a variable.
    Btw great Video thanks ;)

  • @ScienceCodeCreations
    @ScienceCodeCreations Před 8 měsíci +1

    Good tutorial! I tried this once before when I was still pretty new at python and I didn't understand it so I gave up after the first two vids. But, now that I'm more familiar with the syntax of python, I can actually understand everything in this tutorial.

  • @vladusa
    @vladusa Před 2 lety +1

    This video reminds me that there is always a better programmer out there.

  • @emilsayahi1
    @emilsayahi1 Před 4 lety +2

    You're fairly damn good at explaining things.

  • @creepersaur
    @creepersaur Před 2 lety +2

    I think I got something wrong. I followed the tutorial, but what happens when I do 1 + 1 is strange.
    basic > 1 + 1
    [, , ]
    NEVERMIND I forgot to put __ after __repr

  • @andreweathan
    @andreweathan Před 4 lety +5

    thanks for the tutorial, you have good programming skills

  • @HalfAsleepSam
    @HalfAsleepSam Před rokem

    This man types at the speed of sound, I havent even finished typing class Token: and the video is already over like holy fuck

  • @IsaacHoweiner
    @IsaacHoweiner Před 4 lety +3

    This is something I can work with. I love your accent

  • @MrRyanroberson1
    @MrRyanroberson1 Před 3 lety +1

    7:11 really really important flaw: the while loop will keep appending same char to the string indefinitely once it starts. there's nothing to advance it. ok you caught this at 10:31, this took me a couple watches to see if you put that somewhere in the video

  • @skilless935
    @skilless935 Před 3 lety +5

    "create your VERY OWN programming language in Python"
    *"I used the programming language to program the programming language"*

    • @aditmagotra6914
      @aditmagotra6914 Před 3 lety +3

      This does... put a smile on my face

    • @megamer2340
      @megamer2340 Před 3 lety +1

      Actually since python is based in c...
      I used the programming language to program the programming language to program the programming language

    • @mizu_yt
      @mizu_yt Před 3 lety

      that's actually how all programming languages are developed

    • @aditmagotra6914
      @aditmagotra6914 Před 3 lety

      @@mizu_yt Its an avengers refrence

    • @mizu_yt
      @mizu_yt Před 3 lety

      @@aditmagotra6914 i know that

  • @elquelobetodo
    @elquelobetodo Před 3 lety +7

    my teacher let me make an a compilator for my exam, i want to see his face when he try to prove the nekolenguage

  • @kanuos
    @kanuos Před 2 lety

    Thank you so much for making this. Subscribed!

  • @ihorandreienko9648
    @ihorandreienko9648 Před 4 lety +4

    you're amazing!! Great tutorial

  • @lasannishshanka4850
    @lasannishshanka4850 Před 4 lety +1

    Sorry CodePulse, I have some questions.. :)
    1. Python is a language that is a bit slow compared to other lnguages. So can another language created using python be faster than Python ?
    2. Does this tutorial series include everything in BASIC Language ?
    3. What are the basics of the Programmig Language ?
    Many thanks to the tutorials you created ^)

    • @CodePulse
      @CodePulse  Před 4 lety +3

      1. A language created in Python can be faster if (a) it is compiled to machine code, or (b) it is compiled to byte-code to be interpreted by some other application such as JVM (Java virtual machine), or WASM (WebAssembly to allow it to run on the web).
      2. No, as the series progresses the language differs more from the basic language.
      3. I'm not sure what you are asking here.
      Your welcome :)

  • @Cowboy8625
    @Cowboy8625 Před 5 lety +5

    Dude! Great video!!!!

    • @CodePulse
      @CodePulse  Před 5 lety +1

      Thanks

    • @Cowboy8625
      @Cowboy8625 Před 5 lety +2

      CodePulse yeah man! You write some super clean code! I’m trying to make my own language just for fun and wow this has help a lot. It’s really really fun to! Keep it up man!!

  • @muzafferckay2609
    @muzafferckay2609 Před 2 lety +1

    You dont have to type tons of 'elif' use a dict to map symbol to its value

  • @hartsaxena371
    @hartsaxena371 Před 4 lety +1

    This is... actually really good.

  • @learnforbest-4500
    @learnforbest-4500 Před 4 lety +2

    thanks for your tutorial @CodePulse sir

  • @oldmovies3776
    @oldmovies3776 Před 8 měsíci +1

    How does the computer know what is basic

  • @TuckerTheMandolinist
    @TuckerTheMandolinist Před 2 lety

    I am very exited to start creating my own programming language! I bet this will be very helpfull!

  • @just_kidding_kid
    @just_kidding_kid Před 4 lety +2

    Much much thanks for your videos! It helped me a lot while other tutorials and series did not

  • @udaynj
    @udaynj Před 8 měsíci

    This is amazing!

  • @unh0lys0da16
    @unh0lys0da16 Před 4 lety +1

    To speed things up you might want to set self.length to len(text) in __init__, else you change the complexity of advance to O(n) where n is the length of the text.

    • @CodePulse
      @CodePulse  Před 4 lety

      Are you saying the Python `len` function is O(n)?

    • @unh0lys0da16
      @unh0lys0da16 Před 4 lety +1

      @@CodePulse aaah I've done some tests and it seems to be O(1), apparantly Python builtins (Dict, Lists etc) keep track of the size internally.

    • @CodePulse
      @CodePulse  Před 4 lety

      @@unh0lys0da16 Makes sense, that's what I assumed. Different from C's strlen function which is O(n)

  • @roku1892
    @roku1892 Před 4 lety +3

    Thanks sir!
    I can make my own programming language

  • @inserteunnombreapropiado9079

    Now try to make one with assembly.

  • @freebiman8268
    @freebiman8268 Před 2 lety

    Thank you I enjoyed this I always wanted to do something like this

  • @bigbabby1232
    @bigbabby1232 Před 4 lety +1

    how did you get it so that when you click new terminal it says just terminal> and not the path to the folder you are working in?
    Also I copied everything from github and type in the terminal 'python3 shell.py' nothing happens!
    Edit: I have the Python extention for VScode in version 2018.3.0

    • @CodePulse
      @CodePulse  Před 4 lety +1

      On windows you can use the "prompt" command to change what text shows up.
      If you are using windows 10, it preinstalls a python3 program, but this isn't the real python, rather a link to the microsoft store to install python. This could be why nothing happens. Try just run "python" instead of "python3", otherwise you may have to update your path.

    • @bigbabby1232
      @bigbabby1232 Před 4 lety

      @@CodePulse thanks, just changing pythin3 to python sorted it. (:

  • @jesnilinke5016
    @jesnilinke5016 Před 3 lety +2

    If I did this in a different Programming language, do I follow these steps or should I translate it?

    • @reinhold1616
      @reinhold1616 Před 2 lety

      well you cant run python in an interpreter/compiler that is not for python ;)

  • @imyashkale
    @imyashkale Před 4 lety +1

    Thank you. please upload more content

  • @jd-dev
    @jd-dev Před 2 lety

    Super useful !! Thanks you !

  • @krzysiek1918
    @krzysiek1918 Před 2 lety +1

    AWESOME video, thanks

    • @reinhold1616
      @reinhold1616 Před 2 lety

      low level languages overall are better for it

  • @miniappletheapple
    @miniappletheapple Před 3 lety

    a year ago i wanted to create a programming language but i don't even know what is class in python,but now i can code in rust,understanding OOP and little bit of data structure and algorithm

  • @albithesecond3921
    @albithesecond3921 Před 2 lety

    You are the best!

  • @it1shka
    @it1shka Před 4 lety

    seems difficult but i want to get into it ;) for the first time watching i just rewrite your code. When you began to improve Error class my brains just broke. I think i will watch this vid till I understand it enough good.
    At all, good tutorials, one of the best ive found. Unfortunately, in Russian programming segment there is no tutors how to create your own compiler/interpreter. But it seems like i found an amazing one in English
    sorry for broken English

    • @CodePulse
      @CodePulse  Před 4 lety

      Thank's for your comment! Your English is not bad. I think I overcomplicated this series, and I intend to simply things in my future tutorials :) Good luck!

  • @abduksam
    @abduksam Před 3 lety +3

    Oh my godddd i will make my own programming language i will make exe of the files and done my friends will use my programming language boom its name would be py# inspired from python and c# boom well and i will be upgrading it obviously like adding classes and objects in the next 5 years coz i have just completed python 4 months ago and my friends would be like😲😲😲😲 you are 11 and you made a programming language really

  • @itsalerio2859
    @itsalerio2859 Před 3 lety

    I can make my special coding lang now ! Wow

  • @dugtheartofbeingone2425

    Seems like the easiest language to understand out of the few I've seen! How did you come across it?

  • @Bl0xxy
    @Bl0xxy Před 8 měsíci

    I personally would've used enums for the token system, I'll just try to follow along with those, hope it isn't too much of a struggle (I'm using C++, and yes I know python doesn't have them builtin but there is a builtin lib for that)

  • @yeahuh4128
    @yeahuh4128 Před 3 lety +5

    I've been working on the class Error so long, now I can't pronounce the word 'error'

  • @GeneralN0va
    @GeneralN0va Před 3 lety

    Imagine making a programming language built on a programming language, that's also built on a programming language

  • @HyperBassYT
    @HyperBassYT Před 2 lety

    I like how you need a programming language to make a programming language

  • @gign_9891
    @gign_9891 Před 2 lety

    if i knew how to make a programming language, I would call it OceanCode and code for making text with another font like hello world is
    anyways my favorite font is indeed consolas

  • @danielmunch2219
    @danielmunch2219 Před 5 lety +28

    Nice video. But please just don't copy the same thing HowCode does...

    • @CodePulse
      @CodePulse  Před 5 lety +21

      Thanks. My aim for this series is to improve on HowCode's tutorials, as his original series didn't use proper techniques, and he rushed his newer series in my opinion. I also plan on making the series much longer and add a lot more features that are missing from HowCode's tutorials (for example functions with arguments).

    • @danielmunch2219
      @danielmunch2219 Před 5 lety +3

      Okay. That's fine. I thought you did it because you didn't know what to do. But cool.

    • @CodePulse
      @CodePulse  Před 5 lety +1

      @Najmul hossain As in the minimax algorithm in game theory? It's not really the type of thing that I had planned for the channel, and there seems to be plenty of explanations out there already. But if enough people wanted it, I would definitely consider it.

    • @beautifulmind684
      @beautifulmind684 Před 4 lety

      The author @you at the final episode! @@

    • @jonathanvanderwal7265
      @jonathanvanderwal7265 Před 4 lety

      what is the commmand

  • @aleksic1234
    @aleksic1234 Před 2 lety

    i will make my own esolang now

  • @redshed3591
    @redshed3591 Před 2 lety

    0:00 Hello everyone... this is YOUR daily dose of internet

  • @DragoniteBrian
    @DragoniteBrian Před 3 lety +1

    random quesion:what does self mean and why did you use it

  • @winniepooh2533
    @winniepooh2533 Před 2 lety

    This programming language be like:
    programming error: "Traceback -> Error -> Stop Using Python and only use this programming language!!"
    user: "Oh! Ok alright let me delete Python"
    AFTER SOME TIMES --- user runs the programming language file and get's error:
    ERROR: You cannot open this python file you have deleted Python, the programming language was written in python!!
    User back in then: "What the f***"!! Why the hell did I even download this programming language!!!"
    LOL!!
    Good Video!!Like it!

  • @D0T__
    @D0T__ Před 3 lety +1

    Wow make a promgamming language!

  • @emeraldthunder
    @emeraldthunder Před 3 lety

    Amazing. Thank you.

  • @ajithkumarnair7542
    @ajithkumarnair7542 Před 3 lety +1

    Please help me, it is showing that module basic has no attribute run, if i try to use 'from basic import run' ,it shows cannot import run from basic

  • @bronzebyte5801
    @bronzebyte5801 Před 4 lety

    Dude... This is amazing! I have tests coming up but I'm creating my own coding language called Kozo! :D

    • @bronzebyte5801
      @bronzebyte5801 Před 4 lety

      I have a question. How do I import basic? I get the error - Traceback (most recent call last):
      File "main.py", line 5, in
      result, error=basic.run(text)
      NameError: name 'basic' is not defined

    • @bronzebyte5801
      @bronzebyte5801 Před 4 lety

      nvm i got it to work

    • @bronzebyte5801
      @bronzebyte5801 Před 4 lety

      and it isnt working again... pls help! i even copied the code from github but it isnt working

    • @CodePulse
      @CodePulse  Před 4 lety

      Are both files definitely in the same folder?

    • @bronzebyte5801
      @bronzebyte5801 Před 4 lety

      @@CodePulse yas they were... but i got it to work. i had renamed the file to hellothere.py.... I use repl.it so i got some help. they told me to rename it to basic.py and it magically worked lol. :D

  • @Dustymarker9489
    @Dustymarker9489 Před 7 měsíci +1

    When I put a space in between my numbers it errors how do I fix that, I looked back through the video and couldnt find anything I did wrong so please help.

    • @Dustymarker9489
      @Dustymarker9489 Před 7 měsíci

      Never midn I fixed it by adding it to the character list under Lexer and doesnt seem to have broken anything and works fine

  • @shahzaibhassan2777
    @shahzaibhassan2777 Před rokem

    For those worrying their language might be slow, Mojo is coming, No need to worry!

  • @sa-hq8jk
    @sa-hq8jk Před 2 lety +1

    2 years ago exactly, today

  • @Teog1992
    @Teog1992 Před 4 lety

    great video . I wanted to ask :
    1. Should keywords like *if* , *for* , *function* are implemented at this stage , I mean in the lexer?
    2.Do we also implement a comment elimination strategy , like we do with spaces , in this phase?

    • @CodePulse
      @CodePulse  Před 4 lety +1

      1. It's up to you, I prefer to do it in the lexer as seen in one of my later tutorials.
      2. Yes that sounds right

  • @serverapiyoutube5490
    @serverapiyoutube5490 Před 5 lety +4

    Please more

    • @CodePulse
      @CodePulse  Před 5 lety +1

      I'm half way through making the next video, so I hope to have it out by Monday.

  • @RadiantCorium
    @RadiantCorium Před 3 lety +1

    when i try to use floats, it says "Illegal Character: '.'"

    • @CodePulse
      @CodePulse  Před 3 lety +1

      You probably have a mistake in your code

    • @hotdog9259
      @hotdog9259 Před 3 lety

      Did you get it fixed? I have the same issue.

  • @minyakonga8897
    @minyakonga8897 Před 2 lety

    A lexer is responsable turn source code into tokens, these tokens are identifiers, keywords, operators, delimiters and literals.

  • @developerethan4593
    @developerethan4593 Před 3 lety +1

    Prepare for the OAK programming language people!

  • @ZgavY
    @ZgavY Před 3 lety

    zgavY will be the best! Can't wait to code in zgavY

    • @ZgavY
      @ZgavY Před 2 lety

      @FichDich InDemArsch yep. The syntax is very cringe as well..

  • @madhank93
    @madhank93 Před 3 lety

    This is so cool ...❤️

  • @CaptainAwesomeVlog
    @CaptainAwesomeVlog Před 2 lety

    I had to write a C to MIPS32 compiler in university. TBH this looks much nicer.

  • @keyl308
    @keyl308 Před rokem

    I dont really understand why you used a while loop for the lexer. A for-loop would have made it much easier, because you wouldnt need the advance()-function, cleaning up the code. Additionally it would have made the code execution much faster, which is an important factor if you write an intepreted language inside of an intepreted language

    • @jimmlmao
      @jimmlmao Před rokem

      While loops are faster than for loops