Language - 演算法筆記
https://web.ntnu.edu.tw/~algo/
https://web.ntnu.edu.tw/~algo/Language.html
https://sourcemaking.com/design_patterns/interpreter/delphi
https://docs.python.org/zh-tw/3.7/library/language.htmlhttps://docs.python.org/3.7/library/parser.html
Python 语言服务
Python 提供了许多模块来帮助使用 Python 语言。 这些模块支持标记化、解析、语法分析、字节码反汇编以及各种其他工具。
JavaCC Interpreter (AST to Symbol Table)
https://ruslanspivak.com/lsbasi-part1/
AST interpreter Backus–Naur Form syntax tree
Introduction to AST manipulation in ROSE
Abstract Syntax Trees
https://ix.cs.uoregon.edu/~norris/pat/index.cgi?n=Main.ROSEIntro
Presentation on theme: "Programming Languages 2nd edition Tucker and Noonan"— Presentation transcript:
https://slideplayer.com/slide/5039873/
https://staff.csie.ncu.edu.tw/chia/Course/Compiler/lexparse2.html
Catalog of Compiler Construction Tools
Lexer and Parser Generators Compiler Construction Kits
https://www.sigmdel.ca/michel/program/delphi/parser/parser1_en.html
Part 1 of Parsing and Evaluating Mathematical Expressions
building parsers using Pascal or Delphi JEDI Code Library (JCL)’s unit JclExprEval.pas, Renate Schaaf’s TExpress TParser Renate Schaaf, Alin Flaider and Stefan Hoffmeister or symbolic.pas by Marco van de Voort.
parsing code scanner interpreter sequence terms separated
Behavioral.State.Pattern (Delphi Sample) Intent Allow an object to alter its behavior when its internal state changes. The object will appear to change its class. An object-oriented state machine wrapper + polymorphic wrappee + collaboration
character table parsing integer digit number Integer floating-point types Data Types
https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node189.html
使用巴科斯範式(BNF/EBNF)定義語言 https://hackmd.io/@ShenTengTu/HJzCM3aDr
The Asf+Sdf Meta-Environment: A Component-Based Language Development Environment
https://www.sciencedirect.com/science/article/pii/S1571066104809174?via%3Dihub
https://eelcovisser.org/research/#ASF+SDF
https://www2.cs.sfu.ca/~cameron/Teaching/384/99-3/regexp-plg.html
https://github.com/cheminfo/sdf-parser
Backus Naur Form Regex BNF Grammar Regular Expressions
https://medium.com/@chetcorcos/introduction-to-parsers-644d1b5d7f3d
https://github.com/eatkins/tree-sitter-ebnf-generator
Concret Syntax Tree (CST) Abstract Syntax Tree (AST) CST exact parsed tree representation
https://en.wikipedia.org/wiki/Context-free_grammar
https://pyfound.blogspot.com/2020/04/replacing-cpythons-parser-python.html
tree sitter algorithm Tree-sitter is a parser generator tool and an incremental parsing library. It can build a concrete syntax tree for a source file and efficiently update the syntax tree as the source file is edited.
https://tree-sitter.github.io/tree-sitter/
https://rustrepo.com/repo/tree-sitter-tree-sitter
https://archive.casouri.cat/note/2021/emacs-tree-sitter/index.html
https://lists.gnu.org/archive/html/emacs-devel/2022-01/msg00410.html
https://docs.revenera.com/fne/2021_09/adminguide/content/helplibrary/Model_Definition_Grammar_and_Syntax_EBNF.htm
https://en.wikipedia.org/wiki/Category:Parsing_algorithms
Parsing algorithms
Top-down LL Recursive descent https://en.wikipedia.org/wiki/LL_parser
Tail recursive Pratt parser
Bottom-up
Precedence
Simple Operator
Shunting-yard Bounded-context LR https://en.wikipedia.org/wiki/LR_parser
Simple Look-ahead Canonical Generalized CYK Recursive ascent Shift-reduce
Mixed, other
Combinator Chart Earley https://en.wikipedia.org/wiki/Earley_parser
Related topics
PEG Definite clause grammar Deterministic parsing Dynamic programming Memoization Parser generator
LALR Parse tree AST Scannerless parsing History of compiler construction Comparison of parser generators
https://en.wikipedia.org/wiki/GLR_parser
https://en.wikipedia.org/wiki/Category:Parsing_algorithms
https://en.wikipedia.org/wiki/LALR_parser
https://en.wikipedia.org/wiki/Earley_parser
Context-Free parsers GLL Syntax LALR Left corner parser LL LR GLR
深入淺出教你寫編譯器(Compiler) https://jaceju.net/simple-compiler/
a compiler is a program that can read a program in one language - the source language - and translate it into an equivalent program in another language - the target language
Finite-state machine Scanner Semantic analysis
https://hackmd.io/@ComputerScienceNote/BJLyuNi6D