Генераторы парсеров и Ragel… Создание собственного D-парсера

Я новичок в мире компиляторов, и недавно я услышал о чем-то, называемом генератором парсера. Из того, что я (думаю) понял, генераторы парсеров принимают файл синтаксиса и выводят файл исходного кода, который может анализировать файлы с заданным синтаксисом.

Несколько вопросов:

  1. Правильно ли я понял?

  2. Если да, то является ли Ragel таким инструментом?

  3. Если да, может ли Ragel вывести анализатор D в исходный код D?

Спасибо! Воин 500 1 0 Есть ли способ отредактировать конкретную строку в этом текстовом файле? Прямо сейчас у меня есть это: #! / Usr / bin / env python import io myfile = open ('...

Допустим, у меня есть текстовый файл, содержащий:

Dan
Warrior
500
1
0

Есть ли способ отредактировать конкретную строку в этом текстовом файле? Прямо сейчас у меня есть это:

#!/usr/bin/env python
import io

myfile = open('stats.txt', 'r')
dan = myfile.readline()
print dan
print "Your name: " + dan.split('\n')[0]

try:
    myfile = open('stats.txt', 'a')
    myfile.writelines('Mage')[1]
except IOError:
        myfile.close()
finally:
        myfile.close()

Да , Я знаю, что myfile.writelines ('Mage') [1] неверен. Но вы поняли мою мысль, верно? Я пытаюсь отредактировать строку 2, заменив Воина на Мага. Но могу ли я даже сделать это?

67
задан Martin Prikryl 21 June 2019 в 06:53
поделиться