hallgren
0feb386691
Faster regular expression pattern matching in the grammar compiler.
...
The sequence operator (x+y) was implemented by splitting the string to be
matched at all positions and trying to match the parts against the two
subpatterns. To reduce the number of splits, we now estimate the minimum and
maximum length of the string that the subpatterns could match. For common
cases, where one of the subpatterns is a string of known length, like
in (x+"y") or (x + ("a"|"o"|"u"|"e")+"y"), only one split will be tried.
2013-02-27 20:59:43 +00:00
hallgren
b2965730f1
GF.Grammar.Macros: add function collectPattOp
...
collectPattOp :: (Patt -> [a]) -> Patt -> [a]
2012-10-25 16:12:21 +00:00
hallgren
619c341ee9
GF.Grammar.Macros: add function composPattOp
...
For Patt, analogous to composOp for Term.
2012-10-24 22:40:18 +00:00
hallgren
b094274c0e
Report many type errors instead of stopping after the first one
...
In GF.Compile.CheckGrammar, use a new topological sorting function that
groups independent judgements, allowing them all to be checked before
continuing or reporting errors.
2012-06-26 14:46:18 +00:00
kr.angelov
416d231c5e
Now PMCFG is compiled per module and at the end we only link it. The new compilation schema is few times faster.
2011-11-10 14:09:41 +00:00
kr.angelov
734c66710e
merge GF.Infra.Modules and GF.Grammar.Grammar. This is a preparation for the separate PGF building
2011-11-02 13:57:11 +00:00
kr.angelov
5fe49ed9f7
Now the compiler maintains more precise information for the source locations of the different definitions. There is a --tags option which generates a list of all identifiers with their source locations.
2011-11-02 11:44:59 +00:00
hallgren
e5accc0d8d
Some experiments with PSeq (left commented out)
2011-10-20 14:25:31 +00:00
hallgren
8098f79941
GF.Grammar.Macros: simplify composOp and composSafeOp
2011-09-07 17:11:52 +00:00
hallgren
bfe4b0b2a4
GF.Grammar.*: generalized the type of some functions that can not fail from the Err monad to arbitrary monads
2011-09-01 16:35:53 +00:00
aarne
f8c4903285
overloaded opers included in sorting of judgements
2011-03-03 15:10:31 +00:00
aarne
0dfbc9b730
the command show_operations to inspect opers in scope
2011-02-28 13:31:04 +00:00
krasimir
115b4213d5
operations in the abstract syntax
2010-11-12 19:37:19 +00:00
krasimir
992a7ffb38
Yay!! Direct generation of PMCFG from GF grammar
2010-06-18 12:55:58 +00:00
krasimir
c3f4c3eba7
refactoring in GF.Grammar.Grammar
2010-05-28 14:15:15 +00:00
krasimir
f9f2491fcc
composOp should iterate under ImplArg
2010-05-28 12:19:04 +00:00
krasimir
bf74f50733
store and propagate the exact source location for all judgements in the grammar. It may not be used accurately in the error messages yet
2010-03-22 21:15:29 +00:00
krasimir
19b17dceb6
no need to keep the list of constructors per category in .gfo
2010-02-16 09:34:02 +00:00
krasimir
f85232947e
reorganize the directories under src, and rescue the JavaScript interpreter from deprecated
2009-12-13 18:50:29 +00:00