Dan Klishch
73ba6d77ab
JSSpecCompiler: Rename SpecParser.h to SpecificationParsing.h
2024-03-14 18:34:13 -06:00
Dan Klishch
211d20d389
JSSpecCompiler: Rename SpecFunction to SpecificationFunction
...
Over time, I converged on not abbreviating "specification". But this
class (and SpecParsingStep) predated the decision.
2024-03-14 18:34:13 -06:00
Dan Klishch
7ea2138b6c
JSSpecCompiler: Split Parser/SpecParser.cpp into 8 files
...
This SpecParser.cpp had an ever increasing number of lines and contained
an implementation of 8 different classes. So I figured out it's about
the time to split it.
No behavior change.
2024-03-14 18:34:13 -06:00
Dan Klishch
f7c952f842
JSSpecCompiler: Ignore notes in algorithm steps
2024-02-24 15:03:08 -07:00
Dan Klishch
4d8f74c149
JSSpecCompiler: Parse method headers
2024-02-24 15:03:08 -07:00
Dan Klishch
d1fc84c638
JSSpecCompiler: Parse accessor property headers
2024-02-24 15:03:08 -07:00
Dan Klishch
990e30f458
JSSpecCompiler: Parse enumerators in xspec mode
2024-02-24 15:03:08 -07:00
Ali Mohammad Pur
bc301b6f40
AK+LibXML+JSSpecCompiler: Move LineTrackingLexer to AK
...
This is a simple extension of GenericLexer, and is used in more than
just LibXML, so let's move it into AK.
The move also resolves a FIXME, which is removed in this commit.
2024-02-16 15:26:43 +01:00
Dan Klishch
94f5086b93
JSSpecCompiler: Remove ParseError
2024-02-08 07:05:13 -07:00
Dan Klishch
6b30c4d2f0
JSSpecCompiler: Issue meaningful errors in TextParser
2024-02-08 07:05:13 -07:00
Dan Klishch
d219c91ca9
JSSpecCompiler: Make fields in classes from SpecParser.h private
2024-02-08 07:05:13 -07:00
Dan Klishch
cb6e75e890
JSSpecCompiler: Mostly get rid of ParseError in AlgorithmStep
...
And while on it, create proper logical scopes for algorithm steps.
2024-02-08 07:05:13 -07:00
Dan Klishch
1bd1187c92
JSSpecCompiler: Push ParseError out of AlgorithmStepList
2024-02-08 07:05:13 -07:00
Dan Klishch
c7369f2f93
JSSpecCompiler: Push ParseError out of Algorithm
2024-02-08 07:05:13 -07:00
Dan Klishch
d339ad01bb
JSSpecCompiler: Push ParseError out of SpecFunction
2024-02-08 07:05:13 -07:00
Dan Klishch
14ee25b8ba
JSSpecCompiler: Make -xspec capable of parsing the whole specification
...
... in theory. In practice, we fail to parse all of the functions.
2024-01-21 14:57:10 -07:00
Dan Klishch
0806ccaeec
JSSpecCompiler: Start converting crashes to error messages
...
I got fed up with looking at error messages that tell me "VERIFICATION
FAILED: !is_error()". So this commit introduces DiagnosticEngine class
whose purpose is to accumulate and print more user-friendly errors.
2024-01-21 14:57:10 -07:00
Dan Klishch
6ed069ea8d
JSSpecCompiler: Provide an adequate command line interface
2023-10-26 15:45:31 -06:00
Dan Klishch
cd8f4aaa7d
JSSpecCompiler: Introduce Function and ExecutionContext classes
...
Currently, they are not extremely useful, but the plan is to store
all function-local state in JSSpecCompiler::Function and all
"translation unit" state in ExecutionContext.
2023-09-02 19:57:06 +02:00
Dan Klishch
db0a03d1fb
JSSpecCompiler: Add infrastructure to parse <emu-clause> into AST
2023-08-31 11:00:31 +02:00