File: parser.rake

package info (click to toggle)
jruby 9.3.9.0%2Bds-8
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 80,856 kB
  • sloc: ruby: 517,823; java: 260,094; xml: 31,930; ansic: 5,777; yacc: 4,973; sh: 1,163; makefile: 105; jsp: 48; tcl: 40; exp: 11
file content (21 lines) | stat: -rw-r--r-- 617 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
def jflex(file)
  sh "#{JFLEX_BIN} #{file}"
end

def jay(name='JavaSignatureParser', skeleton='signature_skeleton.parser')
  sh "#{JAY_BIN} #{PARSER_DIR}/#{name}.y  < #{PARSER_DIR}/#{skeleton} | grep -v ^//t > #{PARSER_DIR}/#{name}.java"
end


namespace :parse do
  desc "Generate Java Signature Parsing Grammer"
  task :generate_java_signature_parser do
    jflex 'core/src/main/java/org/jruby/lexer/JavaSignatureLexer.flex'
    jay 'JavaSignatureParser', 'signature_skeleton.parser'
  end

  task :generate_ir_lexer do
    jflex 'core/src/main/java/org/jruby/ir/persistence/read/lexer/persisted_ir.flex'
  end

end