home.social

#parser — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #parser, aggregated by home.social.

  1. It was a cold and rainy day today so I decided to rework the parser of my text adventure game skeleton.

    So now you can enter a simple sentence as can be seen in the screenshot which is better than the two-word approach I initially implemented (still not Infocom like but then that's not what I am after).

    What happens in the background is that the user input is split into sub-strings which are then checked against a list of strings (e.g. object names, verbs), leaving their corresponding list index number on the stack. These numbers are then used within the actual game logic.

    Oh, and I've added some colors - now the thing is beginning to look like a game ...

    #textadventure
    #game
    #parser
    #retrocoding
    #durexforth
    #forth

  2. It was a cold and rainy day today so I decided to rework the parser of my text adventure game skeleton.

    So now you can enter a simple sentence as can be seen in the screenshots which is better than the two-word approach I initially implemented (still not Infocom like but then that's not what I am after).

    What happens in the background is that the user input is split into sub-strings which are then checked against a list of strings (e.g. object names, verbs), leaving their corresponding list index number on the stack. These numbers are then used within the actual game logic.

    Oh, and I've added some colors - now the thing is beginning to look like a game ...

    #textadventure
    #game
    #parser
    #retrocoding
    #durexforth
    #forth

  3. It was a cold and rainy day today so I decided to rework the parser of my text adventure game skeleton.

    So now you can enter a simple sentence as can be seen in the screenshots which is better than the two-word approach I initially implemented (still not Infocom like but then that's not what I am after).

    What happens in the background is that the user input is split into sub-strings which are then checked against a list of strings (e.g. object names, verbs), leaving their corresponding list index number on the stack. These numbers are then used within the actual game logic.

    Oh, and I've added some colors - now the thing is beginning to look like a game ...

    #textadventure
    #game
    #parser
    #retrocoding
    #durexforth
    #forth

  4. It was a cold and rainy day today so I decided to rework the parser of my text adventure game skeleton.

    So now you can enter a simple sentence as can be seen in the screenshots which is better than the two-word approach I initially implemented (still not Infocom like but then that's not what I am after).

    What happens in the background is that the user input is split into sub-strings which are then checked against a list of strings (e.g. object names, verbs), leaving their corresponding list index number on the stack. These numbers are then used within the actual game logic.

    Oh, and I've added some colors - now the thing is beginning to look like a game ...

    #textadventure
    #game
    #parser
    #retrocoding
    #durexforth
    #forth

  5. It was a cold and rainy day today so I decided to rework the parser of my text adventure game skeleton.

    So now you can enter a simple sentence as can be seen in the screenshots which is better than the two-word approach I initially implemented (still not Infocom like but then that's not what I am after).

    What happens in the background is that the user input is split into sub-strings which are then checked against a list of strings (e.g. object names, verbs), leaving their corresponding list index number on the stack. These numbers are then used within the actual game logic.

    Oh, and I've added some colors - now the thing is beginning to look like a game ...

    #textadventure
    #game
    #parser
    #retrocoding
    #durexforth
    #forth

  6. Had a day off today and used the free time to implement "take", ""drop" and "inv" (inventory) for that #text #adventure #game skeleton I'm occasionally tinkering with.

    On the #Commodore64 I use #durexforth, but the same code also works on the #MyNorMy4th and with #gforth and I plan to get it to work on the #Minstrel4d as well.

    I still use just a two-word #parser at the moment but I'm already looking into ways of expanding that (will not be as great as Infocom but better than it is now).

    #forth
    #retrocoding

  7. Had a day off today and used the free time to implement "take", ""drop" and "inv" (inventory) for that #text #adventure #game skeleton I'm occasionally tinkering with.

    On the #Commodore64 I use #durexforth, but the same code also works on the #MyNorMy4th and with #gforth and I plan to get it to work on the #Minstrel4d as well.

    I still use just a two-word #parser at the moment but I'm already looking into ways of expanding that (will not be as great as Infocom but better than it is now).

    #forth
    #retrocoding

  8. Had a day off today and used the free time to implement "take", ""drop" and "inv" (inventory) for that #text #adventure #game skeleton I'm occasionally tinkering with.

    On the #Commodore64 I use #durexforth, but the same code also works on the #MyNorMy4th and with #gforth and I plan to get it to work on the #Minstrel4d as well.

    I still use just a two-word #parser at the moment but I'm already looking into ways of expanding that (will not be as great as Infocom but better than it is now).

    #forth
    #retrocoding

  9. Had a day off today and used the free time to implement "take", ""drop" and "inv" (inventory) for that #text #adventure #game skeleton I'm occasionally tinkering with.

    On the #Commodore64 I use #durexforth, but the same code also works on the #MyNorMy4th and with #gforth and I plan to get it to work on the #Minstrel4d as well.

    I still use just a two-word #parser at the moment but I'm already looking into ways of expanding that (will not be as great as Infocom but better than it is now).

    #forth
    #retrocoding

  10. Had a day off today and used the free time to implement "take", ""drop" and "inv" (inventory) for that #text #adventure #game skeleton I'm occasionally tinkering with.

    On the #Commodore64 I use #durexforth, but the same code also works on the #MyNorMy4th and with #gforth and I plan to get it to work on the #Minstrel4d as well.

    I still use just a two-word #parser at the moment but I'm already looking into ways of expanding that (will not be as great as Infocom but better than it is now).

    #forth
    #retrocoding

  11. От регулярок к ANTLR4: три архитектурных решения на парсере бизнес-формул

    Три года назад я писал свой первый коммерческий парсер на ANTLR4 — для бизнес-формул аналитической системы. Несколько лет спустя я бы сделал его иначе в трёх центральных местах. Разбираю каждое: левая рекурсия для приоритета операторов, Listener vs Visitor, и почему getText() для повторного парсинга — антипаттерн.

    habr.com/ru/articles/1027742/

    #antlr #antlr4 #парсер #parser #грамматика #dsl #java #spring_boot #compiler #code_generation

  12. От регулярок к ANTLR4: три архитектурных решения на парсере бизнес-формул

    Три года назад я писал свой первый коммерческий парсер на ANTLR4 — для бизнес-формул аналитической системы. Несколько лет спустя я бы сделал его иначе в трёх центральных местах. Разбираю каждое: левая рекурсия для приоритета операторов, Listener vs Visitor, и почему getText() для повторного парсинга — антипаттерн.

    habr.com/ru/articles/1027742/

    #antlr #antlr4 #парсер #parser #грамматика #dsl #java #spring_boot #compiler #code_generation

  13. От регулярок к ANTLR4: три архитектурных решения на парсере бизнес-формул

    Три года назад я писал свой первый коммерческий парсер на ANTLR4 — для бизнес-формул аналитической системы. Несколько лет спустя я бы сделал его иначе в трёх центральных местах. Разбираю каждое: левая рекурсия для приоритета операторов, Listener vs Visitor, и почему getText() для повторного парсинга — антипаттерн.

    habr.com/ru/articles/1027742/

    #antlr #antlr4 #парсер #parser #грамматика #dsl #java #spring_boot #compiler #code_generation

  14. От регулярок к ANTLR4: три архитектурных решения на парсере бизнес-формул

    Три года назад я писал свой первый коммерческий парсер на ANTLR4 — для бизнес-формул аналитической системы. Несколько лет спустя я бы сделал его иначе в трёх центральных местах. Разбираю каждое: левая рекурсия для приоритета операторов, Listener vs Visitor, и почему getText() для повторного парсинга — антипаттерн.

    habr.com/ru/articles/1027742/

    #antlr #antlr4 #парсер #parser #грамматика #dsl #java #spring_boot #compiler #code_generation

  15. Мотивация, оптимизация, коробочка, жабочка и «налог на усталость»

    Я не программист. Я архитектор, проектирую дома, а полгода назад не знала, где живут скрипты и питоны. Но когда важный для меня чат в Telegram собрались удалять, я попросила нейросеть написать парсер – и пропала. С тех пор прошло полгода. Я всё ещё доделываю приложение. У него есть имя – Розитта, розовая робожаба на иконке. И оно пожирает мои ночи, деньги на такси и остатки семейного спокойствия. Это не история успеха за 4 дня. Это история о том, как взрослый человек с семьёй, работой и падающим забором ушёл в вайбкодинговый запой – и что из этого вышло. Все совпадения с реальными нейросетями не случайны, а промпты – настоящие. Заглянуть в цифровое болото

    habr.com/ru/articles/1022674/

    #telethon #parser #deepseek #околоайтишник #telegram #вайбкодинг

  16. Мотивация, оптимизация, коробочка, жабочка и «налог на усталость»

    Я не программист. Я архитектор, проектирую дома, а полгода назад не знала, где живут скрипты и питоны. Но когда важный для меня чат в Telegram собрались удалять, я попросила нейросеть написать парсер – и пропала. С тех пор прошло полгода. Я всё ещё доделываю приложение. У него есть имя – Розитта, розовая робожаба на иконке. И оно пожирает мои ночи, деньги на такси и остатки семейного спокойствия. Это не история успеха за 4 дня. Это история о том, как взрослый человек с семьёй, работой и падающим забором ушёл в вайбкодинговый запой – и что из этого вышло. Все совпадения с реальными нейросетями не случайны, а промпты – настоящие. Заглянуть в цифровое болото

    habr.com/ru/articles/1022674/

    #telethon #parser #deepseek #околоайтишник #telegram #вайбкодинг

  17. Мотивация, оптимизация, коробочка, жабочка и «налог на усталость»

    Я не программист. Я архитектор, проектирую дома, а полгода назад не знала, где живут скрипты и питоны. Но когда важный для меня чат в Telegram собрались удалять, я попросила нейросеть написать парсер – и пропала. С тех пор прошло полгода. Я всё ещё доделываю приложение. У него есть имя – Розитта, розовая робожаба на иконке. И оно пожирает мои ночи, деньги на такси и остатки семейного спокойствия. Это не история успеха за 4 дня. Это история о том, как взрослый человек с семьёй, работой и падающим забором ушёл в вайбкодинговый запой – и что из этого вышло. Все совпадения с реальными нейросетями не случайны, а промпты – настоящие. Заглянуть в цифровое болото

    habr.com/ru/articles/1022674/

    #telethon #parser #deepseek #околоайтишник #telegram #вайбкодинг

  18. Мотивация, оптимизация, коробочка, жабочка и «налог на усталость»

    Я не программист. Я архитектор, проектирую дома, а полгода назад не знала, где живут скрипты и питоны. Но когда важный для меня чат в Telegram собрались удалять, я попросила нейросеть написать парсер – и пропала. С тех пор прошло полгода. Я всё ещё доделываю приложение. У него есть имя – Розитта, розовая робожаба на иконке. И оно пожирает мои ночи, деньги на такси и остатки семейного спокойствия. Это не история успеха за 4 дня. Это история о том, как взрослый человек с семьёй, работой и падающим забором ушёл в вайбкодинговый запой – и что из этого вышло. Все совпадения с реальными нейросетями не случайны, а промпты – настоящие. Заглянуть в цифровое болото

    habr.com/ru/articles/1022674/

    #telethon #parser #deepseek #околоайтишник #telegram #вайбкодинг

  19. This week on the blog: the latest release of my Ophis assembler hit an ugly corner of 6502 assembly language syntax (Z80 has it too, x86 and m68k don't), and that turns out to be a good excuse to drop a couple of thousand words on parsing theory.

    Also, the Bison parser generator is cooler than it was the last time I looked at it.

    bumbershootsoft.wordpress.com/

    #6502asm #parser #assembly

  20. This week on the blog: the latest release of my Ophis assembler hit an ugly corner of 6502 assembly language syntax (Z80 has it too, x86 and m68k don't), and that turns out to be a good excuse to drop a couple of thousand words on parsing theory.

    Also, the Bison parser generator is cooler than it was the last time I looked at it.

    bumbershootsoft.wordpress.com/

    #6502asm #parser #assembly

  21. This week on the blog: the latest release of my Ophis assembler hit an ugly corner of 6502 assembly language syntax (Z80 has it too, x86 and m68k don't), and that turns out to be a good excuse to drop a couple of thousand words on parsing theory.

    Also, the Bison parser generator is cooler than it was the last time I looked at it.

    bumbershootsoft.wordpress.com/

    #6502asm #parser #assembly

  22. This week on the blog: the latest release of my Ophis assembler hit an ugly corner of 6502 assembly language syntax (Z80 has it too, x86 and m68k don't), and that turns out to be a good excuse to drop a couple of thousand words on parsing theory.

    Also, the Bison parser generator is cooler than it was the last time I looked at it.

    bumbershootsoft.wordpress.com/

    #6502asm #parser #assembly

  23. This week on the blog: the latest release of my Ophis assembler hit an ugly corner of 6502 assembly language syntax (Z80 has it too, x86 and m68k don't), and that turns out to be a good excuse to drop a couple of thousand words on parsing theory.

    Also, the Bison parser generator is cooler than it was the last time I looked at it.

    bumbershootsoft.wordpress.com/

    #6502asm #parser #assembly

  24. chibicc-dumper makes public.
    A JSON dumper tool derived from chibicc that can output C language tokens and ASTs.

    This is a small tool that extracts token sequences and ASTs from C source code and outputs them as JSON.
    With this tool, generating bridge code—such as FFI—from C source code becomes easier than before.

    github.com/kekyo/chibicc-dumpe

    #chibicc #tokenizer #parser #ast #typescript

  25. BuxarParser — простой парсер поисковиков Google, Яндекса и DuckDuckGo на Python

    Здравствуйте, товарищи! Сразу скажу: скрипт, которым делюсь, рассчитан в первую очередь на новичков (которых тут тьма). Старожилы, прошу не пинать сильно.

    habr.com/ru/articles/1009642/

    #parser #BuxarParser #python #Google #Яндекса #DuckDuckGo

  26. BuxarParser — простой парсер поисковиков Google, Яндекса и DuckDuckGo на Python

    Здравствуйте, товарищи! Сразу скажу: скрипт, которым делюсь, рассчитан в первую очередь на новичков (которых тут тьма). Старожилы, прошу не пинать сильно.

    habr.com/ru/articles/1009642/

    #parser #BuxarParser #python #Google #Яндекса #DuckDuckGo

  27. BuxarParser — простой парсер поисковиков Google, Яндекса и DuckDuckGo на Python

    Здравствуйте, товарищи! Сразу скажу: скрипт, которым делюсь, рассчитан в первую очередь на новичков (которых тут тьма). Старожилы, прошу не пинать сильно.

    habr.com/ru/articles/1009642/

    #parser #BuxarParser #python #Google #Яндекса #DuckDuckGo

  28. BuxarParser — простой парсер поисковиков Google, Яндекса и DuckDuckGo на Python

    Здравствуйте, товарищи! Сразу скажу: скрипт, которым делюсь, рассчитан в первую очередь на новичков (которых тут тьма). Старожилы, прошу не пинать сильно.

    habr.com/ru/articles/1009642/

    #parser #BuxarParser #python #Google #Яндекса #DuckDuckGo

  29. An update to my html-parse library - a new handler to the existing #Unisonlang ability to parses Html text into Markdown. Check the blog post for details. #parser #markdown

    notes.kaushikc.org/3mf6xazbcj2

  30. First building block towards creating an RSS reader on AT protocol - Unison HTML parser

    #html #unisonlang #parser

    notes.kaushikc.org/3mdxmxpjkg2

  31. Initially, I was just fooling around, creating code snippets to see how it all may fit together. Quick, dirty hacks you know.

    But somehow things got more and more refined and today I was able to test my little two-word #textadventure #game #parser by walking between two rooms.

    Written using #gforth but also works with #dxforth on #cpm80

    #forth
    #retroprogramming

  32. Initially, I was just fooling around, creating code snippets to see how it all may fit together. Quick, dirty hacks you know.

    But somehow things got more and more refined and today I was able to test my little two-word #textadventure #game #parser by walking between two rooms.

    Written using #gforth but also works with #dxforth on #cpm80

    #forth
    #retroprogramming

  33. Initially, I was just fooling around, creating code snippets to see how it all may fit together. Quick, dirty hacks you know.

    But somehow things got more and more refined and today I was able to test my little two-word #textadventure #game #parser by walking between two rooms.

    Written using #gforth but also works with #dxforth on #cpm80

    #forth
    #retroprogramming

  34. Initially, I was just fooling around, creating code snippets to see how it all may fit together. Quick, dirty hacks you know.

    But somehow things got more and more refined and today I was able to test my little two-word #textadventure #game #parser by walking between two rooms.

    Written using #gforth but also works with #dxforth on #cpm80

    #forth
    #retroprogramming

  35. Initially, I was just fooling around, creating code snippets to see how it all may fit together. Quick, dirty hacks you know.

    But somehow things got more and more refined and today I was able to test my little two-word #textadventure #game #parser by walking between two rooms.

    Written using #gforth but also works with #dxforth on #cpm80

    #forth
    #retroprogramming

  36. Damn. My PLY lexer doesn't recognize hexadecimal numbers, it recognizes them as decimal(0) and symbol(x1).

    edit: oh, it's a matter of definition order.

    #parser #lexer

  37. Today I "learned" (???).

    Apparently I need parser.restart for PLY for my use case instead of errok

    git.uvok.de/fpga-exper/commit/

    Otherwise, when fed this invalid file
    git.uvok.de/fpga-exper/tree/na
    the parser gets stuck in some state, not expecting newlines, and continuing to generate errors. huh

    #parser #programming

  38. Does anyone have any info on #iBisPaint / #iBisPaintX s proprietary *.ipv transferformat ?
    ( https://alcea-wisteria.de/z_files/files/testipv.ipv )

    Their drawing app writes this file each action you takes, can replay the whole artwork(even recover from systemcrashes)

    Its insanely robust and its beginning and end contain device #metadata and art name info

    But .. How can we parse the actual info ?
    * #brush used
    * paste action
    * line drawn
    etc
    ..

    I'm at a loss
    #AskFedi #ReverseEngineering #parser
    #Ghidra
    #repost •acws #acws
  39. Talking to the duck:
    Why am I worrying about stream vs memory input? My paged stream class handles that while tracking only a couple of extra variables and a function call on page boundaries. The only performance hit is having to reposition the stream and read the text into memory for processing a terminal node - still more or less trivial if done right. I need to stop thinking as if its the 80s and every clock cycle counts...

    #coding #parser #compilers

  40. Back to some code exercises. Technically, you could write a #textadventure game in #Forth using the dictionary and the command prompt. I've seen at least one code snippet following such an approach.

    However, I want a "classic" #parser (e.g. TAKE SWORD) and make sure it keeps the user "fenced" inside the game engine.

    This means I need arrays of strings to provide lists of words the parser can check the user input against.

    So here is some basic research on how to accomplish this in #gforth (also works with #dxforth)

  41. Back to some code exercises. Technically, you could write a #textadventure game in #Forth using the dictionary and the command prompt. I've seen at least one code snippet following such an approach.

    However, I want a "classic" #parser (e.g. TAKE SWORD) and make sure it keeps the user "fenced" inside the game engine.

    This means I need arrays of strings to provide lists of words the parser can check the user input against.

    So here is some basic research on how to accomplish this in #gforth (also works with #dxforth)

  42. Back to some code exercises. Technically, you could write a #textadventure game in #Forth using the dictionary and the command prompt. I've seen at least one code snippet following such an approach.

    However, I want a "classic" #parser (e.g. TAKE SWORD) and make sure it keeps the user "fenced" inside the game engine.

    This means I need arrays of strings to provide lists of words the parser can check the user input against.

    So here is some basic research on how to accomplish this in #gforth (also works with #dxforth)