Skip to content

Немного разбираюсь в том как написать свой лексер

Notifications You must be signed in to change notification settings

big-trash-heap/psevdo-lan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Попытка (ради практики) написать свой лексер

  1. Разбиваем текст на токены получая дерево
  2. Генерируем JS код на основе полученного дерева

Исходный код

fun sum(a, b) {
  return a + b
}

// This is main program

fun main() {
  let x = 5
  let s = sum(
    // first argument
    3 *
    3 * 2,
    // second argument
    1 + x / 2.5,
  )

  x = 77

  print("Hello" + " " + "world!", 1 + 2 - x, s + x)
}

Результирующий код

function sum(a, b) {
  return a + b;
}
function main() {
  let x = 5;
  let s = sum(3 * 3 * 2, 1 + x / 2.5);
  x = 77;
  console.log("Hello" + " " + "world!", 1 + 2 - x, s + x);
}
main();

About

Немного разбираюсь в том как написать свой лексер

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published