Merge branch 'master' of git://factorcode.org/git/factor

db4
Eduardo Cavazos 2008-04-06 20:35:21 -05:00
commit 9c6a8cd159
7 changed files with 17 additions and 21 deletions

View File

@ -7,14 +7,15 @@ ARTICLE: "file-streams" "Reading and writing files"
{ $subsection <file-reader> }
{ $subsection <file-writer> }
{ $subsection <file-appender> }
"Reading and writing the entire contents of a file; this is only recommended for smaller files:"
{ $subsection file-contents }
{ $subsection set-file-contents }
{ $subsection file-lines }
{ $subsection set-file-lines }
"Utility combinators:"
{ $subsection with-file-reader }
{ $subsection with-file-writer }
{ $subsection with-file-appender }
{ $subsection set-file-contents }
{ $subsection file-contents }
{ $subsection set-file-lines }
{ $subsection file-lines } ;
{ $subsection with-file-appender } ;
ARTICLE: "pathnames" "Pathname manipulation"
"Pathname manipulation:"

View File

@ -70,6 +70,9 @@ PREDICATE: method-body < word
M: method-body stack-effect
"multi-method" word-prop method-generic stack-effect ;
M: method-body crossref?
drop t ;
: method-word-name ( classes generic -- string )
[
word-name %

View File

@ -173,7 +173,7 @@ HELP: range-pattern
"of characters separated with a dash (-) represents the "
"range of characters from the first to the second, inclusive."
{ $examples
{ $example "USING: peg peg.parsers prettyprint ;" "\"a\" \"_a-zA-Z\" range-pattern parse parse-result-ast 1string ." "\"a\"" }
{ $example "USING: peg peg.parsers prettyprint ;" "\"0\" \"^0-9\" range-pattern parse ." "f" }
{ $example "USING: peg peg.parsers prettyprint strings ;" "\"a\" \"_a-zA-Z\" range-pattern parse parse-result-ast 1string ." "\"a\"" }
{ $example "USING: peg peg.parsers prettyprint ;\n\"0\" \"^0-9\" range-pattern parse ." "f" }
}
} ;

View File

@ -1,7 +1,7 @@
! Copyright (C) 2007, 2008 Chris Double, Doug Coleman.
! See http://factorcode.org/license.txt for BSD license.
USING: kernel sequences strings namespaces math assocs shuffle
vectors arrays combinators.lib math.parser match
vectors arrays combinators.lib math.parser
unicode.categories sequences.deep peg peg.private
peg.search math.ranges words memoize ;
IN: peg.parsers

View File

@ -104,8 +104,8 @@ HELP: semantic
"Returns a parser that succeeds if the 'p1' parser succeeds and the quotation called with "
"the AST produced by 'p1' on the stack returns true." }
{ $examples
{ $example "\"A\" [ drop t ] satisfy [ 66 > ] semantic parse" "f" }
{ $example "\"C\" [ drop t ] satisfy [ 66 > ] semantic parse parse-result-ast " "67" }
{ $example "USING: kernel math peg prettyprint ;" "\"A\" [ drop t ] satisfy [ 66 > ] semantic parse ." "f" }
{ $example "USING: kernel math peg prettyprint ;" "\"C\" [ drop t ] satisfy [ 66 > ] semantic parse parse-result-ast ." "67" }
} ;
HELP: ensure

View File

@ -1,7 +1,7 @@
! Copyright (C) 2007, 2008 Chris Double.
! See http://factorcode.org/license.txt for BSD license.
USING: kernel sequences strings fry namespaces math assocs shuffle
vectors arrays combinators.lib math.parser match
vectors arrays combinators.lib math.parser
unicode.categories sequences.lib compiler.units parser
words quotations effects memoize accessors locals effects splitting ;
IN: peg
@ -241,7 +241,7 @@ GENERIC: (compile) ( parser -- quot )
: compiled-parse ( state word -- result )
swap [ execute ] with-packrat ; inline
: parse ( state parser -- result )
: parse ( input parser -- result )
dup word? [ compile ] unless compiled-parse ;
<PRIVATE
@ -265,8 +265,6 @@ SYMBOL: id
TUPLE: token-parser symbol ;
MATCH-VARS: ?token ;
: parse-token ( input string -- result )
#! Parse the string, returning a parse result
dup >r ?head-slice [
@ -388,9 +386,6 @@ M: optional-parser (compile) ( parser -- quot )
p1>> compiled-parser 1quotation '[ @ check-optional ] ;
TUPLE: semantic-parser p1 quot ;
MATCH-VARS: ?quot ;
MATCH-VARS: ?parser ;
: check-semantic ( result quot -- result )
over [
@ -421,8 +416,6 @@ M: ensure-not-parser (compile) ( parser -- quot )
TUPLE: action-parser p1 quot ;
MATCH-VARS: ?action ;
: check-action ( result quot -- result )
over [
over ast>> swap call >>ast

View File

@ -26,8 +26,7 @@ M: pair make-disassemble-cmd
M: method-spec make-disassemble-cmd
first2 method make-disassemble-cmd ;
: gdb-binary ( -- string )
os freebsd? "gdb66" "gdb" ? ;
: gdb-binary ( -- string ) "gdb" ;
: run-gdb ( -- lines )
<process>